1806 lines
		
	
	
		
			97 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			1806 lines
		
	
	
		
			97 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
| package kotlin.text;
 | |
| 
 | |
| import androidx.constraintlayout.core.motion.utils.TypedValues;
 | |
| import java.util.ArrayList;
 | |
| import java.util.Collection;
 | |
| import java.util.Iterator;
 | |
| import java.util.List;
 | |
| import kotlin.Deprecated;
 | |
| import kotlin.Metadata;
 | |
| import kotlin.Pair;
 | |
| import kotlin.ReplaceWith;
 | |
| import kotlin.TuplesKt;
 | |
| import kotlin.collections.ArraysKt;
 | |
| import kotlin.collections.CharIterator;
 | |
| import kotlin.collections.CollectionsKt;
 | |
| import kotlin.jvm.functions.Function0;
 | |
| import kotlin.jvm.functions.Function1;
 | |
| import kotlin.jvm.functions.Function2;
 | |
| import kotlin.jvm.internal.Intrinsics;
 | |
| import kotlin.ranges.IntRange;
 | |
| import kotlin.ranges.RangesKt;
 | |
| import kotlin.sequences.Sequence;
 | |
| import kotlin.sequences.SequencesKt;
 | |
| 
 | |
| /* JADX INFO: Access modifiers changed from: package-private */
 | |
| /* compiled from: Strings.kt */
 | |
| @Metadata(d1 = {"\u0000\u0084\u0001\n\u0000\n\u0002\u0018\u0002\n\u0002\u0010\r\n\u0002\b\u0003\n\u0002\u0010\b\n\u0002\b\u0003\n\u0002\u0010\u0002\n\u0002\b\u0002\n\u0002\u0010\u000e\n\u0002\b\u0002\n\u0002\u0010\u000b\n\u0002\b\u0003\n\u0002\u0010\f\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0005\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u001e\n\u0002\b\n\n\u0002\u0018\u0002\n\u0002\b\b\n\u0002\u0010\u0019\n\u0002\b\u0006\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010 \n\u0002\b\b\n\u0002\u0010\u0011\n\u0002\b\u000e\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b!\u001a\u0010\u0010\t\u001a\u00020\n2\u0006\u0010\u000b\u001a\u00020\u0006H\u0000\u001a\u001c\u0010\f\u001a\u00020\r*\u00020\u00022\u0006\u0010\u000e\u001a\u00020\u00022\b\b\u0002\u0010\u000f\u001a\u00020\u0010\u001a\u001c\u0010\u0011\u001a\u00020\r*\u00020\u00022\u0006\u0010\u000e\u001a\u00020\u00022\b\b\u0002\u0010\u000f\u001a\u00020\u0010\u001a\u001f\u0010\u0012\u001a\u00020\u0010*\u00020\u00022\u0006\u0010\u0013\u001a\u00020\u00142\b\b\u0002\u0010\u000f\u001a\u00020\u0010H\u0086\u0002\u001a\u001f\u0010\u0012\u001a\u00020\u0010*\u00020\u00022\u0006\u0010\u000e\u001a\u00020\u00022\b\b\u0002\u0010\u000f\u001a\u00020\u0010H\u0086\u0002\u001a\u0015\u0010\u0012\u001a\u00020\u0010*\u00020\u00022\u0006\u0010\u0015\u001a\u00020\u0016H\u0087\n\u001a\u0018\u0010\u0017\u001a\u00020\u0010*\u0004\u0018\u00010\u00022\b\u0010\u000e\u001a\u0004\u0018\u00010\u0002H\u0000\u001a\u0018\u0010\u0018\u001a\u00020\u0010*\u0004\u0018\u00010\u00022\b\u0010\u000e\u001a\u0004\u0018\u00010\u0002H\u0000\u001a\u001c\u0010\u0019\u001a\u00020\u0010*\u00020\u00022\u0006\u0010\u0013\u001a\u00020\u00142\b\b\u0002\u0010\u000f\u001a\u00020\u0010\u001a\u001c\u0010\u0019\u001a\u00020\u0010*\u00020\u00022\u0006\u0010\u001a\u001a\u00020\u00022\b\b\u0002\u0010\u000f\u001a\u00020\u0010\u001a:\u0010\u001b\u001a\u0010\u0012\u0004\u0012\u00020\u0006\u0012\u0004\u0012\u00020\r\u0018\u00010\u001c*\u00020\u00022\f\u0010\u001d\u001a\b\u0012\u0004\u0012\u00020\r0\u001e2\b\b\u0002\u0010\u001f\u001a\u00020\u00062\b\b\u0002\u0010\u000f\u001a\u00020\u0010\u001aE\u0010\u001b\u001a\u0010\u0012\u0004\u0012\u00020\u0006\u0012\u0004\u0012\u00020\r\u0018\u00010\u001c*\u00020\u00022\f\u0010\u001d\u001a\b\u0012\u0004\u0012\u00020\r0\u001e2\u0006\u0010\u001f\u001a\u00020\u00062\u0006\u0010\u000f\u001a\u00020\u00102\u0006\u0010 \u001a\u00020\u0010H\u0002¢\u0006\u0002\b!\u001a:\u0010\"\u001a\u0010\u0012\u0004\u0012\u00020\u0006\u0012\u0004\u0012\u00020\r\u0018\u00010\u001c*\u00020\u00022\f\u0010\u001d\u001a\b\u0012\u0004\u0012\u00020\r0\u001e2\b\b\u0002\u0010\u001f\u001a\u00020\u00062\b\b\u0002\u0010\u000f\u001a\u00020\u0010\u001a\u0012\u0010#\u001a\u00020\u0010*\u00020\u00022\u0006\u0010$\u001a\u00020\u0006\u001a7\u0010%\u001a\u0002H&\"\f\b\u0000\u0010'*\u00020\u0002*\u0002H&\"\u0004\b\u0001\u0010&*\u0002H'2\f\u0010(\u001a\b\u0012\u0004\u0012\u0002H&0)H\u0087\bø\u0001\u0000¢\u0006\u0002\u0010*\u001a7\u0010+\u001a\u0002H&\"\f\b\u0000\u0010'*\u00020\u0002*\u0002H&\"\u0004\b\u0001\u0010&*\u0002H'2\f\u0010(\u001a\b\u0012\u0004\u0012\u0002H&0)H\u0087\bø\u0001\u0000¢\u0006\u0002\u0010*\u001a&\u0010,\u001a\u00020\u0006*\u00020\u00022\u0006\u0010\u0013\u001a\u00020\u00142\b\b\u0002\u0010\u001f\u001a\u00020\u00062\b\b\u0002\u0010\u000f\u001a\u00020\u0010\u001a;\u0010,\u001a\u00020\u0006*\u00020\u00022\u0006\u0010\u000e\u001a\u00020\u00022\u0006\u0010\u001f\u001a\u00020\u00062\u0006\u0010-\u001a\u00020\u00062\u0006\u0010\u000f\u001a\u00020\u00102\b\b\u0002\u0010 \u001a\u00020\u0010H\u0002¢\u0006\u0002\b.\u001a&\u0010,\u001a\u00020\u0006*\u00020\u00022\u0006\u0010/\u001a\u00020\r2\b\b\u0002\u0010\u001f\u001a\u00020\u00062\b\b\u0002\u0010\u000f\u001a\u00020\u0010\u001a&\u00100\u001a\u00020\u0006*\u00020\u00022\u0006\u00101\u001a\u0002022\b\b\u0002\u0010\u001f\u001a\u00020\u00062\b\b\u0002\u0010\u000f\u001a\u00020\u0010\u001a,\u00100\u001a\u00020\u0006*\u00020\u00022\f\u0010\u001d\u001a\b\u0012\u0004\u0012\u00020\r0\u001e2\b\b\u0002\u0010\u001f\u001a\u00020\u00062\b\b\u0002\u0010\u000f\u001a\u00020\u0010\u001a\r\u00103\u001a\u00020\u0010*\u00020\u0002H\u0087\b\u001a\r\u00104\u001a\u00020\u0010*\u00020\u0002H\u0087\b\u001a\r\u00105\u001a\u00020\u0010*\u00020\u0002H\u0087\b\u001a \u00106\u001a\u00020\u0010*\u0004\u0018\u00010\u0002H\u0087\b\u0082\u0002\u000e\n\f\b\u0000\u0012\u0002\u0018\u0001\u001a\u0004\b\u0003\u0010\u0000\u001a \u00107\u001a\u00020\u0010*\u0004\u0018\u00010\u0002H\u0087\b\u0082\u0002\u000e\n\f\b\u0000\u0012\u0002\u0018\u0001\u001a\u0004\b\u0003\u0010\u0000\u001a\r\u00108\u001a\u000209*\u00020\u0002H\u0086\u0002\u001a&\u0010:\u001a\u00020\u0006*\u00020\u00022\u0006\u0010\u0013\u001a\u00020\u00142\b\b\u0002\u0010\u001f\u001a\u00020\u00062\b\b\u0002\u0010\u000f\u001a\u00020\u0010\u001a&\u0010:\u001a\u00020\u0006*\u00020\u00022\u0006\u0010/\u001a\u00020\r2\b\b\u0002\u0010\u001f\u001a\u00020\u00062\b\b\u0002\u0010\u000f\u001a\u00020\u0010\u001a&\u0010;\u001a\u00020\u0006*\u00020\u00022\u0006\u00101\u001a\u0002022\b\b\u0002\u0010\u001f\u001a\u00020\u00062\b\b\u0002\u0010\u000f\u001a\u00020\u0010\u001a,\u0010;\u001a\u00020\u0006*\u00020\u00022\f\u0010\u001d\u001a\b\u0012\u0004\u0012\u00020\r0\u001e2\b\b\u0002\u0010\u001f\u001a\u00020\u00062\b\b\u0002\u0010\u000f\u001a\u00020\u0010\u001a\u0010\u0010<\u001a\b\u0012\u0004\u0012\u00020\r0=*\u00020\u0002\u001a\u0010\u0010>\u001a\b\u0012\u0004\u0012\u00020\r0?*\u00020\u0002\u001a\u0015\u0010@\u001a\u00020\u0010*\u00020\u00022\u0006\u0010\u0015\u001a\u00020\u0016H\u0087\f\u001a\u000f\u0010A\u001a\u00020\r*\u0004\u0018\u00010\rH\u0087\b\u001a\u001c\u0010B\u001a\u00020\u0002*\u00020\u00022\u0006\u0010C\u001a\u00020\u00062\b\b\u0002\u0010D\u001a\u00020\u0014\u001a\u001c\u0010B\u001a\u00020\r*\u00020\r2\u0006\u0010C\u001a\u00020\u00062\b\b\u0002\u0010D\u001a\u00020\u0014\u001a\u001c\u0010E\u001a\u00020\u0002*\u00020\u00022\u0006\u0010C\u001a\u00020\u00062\b\b\u0002\u0010D\u001a\u00020\u0014\u001a\u001c\u0010E\u001a\u00020\r*\u00020\r2\u0006\u0010C\u001a\u00020\u00062\b\b\u0002\u0010D\u001a\u00020\u0014\u001aG\u0010F\u001a\b\u0012\u0004\u0012\u00020\u00010=*\u00020\u00022\u000e\u0010G\u001a\n\u0012\u0006\b\u0001\u0012\u00020\r0H2\b\b\u0002\u0010\u001f\u001a\u00020\u00062\b\b\u0002\u0010\u000f\u001a\u00020\u00102\b\b\u0002\u0010\u000b\u001a\u00020\u0006H\u0002¢\u0006\u0004\bI\u0010J\u001a=\u0010F\u001a\b\u0012\u0004\u0012\u00020\u00010=*\u00020\u00022\u0006\u0010G\u001a\u0002022\b\b\u0002\u0010\u001f\u001a\u00020\u00062\b\b\u0002\u0010\u000f\u001a\u00020\u00102\b\b\u0002\u0010\u000b\u001a\u00020\u0006H\u0002¢\u0006\u0002\bI\u001a4\u0010K\u001a\u00020\u0010*\u00020\u00022\u0006\u0010L\u001a\u00020\u00062\u0006\u0010\u000e\u001a\u00020\u00022\u0006\u0010M\u001a\u00020\u00062\u0006\u0010C\u001a\u00020\u00062\u0006\u0010\u000f\u001a\u00020\u0010H\u0000\u001a\u0012\u0010N\u001a\u00020\u0002*\u00020\u00022\u0006\u0010O\u001a\u00020\u0002\u001a\u0012\u0010N\u001a\u00020\r*\u00020\r2\u0006\u0010O\u001a\u00020\u0002\u001a\u001a\u0010P\u001a\u00020\u0002*\u00020\u00022\u0006\u0010\u001f\u001a\u00020\u00062\u0006\u0010-\u001a\u00020\u0006\u001a\u0012\u0010P\u001a\u00020\u0002*\u00020\u00022\u0006\u0010Q\u001a\u00020\u0001\u001a\u001d\u0010P\u001a\u00020\r*\u00020\r2\u0006\u0010\u001f\u001a\u00020\u00062\u0006\u0010-\u001a\u00020\u0006H\u0087\b\u001a\u0015\u0010P\u001a\u00020\r*\u00020\r2\u0006\u0010Q\u001a\u00020\u0001H\u0087\b\u001a\u0012\u0010R\u001a\u00020\u0002*\u00020\u00022\u0006\u0010\u001a\u001a\u00020\u0002\u001a\u0012\u0010R\u001a\u00020\r*\u00020\r2\u0006\u0010\u001a\u001a\u00020\u0002\u001a\u0012\u0010S\u001a\u00020\u0002*\u00020\u00022\u0006\u0010T\u001a\u00020\u0002\u001a\u001a\u0010S\u001a\u00020\u0002*\u00020\u00022\u0006\u0010O\u001a\u00020\u00022\u0006\u0010\u001a\u001a\u00020\u0002\u001a\u0012\u0010S\u001a\u00020\r*\u00020\r2\u0006\u0010T\u001a\u00020\u0002\u001a\u001a\u0010S\u001a\u00020\r*\u00020\r2\u0006\u0010O\u001a\u00020\u00022\u0006\u0010\u001a\u001a\u00020\u0002\u001a.\u0010U\u001a\u00020\r*\u00020\u00022\u0006\u0010\u0015\u001a\u00020\u00162\u0014\b\b\u0010V\u001a\u000e\u0012\u0004\u0012\u00020X\u0012\u0004\u0012\u00020\u00020WH\u0087\bø\u0001\u0000\u001a\u001d\u0010U\u001a\u00020\r*\u00020\u00022\u0006\u0010\u0015\u001a\u00020\u00162\u0006\u0010Y\u001a\u00020\rH\u0087\b\u001a$\u0010Z\u001a\u00020\r*\u00020\r2\u0006\u0010T\u001a\u00020\u00142\u0006\u0010Y\u001a\u00020\r2\b\b\u0002\u0010[\u001a\u00020\r\u001a$\u0010Z\u001a\u00020\r*\u00020\r2\u0006\u0010T\u001a\u00020\r2\u0006\u0010Y\u001a\u00020\r2\b\b\u0002\u0010[\u001a\u00020\r\u001a$\u0010\\\u001a\u00020\r*\u00020\r2\u0006\u0010T\u001a\u00020\u00142\u0006\u0010Y\u001a\u00020\r2\b\b\u0002\u0010[\u001a\u00020\r\u001a$\u0010\\\u001a\u00020\r*\u00020\r2\u0006\u0010T\u001a\u00020\r2\u0006\u0010Y\u001a\u00020\r2\b\b\u0002\u0010[\u001a\u00020\r\u001a$\u0010]\u001a\u00020\r*\u00020\r2\u0006\u0010T\u001a\u00020\u00142\u0006\u0010Y\u001a\u00020\r2\b\b\u0002\u0010[\u001a\u00020\r\u001a$\u0010]\u001a\u00020\r*\u00020\r2\u0006\u0010T\u001a\u00020\r2\u0006\u0010Y\u001a\u00020\r2\b\b\u0002\u0010[\u001a\u00020\r\u001a$\u0010^\u001a\u00020\r*\u00020\r2\u0006\u0010T\u001a\u00020\u00142\u0006\u0010Y\u001a\u00020\r2\b\b\u0002\u0010[\u001a\u00020\r\u001a$\u0010^\u001a\u00020\r*\u00020\r2\u0006\u0010T\u001a\u00020\r2\u0006\u0010Y\u001a\u00020\r2\b\b\u0002\u0010[\u001a\u00020\r\u001a\u001d\u0010_\u001a\u00020\r*\u00020\u00022\u0006\u0010\u0015\u001a\u00020\u00162\u0006\u0010Y\u001a\u00020\rH\u0087\b\u001a)\u0010`\u001a\u00020\r*\u00020\r2\u0012\u0010V\u001a\u000e\u0012\u0004\u0012\u00020\u0014\u0012\u0004\u0012\u00020\u00140WH\u0087\bø\u0001\u0000¢\u0006\u0002\ba\u001a)\u0010`\u001a\u00020\r*\u00020\r2\u0012\u0010V\u001a\u000e\u0012\u0004\u0012\u00020\u0014\u0012\u0004\u0012\u00020\u00020WH\u0087\bø\u0001\u0000¢\u0006\u0002\bb\u001a\"\u0010c\u001a\u00020\u0002*\u00020\u00022\u0006\u0010\u001f\u001a\u00020\u00062\u0006\u0010-\u001a\u00020\u00062\u0006\u0010Y\u001a\u00020\u0002\u001a\u001a\u0010c\u001a\u00020\u0002*\u00020\u00022\u0006\u0010Q\u001a\u00020\u00012\u0006\u0010Y\u001a\u00020\u0002\u001a%\u0010c\u001a\u00020\r*\u00020\r2\u0006\u0010\u001f\u001a\u00020\u00062\u0006\u0010-\u001a\u00020\u00062\u0006\u0010Y\u001a\u00020\u0002H\u0087\b\u001a\u001d\u0010c\u001a\u00020\r*\u00020\r2\u0006\u0010Q\u001a\u00020\u00012\u0006\u0010Y\u001a\u00020\u0002H\u0087\b\u001a=\u0010d\u001a\b\u0012\u0004\u0012\u00020\r0?*\u00020\u00022\u0012\u0010G\u001a\n\u0012\u0006\b\u0001\u0012\u00020\r0H\"\u00020\r2\b\b\u0002\u0010\u000f\u001a\u00020\u00102\b\b\u0002\u0010\u000b\u001a\u00020\u0006¢\u0006\u0002\u0010e\u001a0\u0010d\u001a\b\u0012\u0004\u0012\u00020\r0?*\u00020\u00022\n\u0010G\u001a\u000202\"\u00020\u00142\b\b\u0002\u0010\u000f\u001a\u00020\u00102\b\b\u0002\u0010\u000b\u001a\u00020\u0006\u001a/\u0010d\u001a\b\u0012\u0004\u0012\u00020\r0?*\u00020\u00022\u0006\u0010T\u001a\u00020\r2\u0006\u0010\u000f\u001a\u00020\u00102\u0006\u0010\u000b\u001a\u00020\u0006H\u0002¢\u0006\u0002\bf\u001a%\u0010d\u001a\b\u0012\u0004\u0012\u00020\r0?*\u00020\u00022\u0006\u0010\u0015\u001a\u00020\u00162\b\b\u0002\u0010\u000b\u001a\u00020\u0006H\u0087\b\u001a=\u0010g\u001a\b\u0012\u0004\u0012\u00020\r0=*\u00020\u00022\u0012\u0010G\u001a\n\u0012\u0006\b\u0001\u0012\u00020\r0H\"\u00020\r2\b\b\u0002\u0010\u000f\u001a\u00020\u00102\b\b\u0002\u0010\u000b\u001a\u00020\u0006¢\u0006\u0002\u0010h\u001a0\u0010g\u001a\b\u0012\u0004\u0012\u00020\r0=*\u00020\u00022\n\u0010G\u001a\u000202\"\u00020\u00142\b\b\u0002\u0010\u000f\u001a\u00020\u00102\b\b\u0002\u0010\u000b\u001a\u00020\u0006\u001a%\u0010g\u001a\b\u0012\u0004\u0012\u00020\r0=*\u00020\u00022\u0006\u0010\u0015\u001a\u00020\u00162\b\b\u0002\u0010\u000b\u001a\u00020\u0006H\u0087\b\u001a\u001c\u0010i\u001a\u00020\u0010*\u00020\u00022\u0006\u0010\u0013\u001a\u00020\u00142\b\b\u0002\u0010\u000f\u001a\u00020\u0010\u001a\u001c\u0010i\u001a\u00020\u0010*\u00020\u00022\u0006\u0010O\u001a\u00020\u00022\b\b\u0002\u0010\u000f\u001a\u00020\u0010\u001a$\u0010i\u001a\u00020\u0010*\u00020\u00022\u0006\u0010O\u001a\u00020\u00022\u0006\u0010\u001f\u001a\u00020\u00062\b\b\u0002\u0010\u000f\u001a\u00020\u0010\u001a\u0012\u0010j\u001a\u00020\u0002*\u00020\u00022\u0006\u0010Q\u001a\u00020\u0001\u001a\u001d\u0010j\u001a\u00020\u0002*\u00020\r2\u0006\u0010k\u001a\u00020\u00062\u0006\u0010l\u001a\u00020\u0006H\u0087\b\u001a\u001f\u0010m\u001a\u00020\r*\u00020\u00022\u0006\u0010\u001f\u001a\u00020\u00062\b\b\u0002\u0010-\u001a\u00020\u0006H\u0087\b\u001a\u0012\u0010m\u001a\u00020\r*\u00020\u00022\u0006\u0010Q\u001a\u00020\u0001\u001a\u0012\u0010m\u001a\u00020\r*\u00020\r2\u0006\u0010Q\u001a\u00020\u0001\u001a\u001c\u0010n\u001a\u00020\r*\u00020\r2\u0006\u0010T\u001a\u00020\u00142\b\b\u0002\u0010[\u001a\u00020\r\u001a\u001c\u0010n\u001a\u00020\r*\u00020\r2\u0006\u0010T\u001a\u00020\r2\b\b\u0002\u0010[\u001a\u00020\r\u001a\u001c\u0010o\u001a\u00020\r*\u00020\r2\u0006\u0010T\u001a\u00020\u00142\b\b\u0002\u0010[\u001a\u00020\r\u001a\u001c\u0010o\u001a\u00020\r*\u00020\r2\u0006\u0010T\u001a\u00020\r2\b\b\u0002\u0010[\u001a\u00020\r\u001a\u001c\u0010p\u001a\u00020\r*\u00020\r2\u0006\u0010T\u001a\u00020\u00142\b\b\u0002\u0010[\u001a\u00020\r\u001a\u001c\u0010p\u001a\u00020\r*\u00020\r2\u0006\u0010T\u001a\u00020\r2\b\b\u0002\u0010[\u001a\u00020\r\u001a\u001c\u0010q\u001a\u00020\r*\u00020\r2\u0006\u0010T\u001a\u00020\u00142\b\b\u0002\u0010[\u001a\u00020\r\u001a\u001c\u0010q\u001a\u00020\r*\u00020\r2\u0006\u0010T\u001a\u00020\r2\b\b\u0002\u0010[\u001a\u00020\r\u001a\f\u0010r\u001a\u00020\u0010*\u00020\rH\u0007\u001a\u0013\u0010s\u001a\u0004\u0018\u00010\u0010*\u00020\rH\u0007¢\u0006\u0002\u0010t\u001a\n\u0010u\u001a\u00020\u0002*\u00020\u0002\u001a$\u0010u\u001a\u00020\u0002*\u00020\u00022\u0012\u0010v\u001a\u000e\u0012\u0004\u0012\u00020\u0014\u0012\u0004\u0012\u00020\u00100WH\u0086\bø\u0001\u0000\u001a\u0016\u0010u\u001a\u00020\u0002*\u00020\u00022\n\u00101\u001a\u000202\"\u00020\u0014\u001a\r\u0010u\u001a\u00020\r*\u00020\rH\u0087\b\u001a$\u0010u\u001a\u00020\r*\u00020\r2\u0012\u0010v\u001a\u000e\u0012\u0004\u0012\u00020\u0014\u0012\u0004\u0012\u00020\u00100WH\u0086\bø\u0001\u0000\u001a\u0016\u0010u\u001a\u00020\r*\u00020\r2\n\u00101\u001a\u000202\"\u00020\u0014\u001a\n\u0010w\u001a\u00020\u0002*\u00020\u0002\u001a$\u0010w\u001a\u00020\u0002*\u00020\u00022\u0012\u0010v\u001a\u000e\u0012\u0004\u0012\u00020\u0014\u0012\u0004\u0012\u00020\u00100WH\u0086\bø\u0001\u0000\u001a\u0016\u0010w\u001a\u00020\u0002*\u00020\u00022\n\u00101\u001a\u000202\"\u00020\u0014\u001a\r\u0010w\u001a\u00020\r*\u00020\rH\u0087\b\u001a$\u0010w\u001a\u00020\r*\u00020\r2\u0012\u0010v\u001a\u000e\u0012\u0004\u0012\u00020\u0014\u0012\u0004\u0012\u00020\u00100WH\u0086\bø\u0001\u0000\u001a\u0016\u0010w\u001a\u00020\r*\u00020\r2\n\u00101\u001a\u000202\"\u00020\u0014\u001a\n\u0010x\u001a\u00020\u0002*\u00020\u0002\u001a$\u0010x\u001a\u00020\u0002*\u00020\u00022\u0012\u0010v\u001a\u000e\u0012\u0004\u0012\u00020\u0014\u0012\u0004\u0012\u00020\u00100WH\u0086\bø\u0001\u0000\u001a\u0016\u0010x\u001a\u00020\u0002*\u00020\u00022\n\u00101\u001a\u000202\"\u00020\u0014\u001a\r\u0010x\u001a\u00020\r*\u00020\rH\u0087\b\u001a$\u0010x\u001a\u00020\r*\u00020\r2\u0012\u0010v\u001a\u000e\u0012\u0004\u0012\u00020\u0014\u0012\u0004\u0012\u00020\u00100WH\u0086\bø\u0001\u0000\u001a\u0016\u0010x\u001a\u00020\r*\u00020\r2\n\u00101\u001a\u000202\"\u00020\u0014\"\u0015\u0010\u0000\u001a\u00020\u0001*\u00020\u00028F¢\u0006\u0006\u001a\u0004\b\u0003\u0010\u0004\"\u0015\u0010\u0005\u001a\u00020\u0006*\u00020\u00028F¢\u0006\u0006\u001a\u0004\b\u0007\u0010\b\u0082\u0002\u0007\n\u0005\b\u009920\u0001¨\u0006y"}, d2 = {"indices", "Lkotlin/ranges/IntRange;", "", "getIndices", "(Ljava/lang/CharSequence;)Lkotlin/ranges/IntRange;", "lastIndex", "", "getLastIndex", "(Ljava/lang/CharSequence;)I", "requireNonNegativeLimit", "", "limit", "commonPrefixWith", "", "other", "ignoreCase", "", "commonSuffixWith", "contains", "char", "", "regex", "Lkotlin/text/Regex;", "contentEqualsIgnoreCaseImpl", "contentEqualsImpl", "endsWith", "suffix", "findAnyOf", "Lkotlin/Pair;", "strings", "", "startIndex", "last", "findAnyOf$StringsKt__StringsKt", "findLastAnyOf", "hasSurrogatePairAt", "index", "ifBlank", "R", "C", "defaultValue", "Lkotlin/Function0;", "(Ljava/lang/CharSequence;Lkotlin/jvm/functions/Function0;)Ljava/lang/Object;", "ifEmpty", "indexOf", "endIndex", "indexOf$StringsKt__StringsKt", TypedValues.Custom.S_STRING, "indexOfAny", "chars", "", "isEmpty", "isNotBlank", "isNotEmpty", "isNullOrBlank", "isNullOrEmpty", "iterator", "Lkotlin/collections/CharIterator;", "lastIndexOf", "lastIndexOfAny", "lineSequence", "Lkotlin/sequences/Sequence;", "lines", "", "matches", "orEmpty", "padEnd", "length", "padChar", "padStart", "rangesDelimitedBy", "delimiters", "", "rangesDelimitedBy$StringsKt__StringsKt", "(Ljava/lang/CharSequence;[Ljava/lang/String;IZI)Lkotlin/sequences/Sequence;", "regionMatchesImpl", "thisOffset", "otherOffset", "removePrefix", "prefix", "removeRange", "range", "removeSuffix", "removeSurrounding", "delimiter", "replace", "transform", "Lkotlin/Function1;", "Lkotlin/text/MatchResult;", "replacement", "replaceAfter", "missingDelimiterValue", "replaceAfterLast", "replaceBefore", "replaceBeforeLast", "replaceFirst", "replaceFirstChar", "replaceFirstCharWithChar", "replaceFirstCharWithCharSequence", "replaceRange", "split", "(Ljava/lang/CharSequence;[Ljava/lang/String;ZI)Ljava/util/List;", "split$StringsKt__StringsKt", "splitToSequence", "(Ljava/lang/CharSequence;[Ljava/lang/String;ZI)Lkotlin/sequences/Sequence;", "startsWith", "subSequence", "start", "end", "substring", "substringAfter", "substringAfterLast", "substringBefore", "substringBeforeLast", "toBooleanStrict", "toBooleanStrictOrNull", "(Ljava/lang/String;)Ljava/lang/Boolean;", "trim", "predicate", "trimEnd", "trimStart", "kotlin-stdlib"}, k = 5, mv = {1, 8, 0}, xi = 49, xs = "kotlin/text/StringsKt")
 | |
