472 lines
18 KiB
Java
472 lines
18 KiB
Java
|
package o;
|
||
|
|
||
|
import android.graphics.Color;
|
||
|
import android.graphics.ImageFormat;
|
||
|
import android.graphics.PointF;
|
||
|
import android.graphics.drawable.Drawable;
|
||
|
import android.media.AudioTrack;
|
||
|
import android.os.Process;
|
||
|
import android.os.SystemClock;
|
||
|
import android.text.TextUtils;
|
||
|
import android.util.TypedValue;
|
||
|
import android.view.KeyEvent;
|
||
|
import android.view.View;
|
||
|
import android.view.ViewConfiguration;
|
||
|
import com.google.android.gms.maps.model.BitmapDescriptorFactory;
|
||
|
import com.google.common.base.Ascii;
|
||
|
import com.scb.phone.domain.entity.isprint.E2EEEncryptionException;
|
||
|
import java.lang.reflect.Method;
|
||
|
import java.util.Objects;
|
||
|
import java.util.concurrent.Callable;
|
||
|
import org.bouncycastle.crypto.signers.PSSSigner;
|
||
|
import org.bouncycastle.crypto.tls.CipherSuite;
|
||
|
|
||
|
/* loaded from: classes3.dex */
|
||
|
public final class jHF extends wRi {
|
||
|
private final YWp b;
|
||
|
private final trQ c;
|
||
|
private final InterfaceC17776zey d;
|
||
|
private final YpF e;
|
||
|
private static final byte[] $$a = {0, PSSSigner.TRAILER_IMPLICIT, -126, 35};
|
||
|
private static final int $$b = CipherSuite.TLS_PSK_WITH_AES_256_CBC_SHA384;
|
||
|
private static int $10 = 0;
|
||
|
private static int $11 = 1;
|
||
|
private static int j = 0;
|
||
|
private static int n = 1;
|
||
|
private static char[] a = {62021, 1247, 8021, 4487, 10240, 8839, 42546, 20648, 19234, 17904, 31856, 30450, 59669, 8079, 1029, 2774, 13146, 14807, 28208, 39082, 33568, 36341, 46198, 48884};
|
||
|
private static long g = -5331589853852960429L;
|
||
|
|
||
|
public static /* synthetic */ Object a(Object[] objArr, int i, int i2, int i3) {
|
||
|
int i4 = (i * (-751)) + (i2 * (-751));
|
||
|
int i5 = ~i;
|
||
|
int i6 = ~i2;
|
||
|
int i7 = i2 | i5;
|
||
|
return ((i4 + (((~(i5 | i6)) | (~(i5 | i3))) * 1504)) + ((~(i3 | i7)) * (-1504))) + (((~(i | i6)) | (~i7)) * 752) != 1 ? c(objArr) : d(objArr);
|
||
|
}
|
||
|
|
||
|
/* JADX WARN: Removed duplicated region for block: B:10:0x0024 */
|
||
|
/* JADX WARN: Removed duplicated region for block: B:7:0x001c */
|
||
|
/* JADX WARN: Unsupported multi-entry loop pattern (BACK_EDGE: B:10:0x0024 -> B:4:0x002c). Please report as a decompilation issue!!! */
|
||
|
/*
|
||
|
Code decompiled incorrectly, please refer to instructions dump.
|
||
|
To view partially-correct add '--show-bad-code' argument
|
||
|
*/
|
||
|
private static void l(short r6, byte r7, short r8, java.lang.Object[] r9) {
|
||
|
/*
|
||
|
int r6 = r6 * 2
|
||
|
int r0 = r6 + 1
|
||
|
int r8 = r8 + 98
|
||
|
byte[] r1 = o.jHF.$$a
|
||
|
int r7 = r7 * 4
|
||
|
int r7 = 3 - r7
|
||
|
byte[] r0 = new byte[r0]
|
||
|
r2 = 0
|
||
|
if (r1 != 0) goto L14
|
||
|
r3 = r6
|
||
|
r4 = r2
|
||
|
goto L2c
|
||
|
L14:
|
||
|
r3 = r2
|
||
|
L15:
|
||
|
int r7 = r7 + 1
|
||
|
byte r4 = (byte) r8
|
||
|
r0[r3] = r4
|
||
|
if (r3 != r6) goto L24
|
||
|
java.lang.String r6 = new java.lang.String
|
||
|
r6.<init>(r0, r2)
|
||
|
r9[r2] = r6
|
||
|
return
|
||
|
L24:
|
||
|
int r3 = r3 + 1
|
||
|
r4 = r1[r7]
|
||
|
r5 = r3
|
||
|
r3 = r8
|
||
|
r8 = r4
|
||
|
r4 = r5
|
||
|
L2c:
|
||
|
int r8 = -r8
|
||
|
int r8 = r8 + r3
|
||
|
r3 = r4
|
||
|
goto L15
|
||
|
*/
|
||
|
throw new UnsupportedOperationException("Method not decompiled: o.jHF.l(short, byte, short, java.lang.Object[]):void");
|
||
|
}
|
||
|
|
||
|
@InterfaceC13391fZD
|
||
|
public jHF(yRw yrw, yRw yrw2, YpF ypF, InterfaceC17776zey interfaceC17776zey, trQ trq, YWp yWp) {
|
||
|
super(yrw, yrw2);
|
||
|
this.e = ypF;
|
||
|
this.d = interfaceC17776zey;
|
||
|
this.c = trq;
|
||
|
this.b = yWp;
|
||
|
}
|
||
|
|
||
|
private /* synthetic */ String e(String str, xWw xww) throws Exception {
|
||
|
int i = 2 % 2;
|
||
|
int i2 = j + 81;
|
||
|
n = i2 % 128;
|
||
|
int i3 = i2 % 2;
|
||
|
String str2 = (String) a(new Object[]{this, str, xww}, -1215210998, 1215210998, System.identityHashCode(this));
|
||
|
int i4 = j + 3;
|
||
|
n = i4 % 128;
|
||
|
if (i4 % 2 != 0) {
|
||
|
return str2;
|
||
|
}
|
||
|
Object obj = null;
|
||
|
obj.hashCode();
|
||
|
throw null;
|
||
|
}
|
||
|
|
||
|
private /* synthetic */ InterfaceC13169fSq d(String str, String str2, xWw xww, String str3) throws Throwable {
|
||
|
int i = 2 % 2;
|
||
|
C4433ba c4433ba = new C4433ba();
|
||
|
c4433ba.a = str;
|
||
|
c4433ba.h = str2;
|
||
|
c4433ba.e = this.c.a();
|
||
|
c4433ba.d = str3;
|
||
|
c4433ba.c = xww.c;
|
||
|
AbstractC13163fSk<String> e = this.d.e(c4433ba);
|
||
|
int i2 = j + 117;
|
||
|
n = i2 % 128;
|
||
|
if (i2 % 2 != 0) {
|
||
|
return e;
|
||
|
}
|
||
|
throw null;
|
||
|
}
|
||
|
|
||
|
public final AbstractC13163fSk<String> a(String str, String str2, String str3) {
|
||
|
int i = 2 % 2;
|
||
|
xWw b = this.e.b();
|
||
|
AbstractC13163fSk flatMap = AbstractC13163fSk.fromCallable(new Callable(this, str, b) { // from class: o.rXn
|
||
|
private xWw a;
|
||
|
private jHF b;
|
||
|
private String e;
|
||
|
|
||
|
@Override // java.util.concurrent.Callable
|
||
|
public final Object call() {
|
||
|
return jHF.e(this.b, this.e, this.a);
|
||
|
}
|
||
|
|
||
|
{
|
||
|
this.b = this;
|
||
|
this.e = str;
|
||
|
this.a = b;
|
||
|
}
|
||
|
}).flatMap(new fSS(this, str2, str3, b) { // from class: o.AYZ
|
||
|
private String a;
|
||
|
private jHF b;
|
||
|
private String c;
|
||
|
private xWw e;
|
||
|
|
||
|
@Override // o.fSS
|
||
|
public final Object a(Object obj) {
|
||
|
return jHF.a(this.b, this.c, this.a, this.e, (String) obj);
|
||
|
}
|
||
|
|
||
|
{
|
||
|
this.b = this;
|
||
|
this.c = str2;
|
||
|
this.a = str3;
|
||
|
this.e = b;
|
||
|
}
|
||
|
});
|
||
|
YpF ypF = this.e;
|
||
|
Objects.requireNonNull(ypF);
|
||
|
AbstractC13163fSk<String> doOnComplete = flatMap.doOnComplete(new XKm(ypF));
|
||
|
int i2 = n + 75;
|
||
|
j = i2 % 128;
|
||
|
int i3 = i2 % 2;
|
||
|
return doOnComplete;
|
||
|
}
|
||
|
|
||
|
public static /* synthetic */ Boolean a() throws Throwable {
|
||
|
int i = 2 % 2;
|
||
|
int i2 = j + 49;
|
||
|
n = i2 % 128;
|
||
|
int i3 = i2 % 2;
|
||
|
Boolean bool = Boolean.TRUE;
|
||
|
int i4 = j + 19;
|
||
|
n = i4 % 128;
|
||
|
if (i4 % 2 != 0) {
|
||
|
return bool;
|
||
|
}
|
||
|
throw null;
|
||
|
}
|
||
|
|
||
|
private static /* synthetic */ Object d(Object[] objArr) {
|
||
|
int i = 2 % 2;
|
||
|
InterfaceC13169fSq map = ((jHF) objArr[0]).e.o().map(new fSS() { // from class: o.FUs
|
||
|
@Override // o.fSS
|
||
|
public final Object a(Object obj) {
|
||
|
return jHF.a();
|
||
|
}
|
||
|
});
|
||
|
int i2 = j + 95;
|
||
|
n = i2 % 128;
|
||
|
if (i2 % 2 != 0) {
|
||
|
return map;
|
||
|
}
|
||
|
Object obj = null;
|
||
|
obj.hashCode();
|
||
|
throw null;
|
||
|
}
|
||
|
|
||
|
public final AbstractC13163fSk<String> e(String str, String str2) {
|
||
|
int i = 2 % 2;
|
||
|
C4433ba c4433ba = new C4433ba();
|
||
|
c4433ba.a = str;
|
||
|
c4433ba.h = str2;
|
||
|
c4433ba.e = this.c.a();
|
||
|
AbstractC13163fSk<String> b = this.d.b(this.c.b(), c4433ba);
|
||
|
YpF ypF = this.e;
|
||
|
Objects.requireNonNull(ypF);
|
||
|
AbstractC13163fSk<String> doOnComplete = b.doOnComplete(new XKm(ypF));
|
||
|
int i2 = j + 93;
|
||
|
n = i2 % 128;
|
||
|
if (i2 % 2 != 0) {
|
||
|
return doOnComplete;
|
||
|
}
|
||
|
throw null;
|
||
|
}
|
||
|
|
||
|
private static /* synthetic */ Object c(Object[] objArr) {
|
||
|
jHF jhf = (jHF) objArr[0];
|
||
|
String str = (String) objArr[1];
|
||
|
xWw xww = (xWw) objArr[2];
|
||
|
int i = 2 % 2;
|
||
|
int i2 = j + 29;
|
||
|
n = i2 % 128;
|
||
|
int i3 = i2 % 2;
|
||
|
String str2 = xww.b;
|
||
|
if (str2 == null) {
|
||
|
str2 = "";
|
||
|
}
|
||
|
String d = jhf.b.d(d(str2), xww.c, str, xww.i, xww.f9311o);
|
||
|
if (jhf.b.c != 0) {
|
||
|
throw new E2EEEncryptionException();
|
||
|
}
|
||
|
int i4 = j + 17;
|
||
|
n = i4 % 128;
|
||
|
if (i4 % 2 != 0) {
|
||
|
return d;
|
||
|
}
|
||
|
throw null;
|
||
|
}
|
||
|
|
||
|
private static byte d(String str) {
|
||
|
String lowerCase;
|
||
|
int i = 2 % 2;
|
||
|
int i2 = j + 125;
|
||
|
n = i2 % 128;
|
||
|
if (i2 % 2 == 0) {
|
||
|
lowerCase = str.toLowerCase();
|
||
|
Object[] objArr = new Object[1];
|
||
|
k((char) (TextUtils.indexOf("", "") + 18609), View.getDefaultSize(0, 1), (ViewConfiguration.getTouchSlop() << 11) * 59, objArr);
|
||
|
if (lowerCase.contains(((String) objArr[0]).intern())) {
|
||
|
return (byte) 19;
|
||
|
}
|
||
|
} else {
|
||
|
lowerCase = str.toLowerCase();
|
||
|
Object[] objArr2 = new Object[1];
|
||
|
k((char) (TextUtils.indexOf("", "") + 32228), View.getDefaultSize(0, 0), 6 - (ViewConfiguration.getTouchSlop() >> 8), objArr2);
|
||
|
if (lowerCase.contains(((String) objArr2[0]).intern())) {
|
||
|
return (byte) 19;
|
||
|
}
|
||
|
}
|
||
|
k((char) ((ViewConfiguration.getMaximumFlingVelocity() >> 16) + 10643), 7 - (AudioTrack.getMaxVolume() > BitmapDescriptorFactory.HUE_RED ? 1 : (AudioTrack.getMaxVolume() == BitmapDescriptorFactory.HUE_RED ? 0 : -1)), TextUtils.indexOf("", "") + 6, new Object[1]);
|
||
|
if (!(!lowerCase.contains(((String) r8[0]).intern()))) {
|
||
|
int i3 = n + 101;
|
||
|
j = i3 % 128;
|
||
|
if (i3 % 2 != 0) {
|
||
|
return (byte) 80;
|
||
|
}
|
||
|
return Ascii.DC4;
|
||
|
}
|
||
|
Object[] objArr3 = new Object[1];
|
||
|
k((char) (KeyEvent.normalizeMetaState(0) + 26292), (PointF.length(BitmapDescriptorFactory.HUE_RED, BitmapDescriptorFactory.HUE_RED) > BitmapDescriptorFactory.HUE_RED ? 1 : (PointF.length(BitmapDescriptorFactory.HUE_RED, BitmapDescriptorFactory.HUE_RED) == BitmapDescriptorFactory.HUE_RED ? 0 : -1)) + 12, (AudioTrack.getMaxVolume() > BitmapDescriptorFactory.HUE_RED ? 1 : (AudioTrack.getMaxVolume() == BitmapDescriptorFactory.HUE_RED ? 0 : -1)) + 5, objArr3);
|
||
|
if (lowerCase.contains(((String) objArr3[0]).intern())) {
|
||
|
return Ascii.NAK;
|
||
|
}
|
||
|
Object[] objArr4 = new Object[1];
|
||
|
k((char) (57745 - Color.alpha(0)), 17 - TextUtils.indexOf((CharSequence) "", '0'), 6 - Color.alpha(0), objArr4);
|
||
|
if (!lowerCase.contains(((String) objArr4[0]).intern())) {
|
||
|
return Ascii.DC2;
|
||
|
}
|
||
|
int i4 = j + 47;
|
||
|
n = i4 % 128;
|
||
|
if (i4 % 2 == 0) {
|
||
|
return (byte) 106;
|
||
|
}
|
||
|
return Ascii.SYN;
|
||
|
}
|
||
|
|
||
|
private static void k(char c, int i, int i2, Object[] objArr) {
|
||
|
int i3 = 2 % 2;
|
||
|
dQY dqy = new dQY();
|
||
|
long[] jArr = new long[i2];
|
||
|
dqy.a = 0;
|
||
|
while (dqy.a < i2) {
|
||
|
int i4 = dqy.a;
|
||
|
try {
|
||
|
Object[] objArr2 = {Integer.valueOf(a[i + dqy.a])};
|
||
|
Object obj = xzZ.y.get(1095064095);
|
||
|
if (obj == null) {
|
||
|
Class cls = (Class) xzZ.c(308 - TextUtils.getOffsetAfter("", 0), 6 - (SystemClock.elapsedRealtime() > 0L ? 1 : (SystemClock.elapsedRealtime() == 0L ? 0 : -1)), (char) (ImageFormat.getBitsPerPixel(0) + 32798));
|
||
|
byte b = $$a[0];
|
||
|
byte b2 = b;
|
||
|
Object[] objArr3 = new Object[1];
|
||
|
l(b, b2, b2, objArr3);
|
||
|
obj = cls.getMethod((String) objArr3[0], Integer.TYPE);
|
||
|
xzZ.y.put(1095064095, obj);
|
||
|
}
|
||
|
try {
|
||
|
Object[] objArr4 = {Long.valueOf(((Long) ((Method) obj).invoke(null, objArr2)).longValue()), Long.valueOf(dqy.a), Long.valueOf(g), Integer.valueOf(c)};
|
||
|
Object obj2 = xzZ.y.get(-548438098);
|
||
|
if (obj2 == null) {
|
||
|
Class cls2 = (Class) xzZ.c(TextUtils.getOffsetAfter("", 0) + 412, 5 - (ViewConfiguration.getScrollDefaultDelay() >> 16), (char) ((ViewConfiguration.getGlobalActionKeyTimeout() > 0L ? 1 : (ViewConfiguration.getGlobalActionKeyTimeout() == 0L ? 0 : -1)) - 1));
|
||
|
byte b3 = $$a[0];
|
||
|
byte b4 = b3;
|
||
|
Object[] objArr5 = new Object[1];
|
||
|
l(b3, b4, (byte) (b4 + 1), objArr5);
|
||
|
obj2 = cls2.getMethod((String) objArr5[0], Long.TYPE, Long.TYPE, Long.TYPE, Integer.TYPE);
|
||
|
xzZ.y.put(-548438098, obj2);
|
||
|
}
|
||
|
jArr[i4] = ((Long) ((Method) obj2).invoke(null, objArr4)).longValue();
|
||
|
try {
|
||
|
Object[] objArr6 = {dqy, dqy};
|
||
|
Object obj3 = xzZ.y.get(1071125919);
|
||
|
if (obj3 == null) {
|
||
|
Class cls3 = (Class) xzZ.c(407 - Drawable.resolveOpacity(0, 0), TextUtils.lastIndexOf("", '0', 0, 0) + 6, (char) (29233 - TextUtils.lastIndexOf("", '0', 0, 0)));
|
||
|
byte b5 = $$a[0];
|
||
|
byte b6 = b5;
|
||
|
Object[] objArr7 = new Object[1];
|
||
|
l(b5, b6, (byte) (b6 | 8), objArr7);
|
||
|
obj3 = cls3.getMethod((String) objArr7[0], Object.class, Object.class);
|
||
|
xzZ.y.put(1071125919, obj3);
|
||
|
}
|
||
|
((Method) obj3).invoke(null, objArr6);
|
||
|
int i5 = $10 + 79;
|
||
|
$11 = i5 % 128;
|
||
|
int i6 = i5 % 2;
|
||
|
} catch (Throwable th) {
|
||
|
Throwable cause = th.getCause();
|
||
|
if (cause == null) {
|
||
|
throw th;
|
||
|
}
|
||
|
throw cause;
|
||
|
}
|
||
|
} catch (Throwable th2) {
|
||
|
Throwable cause2 = th2.getCause();
|
||
|
if (cause2 == null) {
|
||
|
throw th2;
|
||
|
}
|
||
|
throw cause2;
|
||
|
}
|
||
|
} catch (Throwable th3) {
|
||
|
Throwable cause3 = th3.getCause();
|
||
|
if (cause3 == null) {
|
||
|
throw th3;
|
||
|
}
|
||
|
throw cause3;
|
||
|
}
|
||
|
}
|
||
|
char[] cArr = new char[i2];
|
||
|
dqy.a = 0;
|
||
|
while (dqy.a < i2) {
|
||
|
int i7 = $11 + 15;
|
||
|
$10 = i7 % 128;
|
||
|
if (i7 % 2 != 0) {
|
||
|
cArr[dqy.a] = (char) jArr[dqy.a];
|
||
|
try {
|
||
|
Object[] objArr8 = {dqy, dqy};
|
||
|
Object obj4 = xzZ.y.get(1071125919);
|
||
|
if (obj4 == null) {
|
||
|
Class cls4 = (Class) xzZ.c(407 - (ViewConfiguration.getKeyRepeatTimeout() >> 16), (TypedValue.complexToFraction(0, BitmapDescriptorFactory.HUE_RED, BitmapDescriptorFactory.HUE_RED) > BitmapDescriptorFactory.HUE_RED ? 1 : (TypedValue.complexToFraction(0, BitmapDescriptorFactory.HUE_RED, BitmapDescriptorFactory.HUE_RED) == BitmapDescriptorFactory.HUE_RED ? 0 : -1)) + 5, (char) (29235 - (SystemClock.elapsedRealtimeNanos() > 0L ? 1 : (SystemClock.elapsedRealtimeNanos() == 0L ? 0 : -1))));
|
||
|
byte b7 = $$a[0];
|
||
|
byte b8 = b7;
|
||
|
Object[] objArr9 = new Object[1];
|
||
|
l(b7, b8, (byte) (b8 | 8), objArr9);
|
||
|
obj4 = cls4.getMethod((String) objArr9[0], Object.class, Object.class);
|
||
|
xzZ.y.put(1071125919, obj4);
|
||
|
}
|
||
|
((Method) obj4).invoke(null, objArr8);
|
||
|
int i8 = 90 / 0;
|
||
|
} catch (Throwable th4) {
|
||
|
Throwable cause4 = th4.getCause();
|
||
|
if (cause4 == null) {
|
||
|
throw th4;
|
||
|
}
|
||
|
throw cause4;
|
||
|
}
|
||
|
} else {
|
||
|
cArr[dqy.a] = (char) jArr[dqy.a];
|
||
|
Object[] objArr10 = {dqy, dqy};
|
||
|
Object obj5 = xzZ.y.get(1071125919);
|
||
|
if (obj5 == null) {
|
||
|
Class cls5 = (Class) xzZ.c((ViewConfiguration.getTapTimeout() >> 16) + 407, 5 - ((Process.getThreadPriority(0) + 20) >> 6), (char) ((TypedValue.complexToFloat(0) > BitmapDescriptorFactory.HUE_RED ? 1 : (TypedValue.complexToFloat(0) == BitmapDescriptorFactory.HUE_RED ? 0 : -1)) + 29234));
|
||
|
byte b9 = $$a[0];
|
||
|
byte b10 = b9;
|
||
|
Object[] objArr11 = new Object[1];
|
||
|
l(b9, b10, (byte) (b10 | 8), objArr11);
|
||
|
obj5 = cls5.getMethod((String) objArr11[0], Object.class, Object.class);
|
||
|
xzZ.y.put(1071125919, obj5);
|
||
|
}
|
||
|
((Method) obj5).invoke(null, objArr10);
|
||
|
}
|
||
|
}
|
||
|
objArr[0] = new String(cArr);
|
||
|
}
|
||
|
|
||
|
public final String e() {
|
||
|
int i = 2 % 2;
|
||
|
int i2 = n + 37;
|
||
|
j = i2 % 128;
|
||
|
int i3 = i2 % 2;
|
||
|
String d = this.c.d();
|
||
|
int i4 = j + 43;
|
||
|
n = i4 % 128;
|
||
|
if (i4 % 2 != 0) {
|
||
|
return d;
|
||
|
}
|
||
|
Object obj = null;
|
||
|
obj.hashCode();
|
||
|
throw null;
|
||
|
}
|
||
|
|
||
|
public final AbstractC13163fSk<Boolean> b() {
|
||
|
return (AbstractC13163fSk) a(new Object[]{this}, -2054421059, 2054421060, System.identityHashCode(this));
|
||
|
}
|
||
|
|
||
|
private String a(String str, xWw xww) throws Exception {
|
||
|
return (String) a(new Object[]{this, str, xww}, -1215210998, 1215210998, System.identityHashCode(this));
|
||
|
}
|
||
|
|
||
|
public static /* synthetic */ InterfaceC13169fSq a(jHF jhf, String str, String str2, xWw xww, String str3) {
|
||
|
int i = 2 % 2;
|
||
|
int i2 = j + 105;
|
||
|
n = i2 % 128;
|
||
|
int i3 = i2 % 2;
|
||
|
InterfaceC13169fSq d = jhf.d(str, str2, xww, str3);
|
||
|
if (i3 == 0) {
|
||
|
int i4 = 75 / 0;
|
||
|
}
|
||
|
int i5 = n + 1;
|
||
|
j = i5 % 128;
|
||
|
int i6 = i5 % 2;
|
||
|
return d;
|
||
|
}
|
||
|
|
||
|
public static /* synthetic */ String e(jHF jhf, String str, xWw xww) {
|
||
|
int i = 2 % 2;
|
||
|
int i2 = n + 15;
|
||
|
j = i2 % 128;
|
||
|
if (i2 % 2 == 0) {
|
||
|
return jhf.e(str, xww);
|
||
|
}
|
||
|
jhf.e(str, xww);
|
||
|
Object obj = null;
|
||
|
obj.hashCode();
|
||
|
throw null;
|
||
|
}
|
||
|
}
|