h.smali
.class public Lcom/subgraph/orchid/directory/h;
.super Ljava/lang/Object;
.source "DocumentFieldParserImpl.java"
# interfaces
.implements Lcom/subgraph/orchid/directory/a/b;
# static fields
.field private static final logger:Ljava/util/logging/Logger;
# instance fields
.field private final bHL:Ljava/nio/ByteBuffer;
.field private final bHM:Ljava/text/SimpleDateFormat;
.field private bHN:Ljava/lang/String;
.field private bHO:Ljava/lang/String;
.field private bHP:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List",
"<",
"Ljava/lang/String;",
">;"
}
.end annotation
.end field
.field private bHQ:I
.field private bHR:Z
.field private bHS:Ljava/lang/String;
.field private bHT:Z
.field private bHU:Lcom/subgraph/orchid/crypto/m;
.field private bHV:Lcom/subgraph/orchid/crypto/m;
.field private bHW:Ljava/lang/StringBuilder;
.field private bHX:Lcom/subgraph/orchid/directory/a/f;
# direct methods
.method static constructor <clinit>()V
.registers 1
.prologue
.line 28
const-class v0, Lcom/subgraph/orchid/directory/h;
invoke-virtual {v0}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Ljava/util/logging/Logger;->getLogger(Ljava/lang/String;)Ljava/util/logging/Logger;
move-result-object v0
sput-object v0, Lcom/subgraph/orchid/directory/h;->logger:Ljava/util/logging/Logger;
return-void
.end method
.method public constructor <init>(Ljava/nio/ByteBuffer;)V
.registers 5
.prologue
const/4 v2, 0x0
.line 49
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 35
const-string v0, " "
iput-object v0, p0, Lcom/subgraph/orchid/directory/h;->bHN:Ljava/lang/String;
.line 42
iput-boolean v2, p0, Lcom/subgraph/orchid/directory/h;->bHT:Z
.line 50
invoke-virtual {p1}, Ljava/nio/ByteBuffer;->rewind()Ljava/nio/Buffer;
.line 51
iput-object p1, p0, Lcom/subgraph/orchid/directory/h;->bHL:Ljava/nio/ByteBuffer;
.line 52
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
iput-object v0, p0, Lcom/subgraph/orchid/directory/h;->bHW:Ljava/lang/StringBuilder;
.line 1057
new-instance v0, Ljava/text/SimpleDateFormat;
const-string v1, "yyyy-MM-dd HH:mm:ss"
invoke-direct {v0, v1}, Ljava/text/SimpleDateFormat;-><init>(Ljava/lang/String;)V
.line 1058
const-string v1, "GMT"
invoke-static {v1}, Ljava/util/TimeZone;->getTimeZone(Ljava/lang/String;)Ljava/util/TimeZone;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/text/SimpleDateFormat;->setTimeZone(Ljava/util/TimeZone;)V
.line 1059
invoke-virtual {v0, v2}, Ljava/text/SimpleDateFormat;->setLenient(Z)V
.line 53
iput-object v0, p0, Lcom/subgraph/orchid/directory/h;->bHM:Ljava/text/SimpleDateFormat;
.line 54
return-void
.end method
.method private MM()Ljava/lang/String;
.registers 4
.prologue
.line 88
iget v0, p0, Lcom/subgraph/orchid/directory/h;->bHQ:I
iget-object v1, p0, Lcom/subgraph/orchid/directory/h;->bHP:Ljava/util/List;
invoke-interface {v1}, Ljava/util/List;->size()I
move-result v1
if-lt v0, v1, :cond_12
.line 89
new-instance v0, Lcom/subgraph/orchid/TorParsingException;
const-string v1, "Overrun while reading arguments"
invoke-direct {v0, v1}, Lcom/subgraph/orchid/TorParsingException;-><init>(Ljava/lang/String;)V
throw v0
.line 90
:cond_12
iget-object v0, p0, Lcom/subgraph/orchid/directory/h;->bHP:Ljava/util/List;
iget v1, p0, Lcom/subgraph/orchid/directory/h;->bHQ:I
add-int/lit8 v2, v1, 0x1
iput v2, p0, Lcom/subgraph/orchid/directory/h;->bHQ:I
invoke-interface {v0, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/String;
return-object v0
.end method
.method private readLine()Ljava/lang/String;
.registers 6
.prologue
const/16 v4, 0xa
.line 358
.line 9367
iget-object v0, p0, Lcom/subgraph/orchid/directory/h;->bHL:Ljava/nio/ByteBuffer;
invoke-virtual {v0}, Ljava/nio/ByteBuffer;->hasRemaining()Z
move-result v0
if-nez v0, :cond_58
.line 9368
const/4 v0, 0x0
.line 359
:goto_b
if-eqz v0, :cond_57
.line 9383
iget-boolean v1, p0, Lcom/subgraph/orchid/directory/h;->bHT:Z
if-eqz v1, :cond_4d
.line 9385
iget-object v1, p0, Lcom/subgraph/orchid/directory/h;->bHS:Ljava/lang/String;
if-eqz v1, :cond_1d
iget-object v1, p0, Lcom/subgraph/orchid/directory/h;->bHS:Ljava/lang/String;
invoke-virtual {v0, v1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v1
if-nez v1, :cond_4d
.line 9387
:cond_1d
iget-object v1, p0, Lcom/subgraph/orchid/directory/h;->bHU:Lcom/subgraph/orchid/crypto/m;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
const-string v3, "\n"
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Lcom/subgraph/orchid/crypto/m;->gJ(Ljava/lang/String;)V
.line 9388
iget-object v1, p0, Lcom/subgraph/orchid/directory/h;->bHV:Lcom/subgraph/orchid/crypto/m;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
const-string v3, "\n"
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Lcom/subgraph/orchid/crypto/m;->gJ(Ljava/lang/String;)V
.line 10335
:cond_4d
iget-object v1, p0, Lcom/subgraph/orchid/directory/h;->bHW:Ljava/lang/StringBuilder;
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 10336
iget-object v1, p0, Lcom/subgraph/orchid/directory/h;->bHW:Ljava/lang/StringBuilder;
invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 363
:cond_57
return-object v0
.line 9370
:cond_58
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
.line 9371
:cond_5d
:goto_5d
iget-object v1, p0, Lcom/subgraph/orchid/directory/h;->bHL:Ljava/nio/ByteBuffer;
invoke-virtual {v1}, Ljava/nio/ByteBuffer;->hasRemaining()Z
move-result v1
if-eqz v1, :cond_78
.line 9372
iget-object v1, p0, Lcom/subgraph/orchid/directory/h;->bHL:Ljava/nio/ByteBuffer;
invoke-virtual {v1}, Ljava/nio/ByteBuffer;->get()B
move-result v1
and-int/lit16 v1, v1, 0xff
int-to-char v1, v1
.line 9373
if-eq v1, v4, :cond_78
.line 9375
const/16 v2, 0xd
if-eq v1, v2, :cond_5d
.line 9376
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
goto :goto_5d
.line 9379
:cond_78
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
goto :goto_b
.end method
# virtual methods
.method public final MI()Ljava/lang/String;
.registers 2
.prologue
.line 65
invoke-direct {p0}, Lcom/subgraph/orchid/directory/h;->MM()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public final MJ()Ljava/lang/String;
.registers 2
.prologue
.line 68
invoke-direct {p0}, Lcom/subgraph/orchid/directory/h;->MM()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public final MK()V
.registers 2
.prologue
.line 72
const/4 v0, 0x1
iput-boolean v0, p0, Lcom/subgraph/orchid/directory/h;->bHR:Z
.line 73
return-void
.end method
.method public final ML()I
.registers 3
.prologue
.line 84
iget-object v0, p0, Lcom/subgraph/orchid/directory/h;->bHP:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->size()I
move-result v0
iget v1, p0, Lcom/subgraph/orchid/directory/h;->bHQ:I
sub-int/2addr v0, v1
return v0
.end method
.method public final MN()Ljava/lang/String;
.registers 3
.prologue
.line 96
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
.line 97
:goto_5
invoke-virtual {p0}, Lcom/subgraph/orchid/directory/h;->ML()I
move-result v1
if-lez v1, :cond_1e
.line 98
invoke-virtual {v0}, Ljava/lang/StringBuilder;->length()I
move-result v1
if-lez v1, :cond_16
.line 99
const-string v1, " "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 100
:cond_16
invoke-direct {p0}, Lcom/subgraph/orchid/directory/h;->MM()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
goto :goto_5
.line 102
:cond_1e
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public final MO()Z
.registers 5
.prologue
const/4 v0, 0x1
.line 106
invoke-virtual {p0}, Lcom/subgraph/orchid/directory/h;->MP()I
move-result v1
.line 107
if-ne v1, v0, :cond_8
.line 110
:goto_7
return v0
.line 109
:cond_8
if-nez v1, :cond_c
.line 110
const/4 v0, 0x0
goto :goto_7
.line 112
:cond_c
new-instance v0, Lcom/subgraph/orchid/TorParsingException;
new-instance v2, Ljava/lang/StringBuilder;
const-string v3, "Illegal boolean value: "
invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Lcom/subgraph/orchid/TorParsingException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public final MP()I
.registers 2
.prologue
.line 116
invoke-direct {p0}, Lcom/subgraph/orchid/directory/h;->MM()Ljava/lang/String;
move-result-object v0
invoke-virtual {p0, v0}, Lcom/subgraph/orchid/directory/h;->ha(Ljava/lang/String;)I
move-result v0
return v0
.end method
.method public final MQ()[I
.registers 5
.prologue
.line 128
invoke-direct {p0}, Lcom/subgraph/orchid/directory/h;->MM()Ljava/lang/String;
move-result-object v0
.line 129
const-string v1, ","
invoke-virtual {v0, v1}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;
move-result-object v1
.line 130
array-length v0, v1
new-array v2, v0, [I
.line 131
const/4 v0, 0x0
:goto_e
array-length v3, v2
if-ge v0, v3, :cond_1c
.line 132
aget-object v3, v1, v0
invoke-virtual {p0, v3}, Lcom/subgraph/orchid/directory/h;->ha(Ljava/lang/String;)I
move-result v3
aput v3, v2, v0
.line 131
add-int/lit8 v0, v0, 0x1
goto :goto_e
.line 134
:cond_1c
return-object v2
.end method
.method public final MR()I
.registers 2
.prologue
.line 138
invoke-direct {p0}, Lcom/subgraph/orchid/directory/h;->MM()Ljava/lang/String;
move-result-object v0
invoke-virtual {p0, v0}, Lcom/subgraph/orchid/directory/h;->hb(Ljava/lang/String;)I
move-result v0
return v0
.end method
.method public final MS()Lcom/subgraph/orchid/d/f;
.registers 5
.prologue
.line 150
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-direct {p0}, Lcom/subgraph/orchid/directory/h;->MM()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, " "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-direct {p0}, Lcom/subgraph/orchid/directory/h;->MM()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
.line 152
:try_start_1f
new-instance v1, Lcom/subgraph/orchid/d/f;
iget-object v2, p0, Lcom/subgraph/orchid/directory/h;->bHM:Ljava/text/SimpleDateFormat;
invoke-virtual {v2, v0}, Ljava/text/SimpleDateFormat;->parse(Ljava/lang/String;)Ljava/util/Date;
move-result-object v2
invoke-direct {v1, v2}, Lcom/subgraph/orchid/d/f;-><init>(Ljava/util/Date;)V
:try_end_2a
.catch Ljava/text/ParseException; {:try_start_1f .. :try_end_2a} :catch_2b
return-object v1
.line 154
:catch_2b
move-exception v1
new-instance v1, Lcom/subgraph/orchid/TorParsingException;
new-instance v2, Ljava/lang/StringBuilder;
const-string v3, "Could not parse timestamp value: "
invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {v1, v0}, Lcom/subgraph/orchid/TorParsingException;-><init>(Ljava/lang/String;)V
throw v1
.end method
.method public final MT()Lcom/subgraph/orchid/d/c;
.registers 2
.prologue
.line 159
.line 1068
invoke-direct {p0}, Lcom/subgraph/orchid/directory/h;->MM()Ljava/lang/String;
move-result-object v0
.line 159
invoke-static {v0}, Lcom/subgraph/orchid/d/c;->gM(Ljava/lang/String;)Lcom/subgraph/orchid/d/c;
move-result-object v0
return-object v0
.end method
.method public final MU()Lcom/subgraph/orchid/d/c;
.registers 3
.prologue
.line 163
.line 2068
invoke-direct {p0}, Lcom/subgraph/orchid/directory/h;->MM()Ljava/lang/String;
move-result-object v0
.line 3038
new-instance v1, Lcom/subgraph/orchid/d/c;
invoke-static {v0}, Lcom/subgraph/orchid/d/b;->gL(Ljava/lang/String;)[B
move-result-object v0
invoke-direct {v1, v0}, Lcom/subgraph/orchid/d/c;-><init>([B)V
.line 163
return-object v1
.end method
.method public final MV()Lcom/subgraph/orchid/d/c;
.registers 2
.prologue
.line 167
invoke-virtual {p0}, Lcom/subgraph/orchid/directory/h;->MN()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/subgraph/orchid/d/c;->gM(Ljava/lang/String;)Lcom/subgraph/orchid/d/c;
move-result-object v0
return-object v0
.end method
.method public final MW()[B
.registers 3
.prologue
.line 185
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {p0}, Lcom/subgraph/orchid/directory/h;->MM()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
.line 186
invoke-virtual {v0}, Ljava/lang/StringBuilder;->length()I
move-result v1
rem-int/lit8 v1, v1, 0x4
packed-switch v1, :pswitch_data_34
.line 197
:goto_12
:try_start_12
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
const-string v1, "ISO-8859-1"
invoke-virtual {v0, v1}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v0
invoke-static {v0}, Lcom/subgraph/orchid/encoders/a;->decode([B)[B
:try_end_1f
.catch Ljava/io/UnsupportedEncodingException; {:try_start_12 .. :try_end_1f} :catch_2d
move-result-object v0
return-object v0
.line 188
:pswitch_21
const-string v1, "=="
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
goto :goto_12
.line 191
:pswitch_27
const-string v1, "="
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
goto :goto_12
.line 198
:catch_2d
move-exception v0
.line 199
new-instance v1, Lcom/subgraph/orchid/TorException;
invoke-direct {v1, v0}, Lcom/subgraph/orchid/TorException;-><init>(Ljava/lang/Throwable;)V
throw v1
.line 186
:pswitch_data_34
.packed-switch 0x2
:pswitch_21
:pswitch_27
.end packed-switch
.end method
.method public final MX()Lcom/subgraph/orchid/d/d;
.registers 2
.prologue
.line 205
invoke-direct {p0}, Lcom/subgraph/orchid/directory/h;->MM()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/subgraph/orchid/d/d;->gO(Ljava/lang/String;)Lcom/subgraph/orchid/d/d;
move-result-object v0
return-object v0
.end method
.method public final MY()Lcom/subgraph/orchid/crypto/o;
.registers 3
.prologue
.line 209
invoke-virtual {p0}, Lcom/subgraph/orchid/directory/h;->Nc()Lcom/subgraph/orchid/directory/a/c;
move-result-object v0
.line 4032
const/4 v1, 0x1
invoke-virtual {v0, v1}, Lcom/subgraph/orchid/directory/a/c;->bj(Z)Ljava/lang/String;
move-result-object v0
.line 5023
new-instance v1, Lcom/subgraph/orchid/crypto/o;
invoke-direct {v1, v0}, Lcom/subgraph/orchid/crypto/o;-><init>(Ljava/lang/String;)V
.line 210
return-object v1
.end method
.method public final MZ()[B
.registers 5
.prologue
.line 215
invoke-virtual {p0}, Lcom/subgraph/orchid/directory/h;->MW()[B
move-result-object v0
.line 216
array-length v1, v0
const/16 v2, 0x20
if-eq v1, v2, :cond_1f
.line 217
new-instance v1, Lcom/subgraph/orchid/TorParsingException;
new-instance v2, Ljava/lang/StringBuilder;
const-string v3, "NTor public key was not expected length after base64 decoding. Length is "
invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
array-length v0, v0
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {v1, v0}, Lcom/subgraph/orchid/TorParsingException;-><init>(Ljava/lang/String;)V
throw v1
.line 219
:cond_1f
return-object v0
.end method
.method public final Na()Lcom/subgraph/orchid/crypto/TorSignature;
.registers 4
.prologue
.line 223
invoke-virtual {p0}, Lcom/subgraph/orchid/directory/h;->Nc()Lcom/subgraph/orchid/directory/a/c;
move-result-object v0
.line 5032
const/4 v1, 0x1
invoke-virtual {v0, v1}, Lcom/subgraph/orchid/directory/a/c;->bj(Z)Ljava/lang/String;
move-result-object v0
.line 6020
new-instance v1, Ljava/io/BufferedReader;
new-instance v2, Ljava/io/StringReader;
invoke-direct {v2, v0}, Ljava/io/StringReader;-><init>(Ljava/lang/String;)V
invoke-direct {v1, v2}, Ljava/io/BufferedReader;-><init>(Ljava/io/Reader;)V
.line 6021
invoke-static {v1}, Lcom/subgraph/orchid/crypto/TorSignature;->c(Ljava/io/BufferedReader;)Ljava/lang/String;
move-result-object v0
.line 6022
const-string v2, "-----BEGIN SIGNATURE-----"
invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-nez v2, :cond_2f
const-string v2, "-----BEGIN ID SIGNATURE-----"
invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_2f
.line 6023
new-instance v0, Lcom/subgraph/orchid/TorParsingException;
const-string v1, "Did not find expected signature BEGIN header"
invoke-direct {v0, v1}, Lcom/subgraph/orchid/TorParsingException;-><init>(Ljava/lang/String;)V
throw v0
.line 6024
:cond_2f
new-instance v0, Lcom/subgraph/orchid/crypto/TorSignature;
invoke-static {v1}, Lcom/subgraph/orchid/crypto/TorSignature;->b(Ljava/io/BufferedReader;)Ljava/lang/String;
move-result-object v1
invoke-static {v1}, Lcom/subgraph/orchid/encoders/a;->decode(Ljava/lang/String;)[B
move-result-object v1
sget-object v2, Lcom/subgraph/orchid/crypto/TorSignature$DigestAlgorithm;->DIGEST_SHA1:Lcom/subgraph/orchid/crypto/TorSignature$DigestAlgorithm;
invoke-direct {v0, v1, v2}, Lcom/subgraph/orchid/crypto/TorSignature;-><init>([BLcom/subgraph/orchid/crypto/TorSignature$DigestAlgorithm;)V
.line 225
return-object v0
.end method
.method public final Nb()Lcom/subgraph/orchid/directory/a/i;
.registers 9
.prologue
const/4 v0, 0x0
.line 229
invoke-direct {p0}, Lcom/subgraph/orchid/directory/h;->MM()Ljava/lang/String;
move-result-object v1
.line 230
const/16 v2, 0x3d
invoke-virtual {v1, v2}, Ljava/lang/String;->indexOf(I)I
move-result v2
.line 231
const/4 v3, -0x1
if-ne v2, v3, :cond_16
.line 232
new-instance v0, Lcom/subgraph/orchid/TorParsingException;
const-string v1, "Parameter not in expected form name=value"
invoke-direct {v0, v1}, Lcom/subgraph/orchid/TorParsingException;-><init>(Ljava/lang/String;)V
throw v0
.line 234
:cond_16
invoke-virtual {v1, v0, v2}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object v3
.line 6241
invoke-virtual {v3}, Ljava/lang/String;->isEmpty()Z
move-result v4
if-eqz v4, :cond_28
.line 6242
new-instance v0, Lcom/subgraph/orchid/TorParsingException;
const-string v1, "Parameter name cannot be empty"
invoke-direct {v0, v1}, Lcom/subgraph/orchid/TorParsingException;-><init>(Ljava/lang/String;)V
throw v0
.line 6244
:cond_28
invoke-virtual {v3}, Ljava/lang/String;->toCharArray()[C
move-result-object v4
array-length v5, v4
:goto_2d
if-ge v0, v5, :cond_53
aget-char v6, v4, v0
.line 6245
invoke-static {v6}, Ljava/lang/Character;->isLetterOrDigit(C)Z
move-result v7
if-nez v7, :cond_50
const/16 v7, 0x5f
if-eq v6, v7, :cond_50
.line 6246
new-instance v0, Lcom/subgraph/orchid/TorParsingException;
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "Parameter name can only contain letters. Rejecting: "
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Lcom/subgraph/orchid/TorParsingException;-><init>(Ljava/lang/String;)V
throw v0
.line 6244
:cond_50
add-int/lit8 v0, v0, 0x1
goto :goto_2d
.line 236
:cond_53
add-int/lit8 v0, v2, 0x1
invoke-virtual {v1, v0}, Ljava/lang/String;->substring(I)Ljava/lang/String;
move-result-object v0
invoke-virtual {p0, v0}, Lcom/subgraph/orchid/directory/h;->ha(Ljava/lang/String;)I
move-result v0
.line 237
new-instance v1, Lcom/subgraph/orchid/directory/a/i;
invoke-direct {v1, v3, v0}, Lcom/subgraph/orchid/directory/a/i;-><init>(Ljava/lang/String;I)V
return-object v1
.end method
.method public final Nc()Lcom/subgraph/orchid/directory/a/c;
.registers 6
.prologue
.line 259
invoke-direct {p0}, Lcom/subgraph/orchid/directory/h;->readLine()Ljava/lang/String;
move-result-object v0
.line 6267
const-string v1, "-----BEGIN"
invoke-virtual {v0, v1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v1
if-eqz v1, :cond_14
const-string v1, "-----"
invoke-virtual {v0, v1}, Ljava/lang/String;->endsWith(Ljava/lang/String;)Z
move-result v1
if-nez v1, :cond_1c
.line 6268
:cond_14
new-instance v0, Lcom/subgraph/orchid/TorParsingException;
const-string v1, "Did not find expected object start tag."
invoke-direct {v0, v1}, Lcom/subgraph/orchid/TorParsingException;-><init>(Ljava/lang/String;)V
throw v0
.line 6269
:cond_1c
const/16 v1, 0xb
.line 6270
invoke-virtual {v0}, Ljava/lang/String;->length()I
move-result v2
add-int/lit8 v2, v2, -0x5
.line 6269
invoke-virtual {v0, v1, v2}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object v1
.line 261
new-instance v2, Lcom/subgraph/orchid/directory/a/c;
invoke-direct {v2, v0}, Lcom/subgraph/orchid/directory/a/c;-><init>(Ljava/lang/String;)V
.line 6274
new-instance v0, Ljava/lang/StringBuilder;
const-string v3, "-----END "
invoke-direct {v0, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v3, "-----"
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
.line 6276
:goto_42
invoke-direct {p0}, Lcom/subgraph/orchid/directory/h;->readLine()Ljava/lang/String;
move-result-object v3
.line 6277
if-nez v3, :cond_63
.line 6278
new-instance v0, Lcom/subgraph/orchid/TorParsingException;
new-instance v2, Ljava/lang/StringBuilder;
const-string v3, "EOF reached before end of \'"
invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
const-string v2, "\' object."
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Lcom/subgraph/orchid/TorParsingException;-><init>(Ljava/lang/String;)V
throw v0
.line 6280
:cond_63
invoke-virtual {v3, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v4
if-eqz v4, :cond_74
.line 7027
iput-object v3, v2, Lcom/subgraph/orchid/directory/a/c;->bJN:Ljava/lang/String;
.line 7028
iget-object v0, v2, Lcom/subgraph/orchid/directory/a/c;->bJP:Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
iput-object v0, v2, Lcom/subgraph/orchid/directory/a/c;->bJO:Ljava/lang/String;
.line 263
return-object v2
.line 8022
:cond_74
iget-object v4, v2, Lcom/subgraph/orchid/directory/a/c;->bJP:Ljava/lang/StringBuilder;
invoke-virtual {v4, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 8023
iget-object v3, v2, Lcom/subgraph/orchid/directory/a/c;->bJP:Ljava/lang/StringBuilder;
const-string v4, "\n"
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
goto :goto_42
.end method
.method public final Nd()Ljava/lang/String;
.registers 2
.prologue
.line 294
iget-object v0, p0, Lcom/subgraph/orchid/directory/h;->bHO:Ljava/lang/String;
return-object v0
.end method
.method public final Ne()V
.registers 6
.prologue
const/4 v2, 0x0
const/4 v1, 0x1
.line 298
iget-object v0, p0, Lcom/subgraph/orchid/directory/h;->bHX:Lcom/subgraph/orchid/directory/a/f;
if-nez v0, :cond_32
.line 299
new-instance v0, Lcom/subgraph/orchid/TorException;
const-string v1, "DocumentFieldParser#processDocument() called with null callbackHandler"
invoke-direct {v0, v1}, Lcom/subgraph/orchid/TorException;-><init>(Ljava/lang/String;)V
throw v0
.line 8392
:cond_e
iget-object v3, p0, Lcom/subgraph/orchid/directory/h;->bHN:Ljava/lang/String;
invoke-virtual {v0, v3}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Ljava/util/Arrays;->asList([Ljava/lang/Object;)Ljava/util/List;
move-result-object v3
.line 8393
invoke-interface {v3}, Ljava/util/List;->size()I
move-result v0
if-eqz v0, :cond_2a
invoke-interface {v3, v2}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/String;
invoke-virtual {v0}, Ljava/lang/String;->length()I
move-result v0
if-nez v0, :cond_3e
:cond_2a
move v0, v2
.line 307
:goto_2b
if-eqz v0, :cond_32
.line 308
iget-object v0, p0, Lcom/subgraph/orchid/directory/h;->bHX:Lcom/subgraph/orchid/directory/a/f;
invoke-interface {v0}, Lcom/subgraph/orchid/directory/a/f;->Ls()V
.line 302
:cond_32
invoke-direct {p0}, Lcom/subgraph/orchid/directory/h;->readLine()Ljava/lang/String;
move-result-object v0
.line 303
if-nez v0, :cond_e
.line 304
iget-object v0, p0, Lcom/subgraph/orchid/directory/h;->bHX:Lcom/subgraph/orchid/directory/a/f;
invoke-interface {v0}, Lcom/subgraph/orchid/directory/a/f;->Lt()V
.line 305
return-void
.line 8398
:cond_3e
invoke-interface {v3, v2}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/String;
iput-object v0, p0, Lcom/subgraph/orchid/directory/h;->bHO:Ljava/lang/String;
.line 8399
iput-object v3, p0, Lcom/subgraph/orchid/directory/h;->bHP:Ljava/util/List;
.line 8400
iput v1, p0, Lcom/subgraph/orchid/directory/h;->bHQ:I
.line 8402
iget-boolean v0, p0, Lcom/subgraph/orchid/directory/h;->bHR:Z
if-eqz v0, :cond_69
iget-object v0, p0, Lcom/subgraph/orchid/directory/h;->bHO:Ljava/lang/String;
const-string v4, "opt"
invoke-virtual {v0, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_69
invoke-interface {v3}, Ljava/util/List;->size()I
move-result v0
if-le v0, v1, :cond_69
.line 8403
invoke-interface {v3, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/String;
iput-object v0, p0, Lcom/subgraph/orchid/directory/h;->bHO:Ljava/lang/String;
.line 8404
const/4 v0, 0x2
iput v0, p0, Lcom/subgraph/orchid/directory/h;->bHQ:I
:cond_69
move v0, v1
.line 8407
goto :goto_2b
.end method
.method public final Nf()V
.registers 3
.prologue
const/4 v1, 0x1
.line 313
iput-boolean v1, p0, Lcom/subgraph/orchid/directory/h;->bHT:Z
.line 314
new-instance v0, Lcom/subgraph/orchid/crypto/m;
invoke-direct {v0}, Lcom/subgraph/orchid/crypto/m;-><init>()V
iput-object v0, p0, Lcom/subgraph/orchid/directory/h;->bHU:Lcom/subgraph/orchid/crypto/m;
.line 315
new-instance v0, Lcom/subgraph/orchid/crypto/m;
invoke-direct {v0, v1}, Lcom/subgraph/orchid/crypto/m;-><init>(Z)V
iput-object v0, p0, Lcom/subgraph/orchid/directory/h;->bHV:Lcom/subgraph/orchid/crypto/m;
.line 316
return-void
.end method
.method public final Ng()V
.registers 2
.prologue
.line 319
const/4 v0, 0x0
iput-boolean v0, p0, Lcom/subgraph/orchid/directory/h;->bHT:Z
.line 320
return-void
.end method
.method public final Nh()Lcom/subgraph/orchid/crypto/m;
.registers 2
.prologue
.line 327
iget-object v0, p0, Lcom/subgraph/orchid/directory/h;->bHU:Lcom/subgraph/orchid/crypto/m;
return-object v0
.end method
.method public final Ni()Lcom/subgraph/orchid/crypto/m;
.registers 2
.prologue
.line 331
iget-object v0, p0, Lcom/subgraph/orchid/directory/h;->bHV:Lcom/subgraph/orchid/crypto/m;
return-object v0
.end method
.method public final Nj()Ljava/lang/String;
.registers 2
.prologue
.line 340
iget-object v0, p0, Lcom/subgraph/orchid/directory/h;->bHW:Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public final Nk()V
.registers 2
.prologue
.line 344
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
iput-object v0, p0, Lcom/subgraph/orchid/directory/h;->bHW:Ljava/lang/StringBuilder;
.line 345
return-void
.end method
.method public final a(Lcom/subgraph/orchid/directory/a/f;)V
.registers 2
.prologue
.line 76
iput-object p1, p0, Lcom/subgraph/orchid/directory/h;->bHX:Lcom/subgraph/orchid/directory/a/f;
.line 77
return-void
.end method
.method public final a(Lcom/subgraph/orchid/crypto/o;Lcom/subgraph/orchid/crypto/TorSignature;)Z
.registers 4
.prologue
.line 353
const/4 v0, 0x0
iput-boolean v0, p0, Lcom/subgraph/orchid/directory/h;->bHT:Z
.line 354
iget-object v0, p0, Lcom/subgraph/orchid/directory/h;->bHU:Lcom/subgraph/orchid/crypto/m;
.line 9076
invoke-virtual {v0}, Lcom/subgraph/orchid/crypto/m;->Mb()[B
move-result-object v0
invoke-virtual {p1, p2, v0}, Lcom/subgraph/orchid/crypto/o;->a(Lcom/subgraph/orchid/crypto/TorSignature;[B)Z
move-result v0
.line 354
return v0
.end method
.method public final gZ(Ljava/lang/String;)V
.registers 2
.prologue
.line 80
iput-object p1, p0, Lcom/subgraph/orchid/directory/h;->bHN:Ljava/lang/String;
.line 81
return-void
.end method
.method public final ha(Ljava/lang/String;)I
.registers 5
.prologue
.line 121
:try_start_0
invoke-static {p1}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
:try_end_3
.catch Ljava/lang/NumberFormatException; {:try_start_0 .. :try_end_3} :catch_5
move-result v0
return v0
.line 123
:catch_5
move-exception v0
new-instance v0, Lcom/subgraph/orchid/TorParsingException;
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "Failed to parse expected integer value: "
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Lcom/subgraph/orchid/TorParsingException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public final hb(Ljava/lang/String;)I
.registers 6
.prologue
.line 142
invoke-virtual {p0, p1}, Lcom/subgraph/orchid/directory/h;->ha(Ljava/lang/String;)I
move-result v0
.line 143
if-ltz v0, :cond_b
const v1, 0xffff
if-le v0, v1, :cond_20
.line 144
:cond_b
new-instance v1, Lcom/subgraph/orchid/TorParsingException;
new-instance v2, Ljava/lang/StringBuilder;
const-string v3, "Illegal port value: "
invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {v1, v0}, Lcom/subgraph/orchid/TorParsingException;-><init>(Ljava/lang/String;)V
throw v1
.line 145
:cond_20
return v0
.end method
.method public final hc(Ljava/lang/String;)V
.registers 2
.prologue
.line 323
iput-object p1, p0, Lcom/subgraph/orchid/directory/h;->bHS:Ljava/lang/String;
.line 324
return-void
.end method
.method public final hd(Ljava/lang/String;)V
.registers 3
.prologue
.line 348
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
iput-object v0, p0, Lcom/subgraph/orchid/directory/h;->bHW:Ljava/lang/StringBuilder;
.line 349
iget-object v0, p0, Lcom/subgraph/orchid/directory/h;->bHW:Ljava/lang/StringBuilder;
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 350
return-void
.end method
.method public final he(Ljava/lang/String;)V
.registers 3
.prologue
.line 411
sget-object v0, Lcom/subgraph/orchid/directory/h;->logger:Ljava/util/logging/Logger;
invoke-virtual {v0, p1}, Ljava/util/logging/Logger;->fine(Ljava/lang/String;)V
.line 412
return-void
.end method
.method public final hf(Ljava/lang/String;)V
.registers 3
.prologue
.line 419
sget-object v0, Lcom/subgraph/orchid/directory/h;->logger:Ljava/util/logging/Logger;
invoke-virtual {v0, p1}, Ljava/util/logging/Logger;->info(Ljava/lang/String;)V
.line 420
return-void
.end method
.method public final r(Ljava/lang/String;I)V
.registers 7
.prologue
const/4 v1, -0x1
.line 171
.line 3175
invoke-virtual {p0}, Lcom/subgraph/orchid/directory/h;->ML()I
move-result v0
.line 3176
if-eq p2, v1, :cond_32
if-ge v0, p2, :cond_32
.line 3177
new-instance v1, Lcom/subgraph/orchid/TorParsingException;
new-instance v2, Ljava/lang/StringBuilder;
const-string v3, "Not enough arguments for keyword \'"
invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
const-string v3, "\' expected "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v2
const-string v3, " and got "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {v1, v0}, Lcom/subgraph/orchid/TorParsingException;-><init>(Ljava/lang/String;)V
throw v1
.line 3179
:cond_32
if-eq p2, v1, :cond_5f
if-le v0, p2, :cond_5f
.line 3181
new-instance v1, Lcom/subgraph/orchid/TorParsingException;
new-instance v2, Ljava/lang/StringBuilder;
const-string v3, "Too many arguments for keyword \'"
invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
const-string v3, "\' expected "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v2
const-string v3, " and got "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {v1, v0}, Lcom/subgraph/orchid/TorParsingException;-><init>(Ljava/lang/String;)V
throw v1
.line 172
:cond_5f
return-void
.end method