| /* loaded from: classes.dex */
 | |
| public class StringsKt__StringsKt extends StringsKt__StringsJVMKt {
 | |
|     private static final String orEmpty(String str) {
 | |
|         return str == null ? "" : str;
 | |
|     }
 | |
| 
 | |
|     public static final CharSequence trim(CharSequence charSequence, Function1<? super Character, Boolean> predicate) {
 | |
|         Intrinsics.checkNotNullParameter(charSequence, "<this>");
 | |
|         Intrinsics.checkNotNullParameter(predicate, "predicate");
 | |
|         int length = charSequence.length() - 1;
 | |
|         int i = 0;
 | |
|         boolean z = false;
 | |
|         while (i <= length) {
 | |
|             boolean booleanValue = predicate.invoke(Character.valueOf(charSequence.charAt(!z ? i : length))).booleanValue();
 | |
|             if (z) {
 | |
|                 if (!booleanValue) {
 | |
|                     break;
 | |
|                 }
 | |
|                 length--;
 | |
|             } else if (booleanValue) {
 | |
|                 i++;
 | |
|             } else {
 | |
|                 z = true;
 | |
|             }
 | |
|         }
 | |
|         return charSequence.subSequence(i, length + 1);
 | |
|     }
 | |
| 
 | |
|     public static final String trim(String str, Function1<? super Character, Boolean> predicate) {
 | |
|         Intrinsics.checkNotNullParameter(str, "<this>");
 | |
|         Intrinsics.checkNotNullParameter(predicate, "predicate");
 | |
|         String str2 = str;
 | |
|         int length = str2.length() - 1;
 | |
|         int i = 0;
 | |
|         boolean z = false;
 | |
|         while (i <= length) {
 | |
|             boolean booleanValue = predicate.invoke(Character.valueOf(str2.charAt(!z ? i : length))).booleanValue();
 | |
|             if (z) {
 | |
|                 if (!booleanValue) {
 | |
|                     break;
 | |
|                 }
 | |
|                 length--;
 | |
|             } else if (booleanValue) {
 | |
|                 i++;
 | |
|             } else {
 | |
|                 z = true;
 | |
|             }
 | |
|         }
 | |
|         return str2.subSequence(i, length + 1).toString();
 | |
|     }
 | |
| 
 | |
|     public static final CharSequence trimStart(CharSequence charSequence, Function1<? super Character, Boolean> predicate) {
 | |
|         Intrinsics.checkNotNullParameter(charSequence, "<this>");
 | |
|         Intrinsics.checkNotNullParameter(predicate, "predicate");
 | |
|         int length = charSequence.length();
 | |
|         for (int i = 0; i < length; i++) {
 | |
|             if (!predicate.invoke(Character.valueOf(charSequence.charAt(i))).booleanValue()) {
 | |
|                 return charSequence.subSequence(i, charSequence.length());
 | |
|             }
 | |
|         }
 | |
|         return "";
 | |
|     }
 | |
| 
 | |
|     public static final String trimStart(String str, Function1<? super Character, Boolean> predicate) {
 | |
|         String str2;
 | |
|         Intrinsics.checkNotNullParameter(str, "<this>");
 | |
|         Intrinsics.checkNotNullParameter(predicate, "predicate");
 | |
|         String str3 = str;
 | |
|         int length = str3.length();
 | |
|         int i = 0;
 | |
|         while (true) {
 | |
|             if (i < length) {
 | |
|                 if (!predicate.invoke(Character.valueOf(str3.charAt(i))).booleanValue()) {
 | |
|                     str2 = str3.subSequence(i, str3.length());
 | |
|                     break;
 | |
|                 }
 | |
|                 i++;
 | |
|             } else {
 | |
|                 break;
 | |
|             }
 | |
|         }
 | |
|         return str2.toString();
 | |
|     }
 | |
| 
 | |
|     public static final CharSequence trimEnd(CharSequence charSequence, Function1<? super Character, Boolean> predicate) {
 | |
|         Intrinsics.checkNotNullParameter(charSequence, "<this>");
 | |
|         Intrinsics.checkNotNullParameter(predicate, "predicate");
 | |
|         int length = charSequence.length() - 1;
 | |
|         if (length >= 0) {
 | |
|             while (true) {
 | |
|                 int i = length - 1;
 | |
|                 if (!predicate.invoke(Character.valueOf(charSequence.charAt(length))).booleanValue()) {
 | |
|                     return charSequence.subSequence(0, length + 1);
 | |
|                 }
 | |
|                 if (i < 0) {
 | |
|                     break;
 | |
|                 }
 | |
|                 length = i;
 | |
|             }
 | |
|         }
 | |
|         return "";
 | |
|     }
 | |
| 
 | |
|     public static final String trimEnd(String str, Function1<? super Character, Boolean> predicate) {
 | |
|         String str2;
 | |
|         Intrinsics.checkNotNullParameter(str, "<this>");
 | |
|         Intrinsics.checkNotNullParameter(predicate, "predicate");
 | |
|         String str3 = str;
 | |
|         int length = str3.length() - 1;
 | |
|         if (length >= 0) {
 | |
|             while (true) {
 | |
|                 int i = length - 1;
 | |
|                 if (!predicate.invoke(Character.valueOf(str3.charAt(length))).booleanValue()) {
 | |
|                     str2 = str3.subSequence(0, length + 1);
 | |
|                     break;
 | |
|                 }
 | |
|                 if (i < 0) {
 | |
|                     break;
 | |
|                 }
 | |
|                 length = i;
 | |
|             }
 | |
|             return str2.toString();
 | |
|         }
 | |
|         return str2.toString();
 | |
|     }
 | |
| 
 | |
|     private static final String trim(String str) {
 | |
|         Intrinsics.checkNotNullParameter(str, "<this>");
 | |
|         return StringsKt.trim((CharSequence) str).toString();
 | |
|     }
 | |
| 
 | |
|     private static final String trimStart(String str) {
 | |
|         Intrinsics.checkNotNullParameter(str, "<this>");
 | |
|         return StringsKt.trimStart((CharSequence) str).toString();
 | |
|     }
 | |
| 
 | |
|     private static final String trimEnd(String str) {
 | |
|         Intrinsics.checkNotNullParameter(str, "<this>");
 | |
|         return StringsKt.trimEnd((CharSequence) str).toString();
 | |
|     }
 | |
| 
 | |
|     public static /* synthetic */ CharSequence padStart$default(CharSequence charSequence, int i, char c, int i2, Object obj) {
 | |
|         if ((i2 & 2) != 0) {
 | |
|             c = ' ';
 | |
|         }
 | |
|         return StringsKt.padStart(charSequence, i, c);
 | |
|     }
 | |
| 
 | |
|     /* JADX WARN: Type inference failed for: r4v4, types: [kotlin.collections.IntIterator] */
 | |
|     public static final CharSequence padStart(CharSequence charSequence, int i, char c) {
 | |
|         Intrinsics.checkNotNullParameter(charSequence, "<this>");
 | |
|         if (i < 0) {
 | |
|             throw new IllegalArgumentException("Desired length " + i + " is less than zero.");
 | |
|         }
 | |
|         if (i <= charSequence.length()) {
 | |
|             return charSequence.subSequence(0, charSequence.length());
 | |
|         }
 | |
|         StringBuilder sb = new StringBuilder(i);
 | |
|         ?? it = new IntRange(1, i - charSequence.length()).iterator();
 | |
|         while (it.hasNext()) {
 | |
|             it.nextInt();
 | |
|             sb.append(c);
 | |
|         }
 | |
|         sb.append(charSequence);
 | |
|         return sb;
 | |
|     }
 | |
| 
 | |
|     public static /* synthetic */ String padStart$default(String str, int i, char c, int i2, Object obj) {
 | |
|         if ((i2 & 2) != 0) {
 | |
|             c = ' ';
 | |
|         }
 | |
|         return StringsKt.padStart(str, i, c);
 | |
|     }
 | |
| 
 | |
|     public static final String padStart(String str, int i, char c) {
 | |
|         Intrinsics.checkNotNullParameter(str, "<this>");
 | |
|         return StringsKt.padStart((CharSequence) str, i, c).toString();
 | |
|     }
 | |
| 
 | |
|     public static /* synthetic */ CharSequence padEnd$default(CharSequence charSequence, int i, char c, int i2, Object obj) {
 | |
|         if ((i2 & 2) != 0) {
 | |
|             c = ' ';
 | |
|         }
 | |
|         return StringsKt.padEnd(charSequence, i, c);
 | |
|     }
 | |
| 
 | |
|     /* JADX WARN: Type inference failed for: r2v4, types: [kotlin.collections.IntIterator] */
 | |
|     public static final CharSequence padEnd(CharSequence charSequence, int i, char c) {
 | |
|         Intrinsics.checkNotNullParameter(charSequence, "<this>");
 | |
|         if (i < 0) {
 | |
|             throw new IllegalArgumentException("Desired length " + i + " is less than zero.");
 | |
|         }
 | |
|         if (i <= charSequence.length()) {
 | |
|             return charSequence.subSequence(0, charSequence.length());
 | |
|         }
 | |
|         StringBuilder sb = new StringBuilder(i);
 | |
|         sb.append(charSequence);
 | |
|         ?? it = new IntRange(1, i - charSequence.length()).iterator();
 | |
|         while (it.hasNext()) {
 | |
|             it.nextInt();
 | |
|             sb.append(c);
 | |
|         }
 | |
|         return sb;
 | |
|     }
 | |
| 
 | |
|     public static /* synthetic */ String padEnd$default(String str, int i, char c, int i2, Object obj) {
 | |
|         if ((i2 & 2) != 0) {
 | |
|             c = ' ';
 | |
|         }
 | |
|         return StringsKt.padEnd(str, i, c);
 | |
|     }
 | |
| 
 | |
|     public static final String padEnd(String str, int i, char c) {
 | |
|         Intrinsics.checkNotNullParameter(str, "<this>");
 | |
|         return StringsKt.padEnd((CharSequence) str, i, c).toString();
 | |
|     }
 | |
| 
 | |
|     private static final boolean isNullOrEmpty(CharSequence charSequence) {
 | |
|         return charSequence == null || charSequence.length() == 0;
 | |
|     }
 | |
| 
 | |
|     private static final boolean isEmpty(CharSequence charSequence) {
 | |
|         Intrinsics.checkNotNullParameter(charSequence, "<this>");
 | |
|         return charSequence.length() == 0;
 | |
|     }
 | |
| 
 | |
|     private static final boolean isNotEmpty(CharSequence charSequence) {
 | |
|         Intrinsics.checkNotNullParameter(charSequence, "<this>");
 | |
|         return charSequence.length() > 0;
 | |
|     }
 | |
| 
 | |
|     private static final boolean isNotBlank(CharSequence charSequence) {
 | |
|         Intrinsics.checkNotNullParameter(charSequence, "<this>");
 | |
|         return !StringsKt.isBlank(charSequence);
 | |
|     }
 | |
| 
 | |
|     private static final boolean isNullOrBlank(CharSequence charSequence) {
 | |
|         return charSequence == null || StringsKt.isBlank(charSequence);
 | |
|     }
 | |
| 
 | |
|     public static final CharIterator iterator(final CharSequence charSequence) {
 | |
|         Intrinsics.checkNotNullParameter(charSequence, "<this>");
 | |
|         return new CharIterator() { // from class: kotlin.text.StringsKt__StringsKt$iterator$1
 | |
|             private int index;
 | |
| 
 | |
|             @Override // kotlin.collections.CharIterator
 | |
|             public char nextChar() {
 | |
|                 CharSequence charSequence2 = charSequence;
 | |
|                 int i = this.index;
 | |
|                 this.index = i + 1;
 | |
|                 return charSequence2.charAt(i);
 | |
|             }
 | |
| 
 | |
|             @Override // java.util.Iterator
 | |
|             public boolean hasNext() {
 | |
|                 return this.index < charSequence.length();
 | |
|             }
 | |
|         };
 | |
|     }
 | |
| 
 | |
|     /* JADX WARN: Multi-variable type inference failed */
 | |
|     private static final <C extends CharSequence & R, R> R ifEmpty(C c, Function0<? extends R> defaultValue) {
 | |
|         Intrinsics.checkNotNullParameter(defaultValue, "defaultValue");
 | |
|         return c.length() == 0 ? defaultValue.invoke() : c;
 | |
|     }
 | |
| 
 | |
|     /* JADX WARN: Multi-variable type inference failed */
 | |
|     private static final <C extends CharSequence & R, R> R ifBlank(C c, Function0<? extends R> defaultValue) {
 | |
|         Intrinsics.checkNotNullParameter(defaultValue, "defaultValue");
 | |
|         return StringsKt.isBlank(c) ? defaultValue.invoke() : c;
 | |
|     }
 | |
| 
 | |
|     public static final IntRange getIndices(CharSequence charSequence) {
 | |
|         Intrinsics.checkNotNullParameter(charSequence, "<this>");
 | |
|         return new IntRange(0, charSequence.length() - 1);
 | |
|     }
 | |
| 
 | |
|     public static final int getLastIndex(CharSequence charSequence) {
 | |
|         Intrinsics.checkNotNullParameter(charSequence, "<this>");
 | |
|         return charSequence.length() - 1;
 | |
|     }
 | |
| 
 | |
|     public static final boolean hasSurrogatePairAt(CharSequence charSequence, int i) {
 | |
|         Intrinsics.checkNotNullParameter(charSequence, "<this>");
 | |
|         return new IntRange(0, charSequence.length() + (-2)).contains(i) && Character.isHighSurrogate(charSequence.charAt(i)) && Character.isLowSurrogate(charSequence.charAt(i + 1));
 | |
|     }
 | |
| 
 | |
|     public static final String substring(String str, IntRange range) {
 | |
|         Intrinsics.checkNotNullParameter(str, "<this>");
 | |
|         Intrinsics.checkNotNullParameter(range, "range");
 | |
|         String substring = str.substring(range.getStart().intValue(), range.getEndInclusive().intValue() + 1);
 | |
|         Intrinsics.checkNotNullExpressionValue(substring, "this as java.lang.String…ing(startIndex, endIndex)");
 | |
|         return substring;
 | |
|     }
 | |
| 
 | |
|     public static final CharSequence subSequence(CharSequence charSequence, IntRange range) {
 | |
|         Intrinsics.checkNotNullParameter(charSequence, "<this>");
 | |
|         Intrinsics.checkNotNullParameter(range, "range");
 | |
|         return charSequence.subSequence(range.getStart().intValue(), range.getEndInclusive().intValue() + 1);
 | |
|     }
 | |
| 
 | |
|     @Deprecated(message = "Use parameters named startIndex and endIndex.", replaceWith = @ReplaceWith(expression = "subSequence(startIndex = start, endIndex = end)", imports = {}))
 | |
|     private static final CharSequence subSequence(String str, int i, int i2) {
 | |
|         Intrinsics.checkNotNullParameter(str, "<this>");
 | |
|         return str.subSequence(i, i2);
 | |
|     }
 | |
| 
 | |
|     private static final String substring(CharSequence charSequence, int i, int i2) {
 | |
|         Intrinsics.checkNotNullParameter(charSequence, "<this>");
 | |
|         return charSequence.subSequence(i, i2).toString();
 | |
|     }
 | |
| 
 | |
|     static /* synthetic */ String substring$default(CharSequence charSequence, int i, int i2, int i3, Object obj) {
 | |
|         if ((i3 & 2) != 0) {
 | |
|             i2 = charSequence.length();
 | |
|         }
 | |
|         Intrinsics.checkNotNullParameter(charSequence, "<this>");
 | |
|         return charSequence.subSequence(i, i2).toString();
 | |
|     }
 | |
| 
 | |
|     public static final String substring(CharSequence charSequence, IntRange range) {
 | |
|         Intrinsics.checkNotNullParameter(charSequence, "<this>");
 | |
|         Intrinsics.checkNotNullParameter(range, "range");
 | |
|         return charSequence.subSequence(range.getStart().intValue(), range.getEndInclusive().intValue() + 1).toString();
 | |
|     }
 | |
| 
 | |
|     public static /* synthetic */ String substringBefore$default(String str, char c, String str2, int i, Object obj) {
 | |
|         if ((i & 2) != 0) {
 | |
|             str2 = str;
 | |
|         }
 | |
|         return StringsKt.substringBefore(str, c, str2);
 | |
|     }
 | |
| 
 | |
|     public static final String substringBefore(String str, char c, String missingDelimiterValue) {
 | |
|         Intrinsics.checkNotNullParameter(str, "<this>");
 | |
|         Intrinsics.checkNotNullParameter(missingDelimiterValue, "missingDelimiterValue");
 | |
|         int indexOf$default = StringsKt.indexOf$default((CharSequence) str, c, 0, false, 6, (Object) null);
 | |
|         if (indexOf$default == -1) {
 | |
|             return missingDelimiterValue;
 | |
|         }
 | |
|         String substring = str.substring(0, indexOf$default);
 | |
|         Intrinsics.checkNotNullExpressionValue(substring, "this as java.lang.String…ing(startIndex, endIndex)");
 | |
|         return substring;
 | |
|     }
 | |
| 
 | |
|     public static /* synthetic */ String substringBefore$default(String str, String str2, String str3, int i, Object obj) {
 | |
|         if ((i & 2) != 0) {
 | |
|             str3 = str;
 | |
|         }
 | |
|         return StringsKt.substringBefore(str, str2, str3);
 | |
|     }
 | |
| 
 | |
|     public static final String substringBefore(String str, String delimiter, String missingDelimiterValue) {
 | |
|         Intrinsics.checkNotNullParameter(str, "<this>");
 | |
|         Intrinsics.checkNotNullParameter(delimiter, "delimiter");
 | |
|         Intrinsics.checkNotNullParameter(missingDelimiterValue, "missingDelimiterValue");
 | |
|         int indexOf$default = StringsKt.indexOf$default((CharSequence) str, delimiter, 0, false, 6, (Object) null);
 | |
|         if (indexOf$default == -1) {
 | |
|             return missingDelimiterValue;
 | |
|         }
 | |
|         String substring = str.substring(0, indexOf$default);
 | |
|         Intrinsics.checkNotNullExpressionValue(substring, "this as java.lang.String…ing(startIndex, endIndex)");
 | |
|         return substring;
 | |
|     }
 | |
| 
 | |
|     public static /* synthetic */ String substringAfter$default(String str, char c, String str2, int i, Object obj) {
 | |
|         if ((i & 2) != 0) {
 | |
|             str2 = str;
 | |
|         }
 | |
|         return StringsKt.substringAfter(str, c, str2);
 | |
|     }
 | |
| 
 | |
|     public static final String substringAfter(String str, char c, String missingDelimiterValue) {
 | |
|         Intrinsics.checkNotNullParameter(str, "<this>");
 | |
|         Intrinsics.checkNotNullParameter(missingDelimiterValue, "missingDelimiterValue");
 | |
|         int indexOf$default = StringsKt.indexOf$default((CharSequence) str, c, 0, false, 6, (Object) null);
 | |
|         if (indexOf$default == -1) {
 | |
|             return missingDelimiterValue;
 | |
|         }
 | |
|         String substring = str.substring(indexOf$default + 1, str.length());
 | |
|         Intrinsics.checkNotNullExpressionValue(substring, "this as java.lang.String…ing(startIndex, endIndex)");
 | |
|         return substring;
 | |
|     }
 | |
| 
 | |
|     public static /* synthetic */ String substringAfter$default(String str, String str2, String str3, int i, Object obj) {
 | |
|         if ((i & 2) != 0) {
 | |
|             str3 = str;
 | |
|         }
 | |
|         return StringsKt.substringAfter(str, str2, str3);
 | |
|     }
 | |
| 
 | |
|     public static final String substringAfter(String str, String delimiter, String missingDelimiterValue) {
 | |
|         Intrinsics.checkNotNullParameter(str, "<this>");
 | |
|         Intrinsics.checkNotNullParameter(delimiter, "delimiter");
 | |
|         Intrinsics.checkNotNullParameter(missingDelimiterValue, "missingDelimiterValue");
 | |
|         int indexOf$default = StringsKt.indexOf$default((CharSequence) str, delimiter, 0, false, 6, (Object) null);
 | |
|         if (indexOf$default == -1) {
 | |
|             return missingDelimiterValue;
 | |
|         }
 | |
|         String substring = str.substring(indexOf$default + delimiter.length(), str.length());
 | |
|         Intrinsics.checkNotNullExpressionValue(substring, "this as java.lang.String…ing(startIndex, endIndex)");
 | |
|         return substring;
 | |
|     }
 | |
| 
 | |
|     public static /* synthetic */ String substringBeforeLast$default(String str, char c, String str2, int i, Object obj) {
 | |
|         if ((i & 2) != 0) {
 | |
|             str2 = str;
 | |
|         }
 | |
|         return StringsKt.substringBeforeLast(str, c, str2);
 | |
|     }
 | |
| 
 | |
|     public static final String substringBeforeLast(String str, char c, String missingDelimiterValue) {
 | |
|         Intrinsics.checkNotNullParameter(str, "<this>");
 | |
|         Intrinsics.checkNotNullParameter(missingDelimiterValue, "missingDelimiterValue");
 | |
|         int lastIndexOf$default = StringsKt.lastIndexOf$default((CharSequence) str, c, 0, false, 6, (Object) null);
 | |
|         if (lastIndexOf$default == -1) {
 | |
|             return missingDelimiterValue;
 | |
|         }
 | |
|         String substring = str.substring(0, lastIndexOf$default);
 | |
|         Intrinsics.checkNotNullExpressionValue(substring, "this as java.lang.String…ing(startIndex, endIndex)");
 | |
|         return substring;
 | |
|     }
 | |
| 
 | |
|     public static /* synthetic */ String substringBeforeLast$default(String str, String str2, String str3, int i, Object obj) {
 | |
|         if ((i & 2) != 0) {
 | |
|             str3 = str;
 | |
|         }
 | |
|         return StringsKt.substringBeforeLast(str, str2, str3);
 | |
|     }
 | |
| 
 | |
|     public static final String substringBeforeLast(String str, String delimiter, String missingDelimiterValue) {
 | |
|         Intrinsics.checkNotNullParameter(str, "<this>");
 | |
|         Intrinsics.checkNotNullParameter(delimiter, "delimiter");
 | |
|         Intrinsics.checkNotNullParameter(missingDelimiterValue, "missingDelimiterValue");
 | |
|         int lastIndexOf$default = StringsKt.lastIndexOf$default((CharSequence) str, delimiter, 0, false, 6, (Object) null);
 | |
|         if (lastIndexOf$default == -1) {
 | |
|             return missingDelimiterValue;
 | |
|         }
 | |
|         String substring = str.substring(0, lastIndexOf$default);
 | |
|         Intrinsics.checkNotNullExpressionValue(substring, "this as java.lang.String…ing(startIndex, endIndex)");
 | |
|         return substring;
 | |
|     }
 | |
| 
 | |
|     public static /* synthetic */ String substringAfterLast$default(String str, char c, String str2, int i, Object obj) {
 | |
|         if ((i & 2) != 0) {
 | |
|             str2 = str;
 | |
|         }
 | |
|         return StringsKt.substringAfterLast(str, c, str2);
 | |
|     }
 | |
| 
 | |
|     public static final String substringAfterLast(String str, char c, String missingDelimiterValue) {
 | |
|         Intrinsics.checkNotNullParameter(str, "<this>");
 | |
|         Intrinsics.checkNotNullParameter(missingDelimiterValue, "missingDelimiterValue");
 | |
|         int lastIndexOf$default = StringsKt.lastIndexOf$default((CharSequence) str, c, 0, false, 6, (Object) null);
 | |
|         if (lastIndexOf$default == -1) {
 | |
|             return missingDelimiterValue;
 | |
|         }
 | |
|         String substring = str.substring(lastIndexOf$default + 1, str.length());
 | |
|         Intrinsics.checkNotNullExpressionValue(substring, "this as java.lang.String…ing(startIndex, endIndex)");
 | |
|         return substring;
 | |
|     }
 | |
| 
 | |
|     public static /* synthetic */ String substringAfterLast$default(String str, String str2, String str3, int i, Object obj) {
 | |
|         if ((i & 2) != 0) {
 | |
|             str3 = str;
 | |
|         }
 | |
|         return StringsKt.substringAfterLast(str, str2, str3);
 | |
|     }
 | |
| 
 | |
|     public static final String substringAfterLast(String str, String delimiter, String missingDelimiterValue) {
 | |
|         Intrinsics.checkNotNullParameter(str, "<this>");
 | |
|         Intrinsics.checkNotNullParameter(delimiter, "delimiter");
 | |
|         Intrinsics.checkNotNullParameter(missingDelimiterValue, "missingDelimiterValue");
 | |
|         int lastIndexOf$default = StringsKt.lastIndexOf$default((CharSequence) str, delimiter, 0, false, 6, (Object) null);
 | |
|         if (lastIndexOf$default == -1) {
 | |
|             return missingDelimiterValue;
 | |
|         }
 | |
|         String substring = str.substring(lastIndexOf$default + delimiter.length(), str.length());
 | |
|         Intrinsics.checkNotNullExpressionValue(substring, "this as java.lang.String…ing(startIndex, endIndex)");
 | |
|         return substring;
 | |
|     }
 | |
| 
 | |
|     public static final CharSequence replaceRange(CharSequence charSequence, int i, int i2, CharSequence replacement) {
 | |
|         Intrinsics.checkNotNullParameter(charSequence, "<this>");
 | |
|         Intrinsics.checkNotNullParameter(replacement, "replacement");
 | |
|         if (i2 < i) {
 | |
|             throw new IndexOutOfBoundsException("End index (" + i2 + ") is less than start index (" + i + ").");
 | |
|         }
 | |
|         StringBuilder sb = new StringBuilder();
 | |
|         sb.append(charSequence, 0, i);
 | |
|         Intrinsics.checkNotNullExpressionValue(sb, "this.append(value, startIndex, endIndex)");
 | |
|         sb.append(replacement);
 | |
|         sb.append(charSequence, i2, charSequence.length());
 | |
|         Intrinsics.checkNotNullExpressionValue(sb, "this.append(value, startIndex, endIndex)");
 | |
|         return sb;
 | |
|     }
 | |
| 
 | |
|     private static final String replaceRange(String str, int i, int i2, CharSequence replacement) {
 | |
|         Intrinsics.checkNotNullParameter(str, "<this>");
 | |
|         Intrinsics.checkNotNullParameter(replacement, "replacement");
 | |
|         return StringsKt.replaceRange((CharSequence) str, i, i2, replacement).toString();
 | |
|     }
 | |
| 
 | |
|     public static final CharSequence replaceRange(CharSequence charSequence, IntRange range, CharSequence replacement) {
 | |
|         Intrinsics.checkNotNullParameter(charSequence, "<this>");
 | |
|         Intrinsics.checkNotNullParameter(range, "range");
 | |
|         Intrinsics.checkNotNullParameter(replacement, "replacement");
 | |
|         return StringsKt.replaceRange(charSequence, range.getStart().intValue(), range.getEndInclusive().intValue() + 1, replacement);
 | |
|     }
 | |
| 
 | |
|     private static final String replaceRange(String str, IntRange range, CharSequence replacement) {
 | |
|         Intrinsics.checkNotNullParameter(str, "<this>");
 | |
|         Intrinsics.checkNotNullParameter(range, "range");
 | |
|         Intrinsics.checkNotNullParameter(replacement, "replacement");
 | |
|         return StringsKt.replaceRange((CharSequence) str, range, replacement).toString();
 | |
|     }
 | |
| 
 | |
|     public static final CharSequence removeRange(CharSequence charSequence, int i, int i2) {
 | |
|         Intrinsics.checkNotNullParameter(charSequence, "<this>");
 | |
|         if (i2 < i) {
 | |
|             throw new IndexOutOfBoundsException("End index (" + i2 + ") is less than start index (" + i + ").");
 | |
|         }
 | |
|         if (i2 == i) {
 | |
|             return charSequence.subSequence(0, charSequence.length());
 | |
|         }
 | |
|         StringBuilder sb = new StringBuilder(charSequence.length() - (i2 - i));
 | |
|         sb.append(charSequence, 0, i);
 | |
|         Intrinsics.checkNotNullExpressionValue(sb, "this.append(value, startIndex, endIndex)");
 | |
|         sb.append(charSequence, i2, charSequence.length());
 | |
|         Intrinsics.checkNotNullExpressionValue(sb, "this.append(value, startIndex, endIndex)");
 | |
|         return sb;
 | |
|     }
 | |
| 
 | |
|     private static final String removeRange(String str, int i, int i2) {
 | |
|         Intrinsics.checkNotNullParameter(str, "<this>");
 | |
|         return StringsKt.removeRange((CharSequence) str, i, i2).toString();
 | |
|     }
 | |
| 
 | |
|     public static final CharSequence removeRange(CharSequence charSequence, IntRange range) {
 | |
|         Intrinsics.checkNotNullParameter(charSequence, "<this>");
 | |
|         Intrinsics.checkNotNullParameter(range, "range");
 | |
|         return StringsKt.removeRange(charSequence, range.getStart().intValue(), range.getEndInclusive().intValue() + 1);
 | |
|     }
 | |
| 
 | |
|     private static final String removeRange(String str, IntRange range) {
 | |
|         Intrinsics.checkNotNullParameter(str, "<this>");
 | |
|         Intrinsics.checkNotNullParameter(range, "range");
 | |
|         return StringsKt.removeRange((CharSequence) str, range).toString();
 | |
|     }
 | |
| 
 | |
|     public static final CharSequence removePrefix(CharSequence charSequence, CharSequence prefix) {
 | |
|         Intrinsics.checkNotNullParameter(charSequence, "<this>");
 | |
|         Intrinsics.checkNotNullParameter(prefix, "prefix");
 | |
|         if (StringsKt.startsWith$default(charSequence, prefix, false, 2, (Object) null)) {
 | |
|             return charSequence.subSequence(prefix.length(), charSequence.length());
 | |
|         }
 | |
|         return charSequence.subSequence(0, charSequence.length());
 | |
|     }
 | |
| 
 | |
|     public static final String removePrefix(String str, CharSequence prefix) {
 | |
|         Intrinsics.checkNotNullParameter(str, "<this>");
 | |
|         Intrinsics.checkNotNullParameter(prefix, "prefix");
 | |
|         if (!StringsKt.startsWith$default((CharSequence) str, prefix, false, 2, (Object) null)) {
 | |
|             return str;
 | |
|         }
 | |
|         String substring = str.substring(prefix.length());
 | |
|         Intrinsics.checkNotNullExpressionValue(substring, "this as java.lang.String).substring(startIndex)");
 | |
|         return substring;
 | |
|     }
 | |
| 
 | |
|     public static final CharSequence removeSuffix(CharSequence charSequence, CharSequence suffix) {
 | |
|         Intrinsics.checkNotNullParameter(charSequence, "<this>");
 | |
|         Intrinsics.checkNotNullParameter(suffix, "suffix");
 | |
|         if (StringsKt.endsWith$default(charSequence, suffix, false, 2, (Object) null)) {
 | |
|             return charSequence.subSequence(0, charSequence.length() - suffix.length());
 | |
|         }
 | |
|         return charSequence.subSequence(0, charSequence.length());
 | |
|     }
 | |
| 
 | |
|     public static final String removeSuffix(String str, CharSequence suffix) {
 | |
|         Intrinsics.checkNotNullParameter(str, "<this>");
 | |
|         Intrinsics.checkNotNullParameter(suffix, "suffix");
 | |
|         if (!StringsKt.endsWith$default((CharSequence) str, suffix, false, 2, (Object) null)) {
 | |
|             return str;
 | |
|         }
 | |
|         String substring = str.substring(0, str.length() - suffix.length());
 | |
|         Intrinsics.checkNotNullExpressionValue(substring, "this as java.lang.String…ing(startIndex, endIndex)");
 | |
|         return substring;
 | |
|     }
 | |
| 
 | |
|     public static final CharSequence removeSurrounding(CharSequence charSequence, CharSequence prefix, CharSequence suffix) {
 | |
|         Intrinsics.checkNotNullParameter(charSequence, "<this>");
 | |
|         Intrinsics.checkNotNullParameter(prefix, "prefix");
 | |
|         Intrinsics.checkNotNullParameter(suffix, "suffix");
 | |
|         if (charSequence.length() >= prefix.length() + suffix.length() && StringsKt.startsWith$default(charSequence, prefix, false, 2, (Object) null) && StringsKt.endsWith$default(charSequence, suffix, false, 2, (Object) null)) {
 | |
|             return charSequence.subSequence(prefix.length(), charSequence.length() - suffix.length());
 | |
|         }
 | |
|         return charSequence.subSequence(0, charSequence.length());
 | |
|     }
 | |
| 
 | |
|     public static final String removeSurrounding(String str, CharSequence prefix, CharSequence suffix) {
 | |
|         Intrinsics.checkNotNullParameter(str, "<this>");
 | |
|         Intrinsics.checkNotNullParameter(prefix, "prefix");
 | |
|         Intrinsics.checkNotNullParameter(suffix, "suffix");
 | |
|         if (str.length() < prefix.length() + suffix.length()) {
 | |
|             return str;
 | |
|         }
 | |
|         String str2 = str;
 | |
|         if (!StringsKt.startsWith$default((CharSequence) str2, prefix, false, 2, (Object) null) || !StringsKt.endsWith$default((CharSequence) str2, suffix, false, 2, (Object) null)) {
 | |
|             return str;
 | |
|         }
 | |
|         String substring = str.substring(prefix.length(), str.length() - suffix.length());
 | |
|         Intrinsics.checkNotNullExpressionValue(substring, "this as java.lang.String…ing(startIndex, endIndex)");
 | |
|         return substring;
 | |
|     }
 | |
| 
 | |
|     public static final CharSequence removeSurrounding(CharSequence charSequence, CharSequence delimiter) {
 | |
|         Intrinsics.checkNotNullParameter(charSequence, "<this>");
 | |
|         Intrinsics.checkNotNullParameter(delimiter, "delimiter");
 | |
|         return StringsKt.removeSurrounding(charSequence, delimiter, delimiter);
 | |
|     }
 | |
| 
 | |
|     public static final String removeSurrounding(String str, CharSequence delimiter) {
 | |
|         Intrinsics.checkNotNullParameter(str, "<this>");
 | |
|         Intrinsics.checkNotNullParameter(delimiter, "delimiter");
 | |
|         return StringsKt.removeSurrounding(str, delimiter, delimiter);
 | |
|     }
 | |
| 
 | |
|     public static /* synthetic */ String replaceBefore$default(String str, char c, String str2, String str3, int i, Object obj) {
 | |
|         if ((i & 4) != 0) {
 | |
|             str3 = str;
 | |
|         }
 | |
|         return StringsKt.replaceBefore(str, c, str2, str3);
 | |
|     }
 | |
| 
 | |
|     public static final String replaceBefore(String str, char c, String replacement, String missingDelimiterValue) {
 | |
|         Intrinsics.checkNotNullParameter(str, "<this>");
 | |
|         Intrinsics.checkNotNullParameter(replacement, "replacement");
 | |
|         Intrinsics.checkNotNullParameter(missingDelimiterValue, "missingDelimiterValue");
 | |
|         String str2 = str;
 | |
|         int indexOf$default = StringsKt.indexOf$default((CharSequence) str2, c, 0, false, 6, (Object) null);
 | |
|         return indexOf$default == -1 ? missingDelimiterValue : StringsKt.replaceRange((CharSequence) str2, 0, indexOf$default, (CharSequence) replacement).toString();
 | |
|     }
 | |
| 
 | |
|     public static /* synthetic */ String replaceBefore$default(String str, String str2, String str3, String str4, int i, Object obj) {
 | |
|         if ((i & 4) != 0) {
 | |
|             str4 = str;
 | |
|         }
 | |
|         return StringsKt.replaceBefore(str, str2, str3, str4);
 | |
|     }
 | |
| 
 | |
|     public static final String replaceBefore(String str, String delimiter, String replacement, String missingDelimiterValue) {
 | |
|         Intrinsics.checkNotNullParameter(str, "<this>");
 | |
|         Intrinsics.checkNotNullParameter(delimiter, "delimiter");
 | |
|         Intrinsics.checkNotNullParameter(replacement, "replacement");
 | |
|         Intrinsics.checkNotNullParameter(missingDelimiterValue, "missingDelimiterValue");
 | |
|         String str2 = str;
 | |
|         int indexOf$default = StringsKt.indexOf$default((CharSequence) str2, delimiter, 0, false, 6, (Object) null);
 | |
|         return indexOf$default == -1 ? missingDelimiterValue : StringsKt.replaceRange((CharSequence) str2, 0, indexOf$default, (CharSequence) replacement).toString();
 | |
|     }
 | |
| 
 | |
|     public static /* synthetic */ String replaceAfter$default(String str, char c, String str2, String str3, int i, Object obj) {
 | |
|         if ((i & 4) != 0) {
 | |
|             str3 = str;
 | |
|         }
 | |
|         return StringsKt.replaceAfter(str, c, str2, str3);
 | |
|     }
 | |
| 
 | |
|     public static final String replaceAfter(String str, char c, String replacement, String missingDelimiterValue) {
 | |
|         Intrinsics.checkNotNullParameter(str, "<this>");
 | |
|         Intrinsics.checkNotNullParameter(replacement, "replacement");
 | |
|         Intrinsics.checkNotNullParameter(missingDelimiterValue, "missingDelimiterValue");
 | |
|         String str2 = str;
 | |
|         int indexOf$default = StringsKt.indexOf$default((CharSequence) str2, c, 0, false, 6, (Object) null);
 | |
|         return indexOf$default == -1 ? missingDelimiterValue : StringsKt.replaceRange((CharSequence) str2, indexOf$default + 1, str.length(), (CharSequence) replacement).toString();
 | |
|     }
 | |
| 
 | |
|     public static /* synthetic */ String replaceAfter$default(String str, String str2, String str3, String str4, int i, Object obj) {
 | |
|         if ((i & 4) != 0) {
 | |
|             str4 = str;
 | |
|         }
 | |
|         return StringsKt.replaceAfter(str, str2, str3, str4);
 | |
|     }
 | |
| 
 | |
|     public static final String replaceAfter(String str, String delimiter, String replacement, String missingDelimiterValue) {
 | |
|         Intrinsics.checkNotNullParameter(str, "<this>");
 | |
|         Intrinsics.checkNotNullParameter(delimiter, "delimiter");
 | |
|         Intrinsics.checkNotNullParameter(replacement, "replacement");
 | |
|         Intrinsics.checkNotNullParameter(missingDelimiterValue, "missingDelimiterValue");
 | |
|         String str2 = str;
 | |
|         int indexOf$default = StringsKt.indexOf$default((CharSequence) str2, delimiter, 0, false, 6, (Object) null);
 | |
|         return indexOf$default == -1 ? missingDelimiterValue : StringsKt.replaceRange((CharSequence) str2, indexOf$default + delimiter.length(), str.length(), (CharSequence) replacement).toString();
 | |
|     }
 | |
| 
 | |
|     public static /* synthetic */ String replaceAfterLast$default(String str, String str2, String str3, String str4, int i, Object obj) {
 | |
|         if ((i & 4) != 0) {
 | |
|             str4 = str;
 | |
|         }
 | |
|         return StringsKt.replaceAfterLast(str, str2, str3, str4);
 | |
|     }
 | |
| 
 | |
|     public static final String replaceAfterLast(String str, String delimiter, String replacement, String missingDelimiterValue) {
 | |
|         Intrinsics.checkNotNullParameter(str, "<this>");
 | |
|         Intrinsics.checkNotNullParameter(delimiter, "delimiter");
 | |
|         Intrinsics.checkNotNullParameter(replacement, "replacement");
 | |
|         Intrinsics.checkNotNullParameter(missingDelimiterValue, "missingDelimiterValue");
 | |
|         String str2 = str;
 | |
|         int lastIndexOf$default = StringsKt.lastIndexOf$default((CharSequence) str2, delimiter, 0, false, 6, (Object) null);
 | |
|         return lastIndexOf$default == -1 ? missingDelimiterValue : StringsKt.replaceRange((CharSequence) str2, lastIndexOf$default + delimiter.length(), str.length(), (CharSequence) replacement).toString();
 | |
|     }
 | |
| 
 | |
|     public static /* synthetic */ String replaceAfterLast$default(String str, char c, String str2, String str3, int i, Object obj) {
 | |
|         if ((i & 4) != 0) {
 | |
|             str3 = str;
 | |
|         }
 | |
|         return StringsKt.replaceAfterLast(str, c, str2, str3);
 | |
|     }
 | |
| 
 | |
|     public static final String replaceAfterLast(String str, char c, String replacement, String missingDelimiterValue) {
 | |
|         Intrinsics.checkNotNullParameter(str, "<this>");
 | |
|         Intrinsics.checkNotNullParameter(replacement, "replacement");
 | |
|         Intrinsics.checkNotNullParameter(missingDelimiterValue, "missingDelimiterValue");
 | |
|         String str2 = str;
 | |
|         int lastIndexOf$default = StringsKt.lastIndexOf$default((CharSequence) str2, c, 0, false, 6, (Object) null);
 | |
|         return lastIndexOf$default == -1 ? missingDelimiterValue : StringsKt.replaceRange((CharSequence) str2, lastIndexOf$default + 1, str.length(), (CharSequence) replacement).toString();
 | |
|     }
 | |
| 
 | |
|     public static /* synthetic */ String replaceBeforeLast$default(String str, char c, String str2, String str3, int i, Object obj) {
 | |
|         if ((i & 4) != 0) {
 | |
|             str3 = str;
 | |
|         }
 | |
|         return StringsKt.replaceBeforeLast(str, c, str2, str3);
 | |
|     }
 | |
| 
 | |
|     public static final String replaceBeforeLast(String str, char c, String replacement, String missingDelimiterValue) {
 | |
|         Intrinsics.checkNotNullParameter(str, "<this>");
 | |
|         Intrinsics.checkNotNullParameter(replacement, "replacement");
 | |
|         Intrinsics.checkNotNullParameter(missingDelimiterValue, "missingDelimiterValue");
 | |
|         String str2 = str;
 | |
|         int lastIndexOf$default = StringsKt.lastIndexOf$default((CharSequence) str2, c, 0, false, 6, (Object) null);
 | |
|         return lastIndexOf$default == -1 ? missingDelimiterValue : StringsKt.replaceRange((CharSequence) str2, 0, lastIndexOf$default, (CharSequence) replacement).toString();
 | |
|     }
 | |
| 
 | |
|     public static /* synthetic */ String replaceBeforeLast$default(String str, String str2, String str3, String str4, int i, Object obj) {
 | |
|         if ((i & 4) != 0) {
 | |
|             str4 = str;
 | |
|         }
 | |
|         return StringsKt.replaceBeforeLast(str, str2, str3, str4);
 | |
|     }
 | |
| 
 | |
|     public static final String replaceBeforeLast(String str, String delimiter, String replacement, String missingDelimiterValue) {
 | |
|         Intrinsics.checkNotNullParameter(str, "<this>");
 | |
|         Intrinsics.checkNotNullParameter(delimiter, "delimiter");
 | |
|         Intrinsics.checkNotNullParameter(replacement, "replacement");
 | |
|         Intrinsics.checkNotNullParameter(missingDelimiterValue, "missingDelimiterValue");
 | |
|         String str2 = str;
 | |
|         int lastIndexOf$default = StringsKt.lastIndexOf$default((CharSequence) str2, delimiter, 0, false, 6, (Object) null);
 | |
|         return lastIndexOf$default == -1 ? missingDelimiterValue : StringsKt.replaceRange((CharSequence) str2, 0, lastIndexOf$default, (CharSequence) replacement).toString();
 | |
|     }
 | |
| 
 | |
|     private static final String replace(CharSequence charSequence, Regex regex, String replacement) {
 | |
|         Intrinsics.checkNotNullParameter(charSequence, "<this>");
 | |
|         Intrinsics.checkNotNullParameter(regex, "regex");
 | |
|         Intrinsics.checkNotNullParameter(replacement, "replacement");
 | |
|         return regex.replace(charSequence, replacement);
 | |
|     }
 | |
| 
 | |
|     private static final String replace(CharSequence charSequence, Regex regex, Function1<? super MatchResult, ? extends CharSequence> transform) {
 | |
|         Intrinsics.checkNotNullParameter(charSequence, "<this>");
 | |
|         Intrinsics.checkNotNullParameter(regex, "regex");
 | |
|         Intrinsics.checkNotNullParameter(transform, "transform");
 | |
|         return regex.replace(charSequence, transform);
 | |
|     }
 | |
| 
 | |
|     private static final String replaceFirst(CharSequence charSequence, Regex regex, String replacement) {
 | |
|         Intrinsics.checkNotNullParameter(charSequence, "<this>");
 | |
|         Intrinsics.checkNotNullParameter(regex, "regex");
 | |
|         Intrinsics.checkNotNullParameter(replacement, "replacement");
 | |
|         return regex.replaceFirst(charSequence, replacement);
 | |
|     }
 | |
| 
 | |
|     private static final String replaceFirstCharWithChar(String str, Function1<? super Character, Character> transform) {
 | |
|         Intrinsics.checkNotNullParameter(str, "<this>");
 | |
|         Intrinsics.checkNotNullParameter(transform, "transform");
 | |
|         if (str.length() <= 0) {
 | |
|             return str;
 | |
|         }
 | |
|         char charValue = transform.invoke(Character.valueOf(str.charAt(0))).charValue();
 | |
|         String substring = str.substring(1);
 | |
|         Intrinsics.checkNotNullExpressionValue(substring, "this as java.lang.String).substring(startIndex)");
 | |
|         return charValue + substring;
 | |
|     }
 | |
| 
 | |
|     private static final String replaceFirstCharWithCharSequence(String str, Function1<? super Character, ? extends CharSequence> transform) {
 | |
|         Intrinsics.checkNotNullParameter(str, "<this>");
 | |
|         Intrinsics.checkNotNullParameter(transform, "transform");
 | |
|         if (str.length() <= 0) {
 | |
|             return str;
 | |
|         }
 | |
|         StringBuilder sb = new StringBuilder();
 | |
|         sb.append((Object) transform.invoke(Character.valueOf(str.charAt(0))));
 | |
|         String substring = str.substring(1);
 | |
|         Intrinsics.checkNotNullExpressionValue(substring, "this as java.lang.String).substring(startIndex)");
 | |
|         sb.append(substring);
 | |
|         return sb.toString();
 | |
|     }
 | |
| 
 | |
|     private static final boolean matches(CharSequence charSequence, Regex regex) {
 | |
|         Intrinsics.checkNotNullParameter(charSequence, "<this>");
 | |
|         Intrinsics.checkNotNullParameter(regex, "regex");
 | |
|         return regex.matches(charSequence);
 | |
|     }
 | |
| 
 | |
|     public static final boolean regionMatchesImpl(CharSequence charSequence, int i, CharSequence other, int i2, int i3, boolean z) {
 | |
|         Intrinsics.checkNotNullParameter(charSequence, "<this>");
 | |
|         Intrinsics.checkNotNullParameter(other, "other");
 | |
|         if (i2 < 0 || i < 0 || i > charSequence.length() - i3 || i2 > other.length() - i3) {
 | |
|             return false;
 | |
|         }
 | |
|         for (int i4 = 0; i4 < i3; i4++) {
 | |
|             if (!CharsKt.equals(charSequence.charAt(i + i4), other.charAt(i2 + i4), z)) {
 | |
|                 return false;
 | |
|             }
 | |
|         }
 | |
|         return true;
 | |
|     }
 | |
| 
 | |
|     public static /* synthetic */ boolean startsWith$default(CharSequence charSequence, char c, boolean z, int i, Object obj) {
 | |
|         if ((i & 2) != 0) {
 | |
|             z = false;
 | |
|         }
 | |
|         return StringsKt.startsWith(charSequence, c, z);
 | |
|     }
 | |
| 
 | |
|     public static final boolean startsWith(CharSequence charSequence, char c, boolean z) {
 | |
|         Intrinsics.checkNotNullParameter(charSequence, "<this>");
 | |
|         return charSequence.length() > 0 && CharsKt.equals(charSequence.charAt(0), c, z);
 | |
|     }
 | |
| 
 | |
|     public static /* synthetic */ boolean endsWith$default(CharSequence charSequence, char c, boolean z, int i, Object obj) {
 | |
|         if ((i & 2) != 0) {
 | |
|             z = false;
 | |
|         }
 | |
|         return StringsKt.endsWith(charSequence, c, z);
 | |
|     }
 | |
| 
 | |
|     public static final boolean endsWith(CharSequence charSequence, char c, boolean z) {
 | |
|         Intrinsics.checkNotNullParameter(charSequence, "<this>");
 | |
|         return charSequence.length() > 0 && CharsKt.equals(charSequence.charAt(StringsKt.getLastIndex(charSequence)), c, z);
 | |
|     }
 | |
| 
 | |
|     public static /* synthetic */ boolean startsWith$default(CharSequence charSequence, CharSequence charSequence2, boolean z, int i, Object obj) {
 | |
|         if ((i & 2) != 0) {
 | |
|             z = false;
 | |
|         }
 | |
|         return StringsKt.startsWith(charSequence, charSequence2, z);
 | |
|     }
 | |
| 
 | |
|     public static final boolean startsWith(CharSequence charSequence, CharSequence prefix, boolean z) {
 | |
|         Intrinsics.checkNotNullParameter(charSequence, "<this>");
 | |
|         Intrinsics.checkNotNullParameter(prefix, "prefix");
 | |
|         if (!z && (charSequence instanceof String) && (prefix instanceof String)) {
 | |
|             return StringsKt.startsWith$default((String) charSequence, (String) prefix, false, 2, (Object) null);
 | |
|         }
 | |
|         return StringsKt.regionMatchesImpl(charSequence, 0, prefix, 0, prefix.length(), z);
 | |
|     }
 | |
| 
 | |
|     public static /* synthetic */ boolean startsWith$default(CharSequence charSequence, CharSequence charSequence2, int i, boolean z, int i2, Object obj) {
 | |
|         if ((i2 & 4) != 0) {
 | |
|             z = false;
 | |
|         }
 | |
|         return StringsKt.startsWith(charSequence, charSequence2, i, z);
 | |
|     }
 | |
| 
 | |
|     public static final boolean startsWith(CharSequence charSequence, CharSequence prefix, int i, boolean z) {
 | |
|         Intrinsics.checkNotNullParameter(charSequence, "<this>");
 | |
|         Intrinsics.checkNotNullParameter(prefix, "prefix");
 | |
|         if (!z && (charSequence instanceof String) && (prefix instanceof String)) {
 | |
|             return StringsKt.startsWith$default((String) charSequence, (String) prefix, i, false, 4, (Object) null);
 | |
|         }
 | |
|         return StringsKt.regionMatchesImpl(charSequence, i, prefix, 0, prefix.length(), z);
 | |
|     }
 | |
| 
 | |
|     public static /* synthetic */ boolean endsWith$default(CharSequence charSequence, CharSequence charSequence2, boolean z, int i, Object obj) {
 | |
|         if ((i & 2) != 0) {
 | |
|             z = false;
 | |
|         }
 | |
|         return StringsKt.endsWith(charSequence, charSequence2, z);
 | |
|     }
 | |
| 
 | |
|     public static final boolean endsWith(CharSequence charSequence, CharSequence suffix, boolean z) {
 | |
|         Intrinsics.checkNotNullParameter(charSequence, "<this>");
 | |
|         Intrinsics.checkNotNullParameter(suffix, "suffix");
 | |
|         if (!z && (charSequence instanceof String) && (suffix instanceof String)) {
 | |
|             return StringsKt.endsWith$default((String) charSequence, (String) suffix, false, 2, (Object) null);
 | |
|         }
 | |
|         return StringsKt.regionMatchesImpl(charSequence, charSequence.length() - suffix.length(), suffix, 0, suffix.length(), z);
 | |
|     }
 | |
| 
 | |
|     public static /* synthetic */ String commonPrefixWith$default(CharSequence charSequence, CharSequence charSequence2, boolean z, int i, Object obj) {
 | |
|         if ((i & 2) != 0) {
 | |
|             z = false;
 | |
|         }
 | |
|         return StringsKt.commonPrefixWith(charSequence, charSequence2, z);
 | |
|     }
 | |
| 
 | |
|     public static final String commonPrefixWith(CharSequence charSequence, CharSequence other, boolean z) {
 | |
|         Intrinsics.checkNotNullParameter(charSequence, "<this>");
 | |
|         Intrinsics.checkNotNullParameter(other, "other");
 | |
|         int min = Math.min(charSequence.length(), other.length());
 | |
|         int i = 0;
 | |
|         while (i < min && CharsKt.equals(charSequence.charAt(i), other.charAt(i), z)) {
 | |
|             i++;
 | |
|         }
 | |
|         int i2 = i - 1;
 | |
|         if (StringsKt.hasSurrogatePairAt(charSequence, i2) || StringsKt.hasSurrogatePairAt(other, i2)) {
 | |
|             i--;
 | |
|         }
 | |
|         return charSequence.subSequence(0, i).toString();
 | |
|     }
 | |
| 
 | |
|     public static /* synthetic */ String commonSuffixWith$default(CharSequence charSequence, CharSequence charSequence2, boolean z, int i, Object obj) {
 | |
|         if ((i & 2) != 0) {
 | |
|             z = false;
 | |
|         }
 | |
|         return StringsKt.commonSuffixWith(charSequence, charSequence2, z);
 | |
|     }
 | |
| 
 | |
|     public static final String commonSuffixWith(CharSequence charSequence, CharSequence other, boolean z) {
 | |
|         Intrinsics.checkNotNullParameter(charSequence, "<this>");
 | |
|         Intrinsics.checkNotNullParameter(other, "other");
 | |
|         int length = charSequence.length();
 | |
|         int min = Math.min(length, other.length());
 | |
|         int i = 0;
 | |
|         while (i < min && CharsKt.equals(charSequence.charAt((length - i) - 1), other.charAt((r1 - i) - 1), z)) {
 | |
|             i++;
 | |
|         }
 | |
|         if (StringsKt.hasSurrogatePairAt(charSequence, (length - i) - 1) || StringsKt.hasSurrogatePairAt(other, (r1 - i) - 1)) {
 | |
|             i--;
 | |
|         }
 | |
|         return charSequence.subSequence(length - i, length).toString();
 | |
|     }
 | |
| 
 | |
|     public static /* synthetic */ int indexOfAny$default(CharSequence charSequence, char[] cArr, int i, boolean z, int i2, Object obj) {
 | |
|         if ((i2 & 2) != 0) {
 | |
|             i = 0;
 | |
|         }
 | |
|         if ((i2 & 4) != 0) {
 | |
|             z = false;
 | |
|         }
 | |
|         return StringsKt.indexOfAny(charSequence, cArr, i, z);
 | |
|     }
 | |
| 
 | |
|     /* JADX WARN: Type inference failed for: r8v2, types: [kotlin.collections.IntIterator] */
 | |
|     public static final int indexOfAny(CharSequence charSequence, char[] chars, int i, boolean z) {
 | |
|         Intrinsics.checkNotNullParameter(charSequence, "<this>");
 | |
|         Intrinsics.checkNotNullParameter(chars, "chars");
 | |
|         if (!z && chars.length == 1 && (charSequence instanceof String)) {
 | |
|             return ((String) charSequence).indexOf(ArraysKt.single(chars), i);
 | |
|         }
 | |
|         ?? it = new IntRange(RangesKt.coerceAtLeast(i, 0), StringsKt.getLastIndex(charSequence)).iterator();
 | |
|         while (it.hasNext()) {
 | |
|             int nextInt = it.nextInt();
 | |
|             char charAt = charSequence.charAt(nextInt);
 | |
|             for (char c : chars) {
 | |
|                 if (CharsKt.equals(c, charAt, z)) {
 | |
|                     return nextInt;
 | |
|                 }
 | |
|             }
 | |
|         }
 | |
|         return -1;
 | |
|     }
 | |
| 
 | |
|     public static /* synthetic */ int lastIndexOfAny$default(CharSequence charSequence, char[] cArr, int i, boolean z, int i2, Object obj) {
 | |
|         if ((i2 & 2) != 0) {
 | |
|             i = StringsKt.getLastIndex(charSequence);
 | |
|         }
 | |
|         if ((i2 & 4) != 0) {
 | |
|             z = false;
 | |
|         }
 | |
|         return StringsKt.lastIndexOfAny(charSequence, cArr, i, z);
 | |
|     }
 | |
| 
 | |
|     public static final int lastIndexOfAny(CharSequence charSequence, char[] chars, int i, boolean z) {
 | |
|         Intrinsics.checkNotNullParameter(charSequence, "<this>");
 | |
|         Intrinsics.checkNotNullParameter(chars, "chars");
 | |
|         if (!z && chars.length == 1 && (charSequence instanceof String)) {
 | |
|             return ((String) charSequence).lastIndexOf(ArraysKt.single(chars), i);
 | |
|         }
 | |
|         for (int coerceAtMost = RangesKt.coerceAtMost(i, StringsKt.getLastIndex(charSequence)); -1 < coerceAtMost; coerceAtMost--) {
 | |
|             char charAt = charSequence.charAt(coerceAtMost);
 | |
|             for (char c : chars) {
 | |
|                 if (CharsKt.equals(c, charAt, z)) {
 | |
|                     return coerceAtMost;
 | |
|                 }
 | |
|             }
 | |
|         }
 | |
|         return -1;
 | |
|     }
 | |
| 
 | |
|     static /* synthetic */ int indexOf$StringsKt__StringsKt$default(CharSequence charSequence, CharSequence charSequence2, int i, int i2, boolean z, boolean z2, int i3, Object obj) {
 | |
|         return indexOf$StringsKt__StringsKt(charSequence, charSequence2, i, i2, z, (i3 & 16) != 0 ? false : z2);
 | |
|     }
 | |
| 
 | |
|     private static final int indexOf$StringsKt__StringsKt(CharSequence charSequence, CharSequence charSequence2, int i, int i2, boolean z, boolean z2) {
 | |
|         IntRange downTo;
 | |
|         if (!z2) {
 | |
|             downTo = new IntRange(RangesKt.coerceAtLeast(i, 0), RangesKt.coerceAtMost(i2, charSequence.length()));
 | |
|         } else {
 | |
|             downTo = RangesKt.downTo(RangesKt.coerceAtMost(i, StringsKt.getLastIndex(charSequence)), RangesKt.coerceAtLeast(i2, 0));
 | |
|         }
 | |
|         if ((charSequence instanceof String) && (charSequence2 instanceof String)) {
 | |
|             int first = downTo.getFirst();
 | |
|             int last = downTo.getLast();
 | |
|             int step = downTo.getStep();
 | |
|             if ((step <= 0 || first > last) && (step >= 0 || last > first)) {
 | |
|                 return -1;
 | |
|             }
 | |
|             while (!StringsKt.regionMatches((String) charSequence2, 0, (String) charSequence, first, charSequence2.length(), z)) {
 | |
|                 if (first == last) {
 | |
|                     return -1;
 | |
|                 }
 | |
|                 first += step;
 | |
|             }
 | |
|             return first;
 | |
|         }
 | |
|         int first2 = downTo.getFirst();
 | |
|         int last2 = downTo.getLast();
 | |
|         int step2 = downTo.getStep();
 | |
|         if ((step2 <= 0 || first2 > last2) && (step2 >= 0 || last2 > first2)) {
 | |
|             return -1;
 | |
|         }
 | |
|         while (!StringsKt.regionMatchesImpl(charSequence2, 0, charSequence, first2, charSequence2.length(), z)) {
 | |
|             if (first2 == last2) {
 | |
|                 return -1;
 | |
|             }
 | |
|             first2 += step2;
 | |
|         }
 | |
|         return first2;
 | |
|     }
 | |
| 
 | |
|     /* JADX INFO: Access modifiers changed from: private */
 | |
|     public static final Pair<Integer, String> findAnyOf$StringsKt__StringsKt(CharSequence charSequence, Collection<String> collection, int i, boolean z, boolean z2) {
 | |
|         Object obj;
 | |
|         Object obj2;
 | |
|         if (!z && collection.size() == 1) {
 | |
|             String str = (String) CollectionsKt.single(collection);
 | |
|             int indexOf$default = !z2 ? StringsKt.indexOf$default(charSequence, str, i, false, 4, (Object) null) : StringsKt.lastIndexOf$default(charSequence, str, i, false, 4, (Object) null);
 | |
|             if (indexOf$default < 0) {
 | |
|                 return null;
 | |
|             }
 | |
|             return TuplesKt.to(Integer.valueOf(indexOf$default), str);
 | |
|         }
 | |
|         IntRange intRange = !z2 ? new IntRange(RangesKt.coerceAtLeast(i, 0), charSequence.length()) : RangesKt.downTo(RangesKt.coerceAtMost(i, StringsKt.getLastIndex(charSequence)), 0);
 | |
|         if (charSequence instanceof String) {
 | |
|             int first = intRange.getFirst();
 | |
|             int last = intRange.getLast();
 | |
|             int step = intRange.getStep();
 | |
|             if ((step > 0 && first <= last) || (step < 0 && last <= first)) {
 | |
|                 while (true) {
 | |
|                     Iterator<T> it = collection.iterator();
 | |
|                     while (true) {
 | |
|                         if (!it.hasNext()) {
 | |
|                             obj2 = null;
 | |
|                             break;
 | |
|                         }
 | |
|                         obj2 = it.next();
 | |
|                         String str2 = (String) obj2;
 | |
|                         if (StringsKt.regionMatches(str2, 0, (String) charSequence, first, str2.length(), z)) {
 | |
|                             break;
 | |
|                         }
 | |
|                     }
 | |
|                     String str3 = (String) obj2;
 | |
|                     if (str3 == null) {
 | |
|                         if (first == last) {
 | |
|                             break;
 | |
|                         }
 | |
|                         first += step;
 | |
|                     } else {
 | |
|                         return TuplesKt.to(Integer.valueOf(first), str3);
 | |
|                     }
 | |
|                 }
 | |
|             }
 | |
|         } else {
 | |
|             int first2 = intRange.getFirst();
 | |
|             int last2 = intRange.getLast();
 | |
|             int step2 = intRange.getStep();
 | |
|             if ((step2 > 0 && first2 <= last2) || (step2 < 0 && last2 <= first2)) {
 | |
|                 while (true) {
 | |
|                     Iterator<T> it2 = collection.iterator();
 | |
|                     while (true) {
 | |
|                         if (!it2.hasNext()) {
 | |
|                             obj = null;
 | |
|                             break;
 | |
|                         }
 | |
|                         obj = it2.next();
 | |
|                         String str4 = (String) obj;
 | |
|                         if (StringsKt.regionMatchesImpl(str4, 0, charSequence, first2, str4.length(), z)) {
 | |
|                             break;
 | |
|                         }
 | |
|                     }
 | |
|                     String str5 = (String) obj;
 | |
|                     if (str5 == null) {
 | |
|                         if (first2 == last2) {
 | |
|                             break;
 | |
|                         }
 | |
|                         first2 += step2;
 | |
|                     } else {
 | |
|                         return TuplesKt.to(Integer.valueOf(first2), str5);
 | |
|                     }
 | |
|                 }
 | |
|             }
 | |
|         }
 | |
|         return null;
 | |
|     }
 | |
| 
 | |
|     public static /* synthetic */ Pair findAnyOf$default(CharSequence charSequence, Collection collection, int i, boolean z, int i2, Object obj) {
 | |
|         if ((i2 & 2) != 0) {
 | |
|             i = 0;
 | |
|         }
 | |
|         if ((i2 & 4) != 0) {
 | |
|             z = false;
 | |
|         }
 | |
|         return StringsKt.findAnyOf(charSequence, collection, i, z);
 | |
|     }
 | |
| 
 | |
|     public static final Pair<Integer, String> findAnyOf(CharSequence charSequence, Collection<String> strings, int i, boolean z) {
 | |
|         Intrinsics.checkNotNullParameter(charSequence, "<this>");
 | |
|         Intrinsics.checkNotNullParameter(strings, "strings");
 | |
|         return findAnyOf$StringsKt__StringsKt(charSequence, strings, i, z, false);
 | |
|     }
 | |
| 
 | |
|     public static /* synthetic */ Pair findLastAnyOf$default(CharSequence charSequence, Collection collection, int i, boolean z, int i2, Object obj) {
 | |
|         if ((i2 & 2) != 0) {
 | |
|             i = StringsKt.getLastIndex(charSequence);
 | |
|         }
 | |
|         if ((i2 & 4) != 0) {
 | |
|             z = false;
 | |
|         }
 | |
|         return StringsKt.findLastAnyOf(charSequence, collection, i, z);
 | |
|     }
 | |
| 
 | |
|     public static final Pair<Integer, String> findLastAnyOf(CharSequence charSequence, Collection<String> strings, int i, boolean z) {
 | |
|         Intrinsics.checkNotNullParameter(charSequence, "<this>");
 | |
|         Intrinsics.checkNotNullParameter(strings, "strings");
 | |
|         return findAnyOf$StringsKt__StringsKt(charSequence, strings, i, z, true);
 | |
|     }
 | |
| 
 | |
|     public static /* synthetic */ int indexOfAny$default(CharSequence charSequence, Collection collection, int i, boolean z, int i2, Object obj) {
 | |
|         if ((i2 & 2) != 0) {
 | |
|             i = 0;
 | |
|         }
 | |
|         if ((i2 & 4) != 0) {
 | |
|             z = false;
 | |
|         }
 | |
|         return StringsKt.indexOfAny(charSequence, (Collection<String>) collection, i, z);
 | |
|     }
 | |
| 
 | |
|     public static final int indexOfAny(CharSequence charSequence, Collection<String> strings, int i, boolean z) {
 | |
|         Intrinsics.checkNotNullParameter(charSequence, "<this>");
 | |
|         Intrinsics.checkNotNullParameter(strings, "strings");
 | |
|         Pair<Integer, String> findAnyOf$StringsKt__StringsKt = findAnyOf$StringsKt__StringsKt(charSequence, strings, i, z, false);
 | |
|         if (findAnyOf$StringsKt__StringsKt != null) {
 | |
|             return findAnyOf$StringsKt__StringsKt.getFirst().intValue();
 | |
|         }
 | |
|         return -1;
 | |
|     }
 | |
| 
 | |
|     public static /* synthetic */ int lastIndexOfAny$default(CharSequence charSequence, Collection collection, int i, boolean z, int i2, Object obj) {
 | |
|         if ((i2 & 2) != 0) {
 | |
|             i = StringsKt.getLastIndex(charSequence);
 | |
|         }
 | |
|         if ((i2 & 4) != 0) {
 | |
|             z = false;
 | |
|         }
 | |
|         return StringsKt.lastIndexOfAny(charSequence, (Collection<String>) collection, i, z);
 | |
|     }
 | |
| 
 | |
|     public static final int lastIndexOfAny(CharSequence charSequence, Collection<String> strings, int i, boolean z) {
 | |
|         Intrinsics.checkNotNullParameter(charSequence, "<this>");
 | |
|         Intrinsics.checkNotNullParameter(strings, "strings");
 | |
|         Pair<Integer, String> findAnyOf$StringsKt__StringsKt = findAnyOf$StringsKt__StringsKt(charSequence, strings, i, z, true);
 | |
|         if (findAnyOf$StringsKt__StringsKt != null) {
 | |
|             return findAnyOf$StringsKt__StringsKt.getFirst().intValue();
 | |
|         }
 | |
|         return -1;
 | |
|     }
 | |
| 
 | |
|     public static /* synthetic */ int indexOf$default(CharSequence charSequence, char c, int i, boolean z, int i2, Object obj) {
 | |
|         if ((i2 & 2) != 0) {
 | |
|             i = 0;
 | |
|         }
 | |
|         if ((i2 & 4) != 0) {
 | |
|             z = false;
 | |
|         }
 | |
|         return StringsKt.indexOf(charSequence, c, i, z);
 | |
|     }
 | |
| 
 | |
|     public static final int indexOf(CharSequence charSequence, char c, int i, boolean z) {
 | |
|         Intrinsics.checkNotNullParameter(charSequence, "<this>");
 | |
|         if (z || !(charSequence instanceof String)) {
 | |
|             return StringsKt.indexOfAny(charSequence, new char[]{c}, i, z);
 | |
|         }
 | |
|         return ((String) charSequence).indexOf(c, i);
 | |
|     }
 | |
| 
 | |
|     public static /* synthetic */ int indexOf$default(CharSequence charSequence, String str, int i, boolean z, int i2, Object obj) {
 | |
|         if ((i2 & 2) != 0) {
 | |
|             i = 0;
 | |
|         }
 | |
|         if ((i2 & 4) != 0) {
 | |
|             z = false;
 | |
|         }
 | |
|         return StringsKt.indexOf(charSequence, str, i, z);
 | |
|     }
 | |
| 
 | |
|     public static final int indexOf(CharSequence charSequence, String string, int i, boolean z) {
 | |
|         Intrinsics.checkNotNullParameter(charSequence, "<this>");
 | |
|         Intrinsics.checkNotNullParameter(string, "string");
 | |
|         if (z || !(charSequence instanceof String)) {
 | |
|             return indexOf$StringsKt__StringsKt$default(charSequence, string, i, charSequence.length(), z, false, 16, null);
 | |
|         }
 | |
|         return ((String) charSequence).indexOf(string, i);
 | |
|     }
 | |
| 
 | |
|     public static /* synthetic */ int lastIndexOf$default(CharSequence charSequence, char c, int i, boolean z, int i2, Object obj) {
 | |
|         if ((i2 & 2) != 0) {
 | |
|             i = StringsKt.getLastIndex(charSequence);
 | |
|         }
 | |
|         if ((i2 & 4) != 0) {
 | |
|             z = false;
 | |
|         }
 | |
|         return StringsKt.lastIndexOf(charSequence, c, i, z);
 | |
|     }
 | |
| 
 | |
|     public static final int lastIndexOf(CharSequence charSequence, char c, int i, boolean z) {
 | |
|         Intrinsics.checkNotNullParameter(charSequence, "<this>");
 | |
|         if (z || !(charSequence instanceof String)) {
 | |
|             return StringsKt.lastIndexOfAny(charSequence, new char[]{c}, i, z);
 | |
|         }
 | |
|         return ((String) charSequence).lastIndexOf(c, i);
 | |
|     }
 | |
| 
 | |
|     public static /* synthetic */ int lastIndexOf$default(CharSequence charSequence, String str, int i, boolean z, int i2, Object obj) {
 | |
|         if ((i2 & 2) != 0) {
 | |
|             i = StringsKt.getLastIndex(charSequence);
 | |
|         }
 | |
|         if ((i2 & 4) != 0) {
 | |
|             z = false;
 | |
|         }
 | |
|         return StringsKt.lastIndexOf(charSequence, str, i, z);
 | |
|     }
 | |
| 
 | |
|     public static final int lastIndexOf(CharSequence charSequence, String string, int i, boolean z) {
 | |
|         Intrinsics.checkNotNullParameter(charSequence, "<this>");
 | |
|         Intrinsics.checkNotNullParameter(string, "string");
 | |
|         if (z || !(charSequence instanceof String)) {
 | |
|             return indexOf$StringsKt__StringsKt(charSequence, string, i, 0, z, true);
 | |
|         }
 | |
|         return ((String) charSequence).lastIndexOf(string, i);
 | |
|     }
 | |
| 
 | |
|     public static /* synthetic */ boolean contains$default(CharSequence charSequence, CharSequence charSequence2, boolean z, int i, Object obj) {
 | |
|         if ((i & 2) != 0) {
 | |
|             z = false;
 | |
|         }
 | |
|         return StringsKt.contains(charSequence, charSequence2, z);
 | |
|     }
 | |
| 
 | |
|     public static final boolean contains(CharSequence charSequence, CharSequence other, boolean z) {
 | |
|         Intrinsics.checkNotNullParameter(charSequence, "<this>");
 | |
|         Intrinsics.checkNotNullParameter(other, "other");
 | |
|         if (other instanceof String) {
 | |
|             if (StringsKt.indexOf$default(charSequence, (String) other, 0, z, 2, (Object) null) >= 0) {
 | |
|                 return true;
 | |
|             }
 | |
|         } else if (indexOf$StringsKt__StringsKt$default(charSequence, other, 0, charSequence.length(), z, false, 16, null) >= 0) {
 | |
|             return true;
 | |
|         }
 | |
|         return false;
 | |
|     }
 | |
| 
 | |
|     public static /* synthetic */ boolean contains$default(CharSequence charSequence, char c, boolean z, int i, Object obj) {
 | |
|         if ((i & 2) != 0) {
 | |
|             z = false;
 | |
|         }
 | |
|         return StringsKt.contains(charSequence, c, z);
 | |
|     }
 | |
| 
 | |
|     public static final boolean contains(CharSequence charSequence, char c, boolean z) {
 | |
|         Intrinsics.checkNotNullParameter(charSequence, "<this>");
 | |
|         return StringsKt.indexOf$default(charSequence, c, 0, z, 2, (Object) null) >= 0;
 | |
|     }
 | |
| 
 | |
|     private static final boolean contains(CharSequence charSequence, Regex regex) {
 | |
|         Intrinsics.checkNotNullParameter(charSequence, "<this>");
 | |
|         Intrinsics.checkNotNullParameter(regex, "regex");
 | |
|         return regex.containsMatchIn(charSequence);
 | |
|     }
 | |
| 
 | |
|     static /* synthetic */ Sequence rangesDelimitedBy$StringsKt__StringsKt$default(CharSequence charSequence, char[] cArr, int i, boolean z, int i2, int i3, Object obj) {
 | |
|         if ((i3 & 2) != 0) {
 | |
|             i = 0;
 | |
|         }
 | |
|         if ((i3 & 4) != 0) {
 | |
|             z = false;
 | |
|         }
 | |
|         if ((i3 & 8) != 0) {
 | |
|             i2 = 0;
 | |
|         }
 | |
|         return rangesDelimitedBy$StringsKt__StringsKt(charSequence, cArr, i, z, i2);
 | |
|     }
 | |
| 
 | |
|     private static final Sequence<IntRange> rangesDelimitedBy$StringsKt__StringsKt(CharSequence charSequence, final char[] cArr, int i, final boolean z, int i2) {
 | |
|         StringsKt.requireNonNegativeLimit(i2);
 | |
|         return new DelimitedRangesSequence(charSequence, i, i2, new Function2<CharSequence, Integer, Pair<? extends Integer, ? extends Integer>>() { // from class: kotlin.text.StringsKt__StringsKt$rangesDelimitedBy$1
 | |
|             /* JADX WARN: 'super' call moved to the top of the method (can break code semantics) */
 | |
|             {
 | |
|                 super(2);
 | |
|             }
 | |
| 
 | |
|             @Override // kotlin.jvm.functions.Function2
 | |
|             public /* bridge */ /* synthetic */ Pair<? extends Integer, ? extends Integer> invoke(CharSequence charSequence2, Integer num) {
 | |
|                 return invoke(charSequence2, num.intValue());
 | |
|             }
 | |
| 
 | |
|             public final Pair<Integer, Integer> invoke(CharSequence $receiver, int i3) {
 | |
|                 Intrinsics.checkNotNullParameter($receiver, "$this$$receiver");
 | |
|                 int indexOfAny = StringsKt.indexOfAny($receiver, cArr, i3, z);
 | |
|                 if (indexOfAny < 0) {
 | |
|                     return null;
 | |
|                 }
 | |
|                 return TuplesKt.to(Integer.valueOf(indexOfAny), 1);
 | |
|             }
 | |
|         });
 | |
|     }
 | |
| 
 | |
|     static /* synthetic */ Sequence rangesDelimitedBy$StringsKt__StringsKt$default(CharSequence charSequence, String[] strArr, int i, boolean z, int i2, int i3, Object obj) {
 | |
|         if ((i3 & 2) != 0) {
 | |
|             i = 0;
 | |
|         }
 | |
|         if ((i3 & 4) != 0) {
 | |
|             z = false;
 | |
|         }
 | |
|         if ((i3 & 8) != 0) {
 | |
|             i2 = 0;
 | |
|         }
 | |
|         return rangesDelimitedBy$StringsKt__StringsKt(charSequence, strArr, i, z, i2);
 | |
|     }
 | |
| 
 | |
|     private static final Sequence<IntRange> rangesDelimitedBy$StringsKt__StringsKt(CharSequence charSequence, String[] strArr, int i, final boolean z, int i2) {
 | |
|         StringsKt.requireNonNegativeLimit(i2);
 | |
|         final List asList = ArraysKt.asList(strArr);
 | |
|         return new DelimitedRangesSequence(charSequence, i, i2, new Function2<CharSequence, Integer, Pair<? extends Integer, ? extends Integer>>() { // from class: kotlin.text.StringsKt__StringsKt$rangesDelimitedBy$2
 | |
|             /* JADX WARN: 'super' call moved to the top of the method (can break code semantics) */
 | |
|             {
 | |
|                 super(2);
 | |
|             }
 | |
| 
 | |
|             @Override // kotlin.jvm.functions.Function2
 | |
|             public /* bridge */ /* synthetic */ Pair<? extends Integer, ? extends Integer> invoke(CharSequence charSequence2, Integer num) {
 | |
|                 return invoke(charSequence2, num.intValue());
 | |
|             }
 | |
| 
 | |
|             public final Pair<Integer, Integer> invoke(CharSequence $receiver, int i3) {
 | |
|                 Pair findAnyOf$StringsKt__StringsKt;
 | |
|                 Intrinsics.checkNotNullParameter($receiver, "$this$$receiver");
 | |
|                 findAnyOf$StringsKt__StringsKt = StringsKt__StringsKt.findAnyOf$StringsKt__StringsKt($receiver, asList, i3, z, false);
 | |
|                 if (findAnyOf$StringsKt__StringsKt != null) {
 | |
|                     return TuplesKt.to(findAnyOf$StringsKt__StringsKt.getFirst(), Integer.valueOf(((String) findAnyOf$StringsKt__StringsKt.getSecond()).length()));
 | |
|                 }
 | |
|                 return null;
 | |
|             }
 | |
|         });
 | |
|     }
 | |
| 
 | |
|     public static final void requireNonNegativeLimit(int i) {
 | |
|         if (i >= 0) {
 | |
|             return;
 | |
|         }
 | |
|         throw new IllegalArgumentException(("Limit must be non-negative, but was " + i).toString());
 | |
|     }
 | |
| 
 | |
|     public static /* synthetic */ Sequence splitToSequence$default(CharSequence charSequence, String[] strArr, boolean z, int i, int i2, Object obj) {
 | |
|         if ((i2 & 2) != 0) {
 | |
|             z = false;
 | |
|         }
 | |
|         if ((i2 & 4) != 0) {
 | |
|             i = 0;
 | |
|         }
 | |
|         return StringsKt.splitToSequence(charSequence, strArr, z, i);
 | |
|     }
 | |
| 
 | |
|     public static final Sequence<String> splitToSequence(final CharSequence charSequence, String[] delimiters, boolean z, int i) {
 | |
|         Intrinsics.checkNotNullParameter(charSequence, "<this>");
 | |
|         Intrinsics.checkNotNullParameter(delimiters, "delimiters");
 | |
|         return SequencesKt.map(rangesDelimitedBy$StringsKt__StringsKt$default(charSequence, delimiters, 0, z, i, 2, (Object) null), new Function1<IntRange, String>() { // from class: kotlin.text.StringsKt__StringsKt$splitToSequence$1
 | |
|             /* JADX WARN: 'super' call moved to the top of the method (can break code semantics) */
 | |
|             {
 | |
|                 super(1);
 | |
|             }
 | |
| 
 | |
|             @Override // kotlin.jvm.functions.Function1
 | |
|             public final String invoke(IntRange it) {
 | |
|                 Intrinsics.checkNotNullParameter(it, "it");
 | |
|                 return StringsKt.substring(charSequence, it);
 | |
|             }
 | |
|         });
 | |
|     }
 | |
| 
 | |
|     public static /* synthetic */ List split$default(CharSequence charSequence, String[] strArr, boolean z, int i, int i2, Object obj) {
 | |
|         if ((i2 & 2) != 0) {
 | |
|             z = false;
 | |
|         }
 | |
|         if ((i2 & 4) != 0) {
 | |
|             i = 0;
 | |
|         }
 | |
|         return StringsKt.split(charSequence, strArr, z, i);
 | |
|     }
 | |
| 
 | |
|     public static final List<String> split(CharSequence charSequence, String[] delimiters, boolean z, int i) {
 | |
|         Intrinsics.checkNotNullParameter(charSequence, "<this>");
 | |
|         Intrinsics.checkNotNullParameter(delimiters, "delimiters");
 | |
|         if (delimiters.length == 1) {
 | |
|             String str = delimiters[0];
 | |
|             if (str.length() != 0) {
 | |
|                 return split$StringsKt__StringsKt(charSequence, str, z, i);
 | |
|             }
 | |
|         }
 | |
|         Iterable asIterable = SequencesKt.asIterable(rangesDelimitedBy$StringsKt__StringsKt$default(charSequence, delimiters, 0, z, i, 2, (Object) null));
 | |
|         ArrayList arrayList = new ArrayList(CollectionsKt.collectionSizeOrDefault(asIterable, 10));
 | |
|         Iterator it = asIterable.iterator();
 | |
|         while (it.hasNext()) {
 | |
|             arrayList.add(StringsKt.substring(charSequence, (IntRange) it.next()));
 | |
|         }
 | |
|         return arrayList;
 | |
|     }
 | |
| 
 | |
|     public static /* synthetic */ Sequence splitToSequence$default(CharSequence charSequence, char[] cArr, boolean z, int i, int i2, Object obj) {
 | |
|         if ((i2 & 2) != 0) {
 | |
|             z = false;
 | |
|         }
 | |
|         if ((i2 & 4) != 0) {
 | |
|             i = 0;
 | |
|         }
 | |
|         return StringsKt.splitToSequence(charSequence, cArr, z, i);
 | |
|     }
 | |
| 
 | |
|     public static final Sequence<String> splitToSequence(final CharSequence charSequence, char[] delimiters, boolean z, int i) {
 | |
|         Intrinsics.checkNotNullParameter(charSequence, "<this>");
 | |
|         Intrinsics.checkNotNullParameter(delimiters, "delimiters");
 | |
|         return SequencesKt.map(rangesDelimitedBy$StringsKt__StringsKt$default(charSequence, delimiters, 0, z, i, 2, (Object) null), new Function1<IntRange, String>() { // from class: kotlin.text.StringsKt__StringsKt$splitToSequence$2
 | |
|             /* JADX WARN: 'super' call moved to the top of the method (can break code semantics) */
 | |
|             {
 | |
|                 super(1);
 | |
|             }
 | |
| 
 | |
|             @Override // kotlin.jvm.functions.Function1
 | |
|             public final String invoke(IntRange it) {
 | |
|                 Intrinsics.checkNotNullParameter(it, "it");
 | |
|                 return StringsKt.substring(charSequence, it);
 | |
|             }
 | |
|         });
 | |
|     }
 | |
| 
 | |
|     public static /* synthetic */ List split$default(CharSequence charSequence, char[] cArr, boolean z, int i, int i2, Object obj) {
 | |
|         if ((i2 & 2) != 0) {
 | |
|             z = false;
 | |
|         }
 | |
|         if ((i2 & 4) != 0) {
 | |
|             i = 0;
 | |
|         }
 | |
|         return StringsKt.split(charSequence, cArr, z, i);
 | |
|     }
 | |
| 
 | |
|     public static final List<String> split(CharSequence charSequence, char[] delimiters, boolean z, int i) {
 | |
|         Intrinsics.checkNotNullParameter(charSequence, "<this>");
 | |
|         Intrinsics.checkNotNullParameter(delimiters, "delimiters");
 | |
|         if (delimiters.length == 1) {
 | |
|             return split$StringsKt__StringsKt(charSequence, String.valueOf(delimiters[0]), z, i);
 | |
|         }
 | |
|         Iterable asIterable = SequencesKt.asIterable(rangesDelimitedBy$StringsKt__StringsKt$default(charSequence, delimiters, 0, z, i, 2, (Object) null));
 | |
|         ArrayList arrayList = new ArrayList(CollectionsKt.collectionSizeOrDefault(asIterable, 10));
 | |
|         Iterator it = asIterable.iterator();
 | |
|         while (it.hasNext()) {
 | |
|             arrayList.add(StringsKt.substring(charSequence, (IntRange) it.next()));
 | |
|         }
 | |
|         return arrayList;
 | |
|     }
 | |
| 
 | |
|     private static final List<String> split$StringsKt__StringsKt(CharSequence charSequence, String str, boolean z, int i) {
 | |
|         StringsKt.requireNonNegativeLimit(i);
 | |
|         int i2 = 0;
 | |
|         int indexOf = StringsKt.indexOf(charSequence, str, 0, z);
 | |
|         if (indexOf == -1 || i == 1) {
 | |
|             return CollectionsKt.listOf(charSequence.toString());
 | |
|         }
 | |
|         boolean z2 = i > 0;
 | |
|         ArrayList arrayList = new ArrayList(z2 ? RangesKt.coerceAtMost(i, 10) : 10);
 | |
|         do {
 | |
|             arrayList.add(charSequence.subSequence(i2, indexOf).toString());
 | |
|             i2 = str.length() + indexOf;
 | |
|             if (z2 && arrayList.size() == i - 1) {
 | |
|                 break;
 | |
|             }
 | |
|             indexOf = StringsKt.indexOf(charSequence, str, i2, z);
 | |
|         } while (indexOf != -1);
 | |
|         arrayList.add(charSequence.subSequence(i2, charSequence.length()).toString());
 | |
|         return arrayList;
 | |
|     }
 | |
| 
 | |
|     private static final List<String> split(CharSequence charSequence, Regex regex, int i) {
 | |
|         Intrinsics.checkNotNullParameter(charSequence, "<this>");
 | |
|         Intrinsics.checkNotNullParameter(regex, "regex");
 | |
|         return regex.split(charSequence, i);
 | |
|     }
 | |
| 
 | |
|     static /* synthetic */ List split$default(CharSequence charSequence, Regex regex, int i, int i2, Object obj) {
 | |
|         if ((i2 & 2) != 0) {
 | |
|             i = 0;
 | |
|         }
 | |
|         Intrinsics.checkNotNullParameter(charSequence, "<this>");
 | |
|         Intrinsics.checkNotNullParameter(regex, "regex");
 | |
|         return regex.split(charSequence, i);
 | |
|     }
 | |
| 
 | |
|     private static final Sequence<String> splitToSequence(CharSequence charSequence, Regex regex, int i) {
 | |
|         Intrinsics.checkNotNullParameter(charSequence, "<this>");
 | |
|         Intrinsics.checkNotNullParameter(regex, "regex");
 | |
|         return regex.splitToSequence(charSequence, i);
 | |
|     }
 | |
| 
 | |
|     static /* synthetic */ Sequence splitToSequence$default(CharSequence charSequence, Regex regex, int i, int i2, Object obj) {
 | |
|         if ((i2 & 2) != 0) {
 | |
|             i = 0;
 | |
|         }
 | |
|         Intrinsics.checkNotNullParameter(charSequence, "<this>");
 | |
|         Intrinsics.checkNotNullParameter(regex, "regex");
 | |
|         return regex.splitToSequence(charSequence, i);
 | |
|     }
 | |
| 
 | |
|     public static final Sequence<String> lineSequence(CharSequence charSequence) {
 | |
|         Intrinsics.checkNotNullParameter(charSequence, "<this>");
 | |
|         return StringsKt.splitToSequence$default(charSequence, new String[]{"\r\n", "\n", "\r"}, false, 0, 6, (Object) null);
 | |
|     }
 | |
| 
 | |
|     public static final List<String> lines(CharSequence charSequence) {
 | |
|         Intrinsics.checkNotNullParameter(charSequence, "<this>");
 | |
|         return SequencesKt.toList(StringsKt.lineSequence(charSequence));
 | |
|     }
 | |
| 
 | |
|     public static final boolean contentEqualsIgnoreCaseImpl(CharSequence charSequence, CharSequence charSequence2) {
 | |
|         if ((charSequence instanceof String) && (charSequence2 instanceof String)) {
 | |
|             return StringsKt.equals((String) charSequence, (String) charSequence2, true);
 | |
|         }
 | |
|         if (charSequence == charSequence2) {
 | |
|             return true;
 | |
|         }
 | |
|         if (charSequence == null || charSequence2 == null || charSequence.length() != charSequence2.length()) {
 | |
|             return false;
 | |
|         }
 | |
|         int length = charSequence.length();
 | |
|         for (int i = 0; i < length; i++) {
 | |
|             if (!CharsKt.equals(charSequence.charAt(i), charSequence2.charAt(i), true)) {
 | |
|                 return false;
 | |
|             }
 | |
|         }
 | |
|         return true;
 | |
|     }
 | |
| 
 | |
|     public static final boolean contentEqualsImpl(CharSequence charSequence, CharSequence charSequence2) {
 | |
|         if ((charSequence instanceof String) && (charSequence2 instanceof String)) {
 | |
|             return Intrinsics.areEqual(charSequence, charSequence2);
 | |
|         }
 | |
|         if (charSequence == charSequence2) {
 | |
|             return true;
 | |
|         }
 | |
|         if (charSequence == null || charSequence2 == null || charSequence.length() != charSequence2.length()) {
 | |
|             return false;
 | |
|         }
 | |
|         int length = charSequence.length();
 | |
|         for (int i = 0; i < length; i++) {
 | |
|             if (charSequence.charAt(i) != charSequence2.charAt(i)) {
 | |
|                 return false;
 | |
|             }
 | |
|         }
 | |
|         return true;
 | |
|     }
 | |
| 
 | |
|     public static final boolean toBooleanStrict(String str) {
 | |
|         Intrinsics.checkNotNullParameter(str, "<this>");
 | |
|         if (Intrinsics.areEqual(str, "true")) {
 | |
|             return true;
 | |
|         }
 | |
|         if (Intrinsics.areEqual(str, "false")) {
 | |
|             return false;
 | |
|         }
 | |
|         throw new IllegalArgumentException("The string doesn't represent a boolean value: " + str);
 | |
|     }
 | |
| 
 | |
|     public static final Boolean toBooleanStrictOrNull(String str) {
 | |
|         Intrinsics.checkNotNullParameter(str, "<this>");
 | |
|         if (Intrinsics.areEqual(str, "true")) {
 | |
|             return true;
 | |
|         }
 | |
|         return Intrinsics.areEqual(str, "false") ? false : null;
 | |
|     }
 | |
| 
 | |
|     public static final CharSequence trim(CharSequence charSequence, char... chars) {
 | |
|         Intrinsics.checkNotNullParameter(charSequence, "<this>");
 | |
|         Intrinsics.checkNotNullParameter(chars, "chars");
 | |
|         int length = charSequence.length() - 1;
 | |
|         int i = 0;
 | |
|         boolean z = false;
 | |
|         while (i <= length) {
 | |
|             boolean contains = ArraysKt.contains(chars, charSequence.charAt(!z ? i : length));
 | |
|             if (z) {
 | |
|                 if (!contains) {
 | |
|                     break;
 | |
|                 }
 | |
|                 length--;
 | |
|             } else if (contains) {
 | |
|                 i++;
 | |
|             } else {
 | |
|                 z = true;
 | |
|             }
 | |
|         }
 | |
|         return charSequence.subSequence(i, length + 1);
 | |
|     }
 | |
| 
 | |
|     public static final String trim(String str, char... chars) {
 | |
|         Intrinsics.checkNotNullParameter(str, "<this>");
 | |
|         Intrinsics.checkNotNullParameter(chars, "chars");
 | |
|         String str2 = str;
 | |
|         int length = str2.length() - 1;
 | |
|         int i = 0;
 | |
|         boolean z = false;
 | |
|         while (i <= length) {
 | |
|             boolean contains = ArraysKt.contains(chars, str2.charAt(!z ? i : length));
 | |
|             if (z) {
 | |
|                 if (!contains) {
 | |
|                     break;
 | |
|                 }
 | |
|                 length--;
 | |
|             } else if (contains) {
 | |
|                 i++;
 | |
|             } else {
 | |
|                 z = true;
 | |
|             }
 | |
|         }
 | |
|         return str2.subSequence(i, length + 1).toString();
 | |
|     }
 | |
| 
 | |
|     public static final CharSequence trimStart(CharSequence charSequence, char... chars) {
 | |
|         Intrinsics.checkNotNullParameter(charSequence, "<this>");
 | |
|         Intrinsics.checkNotNullParameter(chars, "chars");
 | |
|         int length = charSequence.length();
 | |
|         for (int i = 0; i < length; i++) {
 | |
|             if (!ArraysKt.contains(chars, charSequence.charAt(i))) {
 | |
|                 return charSequence.subSequence(i, charSequence.length());
 | |
|             }
 | |
|         }
 | |
|         return "";
 | |
|     }
 | |
| 
 | |
|     public static final String trimStart(String str, char... chars) {
 | |
|         String str2;
 | |
|         Intrinsics.checkNotNullParameter(str, "<this>");
 | |
|         Intrinsics.checkNotNullParameter(chars, "chars");
 | |
|         String str3 = str;
 | |
|         int length = str3.length();
 | |
|         int i = 0;
 | |
|         while (true) {
 | |
|             if (i < length) {
 | |
|                 if (!ArraysKt.contains(chars, str3.charAt(i))) {
 | |
|                     str2 = str3.subSequence(i, str3.length());
 | |
|                     break;
 | |
|                 }
 | |
|                 i++;
 | |
|             } else {
 | |
|                 break;
 | |
|             }
 | |
|         }
 | |
|         return str2.toString();
 | |
|     }
 | |
| 
 | |
|     public static final CharSequence trimEnd(CharSequence charSequence, char... chars) {
 | |
|         Intrinsics.checkNotNullParameter(charSequence, "<this>");
 | |
|         Intrinsics.checkNotNullParameter(chars, "chars");
 | |
|         int length = charSequence.length() - 1;
 | |
|         if (length >= 0) {
 | |
|             while (true) {
 | |
|                 int i = length - 1;
 | |
|                 if (!ArraysKt.contains(chars, charSequence.charAt(length))) {
 | |
|                     return charSequence.subSequence(0, length + 1);
 | |
|                 }
 | |
|                 if (i < 0) {
 | |
|                     break;
 | |
|                 }
 | |
|                 length = i;
 | |
|             }
 | |
|         }
 | |
|         return "";
 | |
|     }
 | |
| 
 | |
|     public static final String trimEnd(String str, char... chars) {
 | |
|         String str2;
 | |
|         Intrinsics.checkNotNullParameter(str, "<this>");
 | |
|         Intrinsics.checkNotNullParameter(chars, "chars");
 | |
|         String str3 = str;
 | |
|         int length = str3.length() - 1;
 | |
|         if (length >= 0) {
 | |
|             while (true) {
 | |
|                 int i = length - 1;
 | |
|                 if (!ArraysKt.contains(chars, str3.charAt(length))) {
 | |
|                     str2 = str3.subSequence(0, length + 1);
 | |
|                     break;
 | |
|                 }
 | |
|                 if (i < 0) {
 | |
|                     break;
 | |
|                 }
 | |
|                 length = i;
 | |
|             }
 | |
|             return str2.toString();
 | |
|         }
 | |
|         return str2.toString();
 | |
|     }
 | |
| 
 | |
|     public static final CharSequence trim(CharSequence charSequence) {
 | |
|         Intrinsics.checkNotNullParameter(charSequence, "<this>");
 | |
|         int length = charSequence.length() - 1;
 | |
|         int i = 0;
 | |
|         boolean z = false;
 | |
|         while (i <= length) {
 | |
|             boolean isWhitespace = CharsKt.isWhitespace(charSequence.charAt(!z ? i : length));
 | |
|             if (z) {
 | |
|                 if (!isWhitespace) {
 | |
|                     break;
 | |
|                 }
 | |
|                 length--;
 | |
|             } else if (isWhitespace) {
 | |
|                 i++;
 | |
|             } else {
 | |
|                 z = true;
 | |
|             }
 | |
|         }
 | |
|         return charSequence.subSequence(i, length + 1);
 | |
|     }
 | |
| 
 | |
|     public static final CharSequence trimStart(CharSequence charSequence) {
 | |
|         Intrinsics.checkNotNullParameter(charSequence, "<this>");
 | |
|         int length = charSequence.length();
 | |
|         for (int i = 0; i < length; i++) {
 | |
|             if (!CharsKt.isWhitespace(charSequence.charAt(i))) {
 | |
|                 return charSequence.subSequence(i, charSequence.length());
 | |
|             }
 | |
|         }
 | |
|         return "";
 | |
|     }
 | |
| 
 | |
|     public static final CharSequence trimEnd(CharSequence charSequence) {
 | |
|         Intrinsics.checkNotNullParameter(charSequence, "<this>");
 | |
|         int length = charSequence.length() - 1;
 | |
|         if (length >= 0) {
 | |
|             while (true) {
 | |
|                 int i = length - 1;
 | |
|                 if (!CharsKt.isWhitespace(charSequence.charAt(length))) {
 | |
|                     return charSequence.subSequence(0, length + 1);
 | |
|                 }
 | |
|                 if (i < 0) {
 | |
|                     break;
 | |
|                 }
 | |
|                 length = i;
 | |
|             }
 | |
|         }
 | |
|         return "";
 | |
|     }
 | |
| }
 |