<PackageReference Include="SSH.NET" Version="2024.2.0" />

<RegexGenerator_g>FF02E8C37B99F41659B0026E2B1005AC8CE9F303D9F9E176C498C4EA009567923__GetPrivateKeyRegex_5

using System.CodeDom.Compiler; using System.Collections; using System.Runtime.CompilerServices; namespace System.Text.RegularExpressions.Generated { [GeneratedCode("System.Text.RegularExpressions.Generator", "8.0.10.36612")] internal sealed class <RegexGenerator_g>FF02E8C37B99F41659B0026E2B1005AC8CE9F303D9F9E176C498C4EA009567923__GetPrivateKeyRegex_5 : Regex { private sealed class RunnerFactory : RegexRunnerFactory { private sealed class Runner : RegexRunner { protected override void Scan(ReadOnlySpan<char> inputSpan) { while (TryFindNextPossibleStartingPosition(inputSpan) && !TryMatchAtCurrentPosition(inputSpan) && runtextpos != inputSpan.Length) { runtextpos++; if (<RegexGenerator_g>FF02E8C37B99F41659B0026E2B1005AC8CE9F303D9F9E176C498C4EA009567923__Utilities.s_hasTimeout) CheckTimeout(); } } private bool TryFindNextPossibleStartingPosition(ReadOnlySpan<char> inputSpan) { int num = runtextpos; if (num <= inputSpan.Length - 18) { if (num <= 0 || inputSpan[num - 1] == '\n') goto IL_005a; int num2 = inputSpan.Slice(num).IndexOf('\n'); if ((uint)num2 <= inputSpan.Length - num - 1) { num += num2 + 1; if (num <= inputSpan.Length - 18) goto IL_005a; } } goto IL_0079; IL_005a: int num3 = inputSpan.Slice(num).IndexOf('-'); if (num3 >= 0) { runtextpos = num + num3; return true; } goto IL_0079; IL_0079: runtextpos = inputSpan.Length; return false; } private bool TryMatchAtCurrentPosition(ReadOnlySpan<char> inputSpan) { int runtextpos = base.runtextpos; int start = runtextpos; int num = 0; int num2 = 0; int num3 = 0; int num4 = 0; int num5 = 0; int arg = 0; int arg2 = 0; int arg3 = 0; int arg4 = 0; int num6 = 0; int num7 = 0; int num8 = 0; int num9 = 0; int num10 = 0; int pos = 0; ReadOnlySpan<char> span = inputSpan.Slice(runtextpos); if (runtextpos > 0 && inputSpan[runtextpos - 1] != '\n') { <TryMatchAtCurrentPosition>g__UncaptureUntil|2_0(0); return false; } int num11 = span.IndexOfAnyExcept('-'); if (num11 < 0) num11 = span.Length; if (num11 == 0) { <TryMatchAtCurrentPosition>g__UncaptureUntil|2_0(0); return false; } span = span.Slice(num11); runtextpos += num11; int num12 = span.IndexOfAnyExcept(' '); if (num12 < 0) num12 = span.Length; span = span.Slice(num12); runtextpos += num12; if (!span.StartsWith("BEGIN ")) { <TryMatchAtCurrentPosition>g__UncaptureUntil|2_0(0); return false; } runtextpos += 6; span = inputSpan.Slice(runtextpos); num = runtextpos; num4 = runtextpos; int i; for (i = 0; (uint)i < (uint)span.Length && <RegexGenerator_g>FF02E8C37B99F41659B0026E2B1005AC8CE9F303D9F9E176C498C4EA009567923__Utilities.IsWordChar(span[i]); i++) { } if (i == 0) { <TryMatchAtCurrentPosition>g__UncaptureUntil|2_0(0); return false; } span = span.Slice(i); runtextpos += i; num5 = runtextpos; num4++; while (true) { num3 = Crawlpos(); num6 = 0; while (true) { <RegexGenerator_g>FF02E8C37B99F41659B0026E2B1005AC8CE9F303D9F9E176C498C4EA009567923__Utilities.StackPush(ref runstack, ref pos, Crawlpos(), runtextpos); num6++; if (span.IsEmpty || span[0] != ' ') break; runtextpos++; span = inputSpan.Slice(runtextpos); int j; for (j = 0; (uint)j < (uint)span.Length && <RegexGenerator_g>FF02E8C37B99F41659B0026E2B1005AC8CE9F303D9F9E176C498C4EA009567923__Utilities.IsWordChar(span[j]); j++) { } if (j == 0) break; span = span.Slice(j); runtextpos += j; } while (--num6 >= 0) { runtextpos = runstack[--pos]; <TryMatchAtCurrentPosition>g__UncaptureUntil|2_0(runstack[--pos]); span = inputSpan.Slice(runtextpos); Capture(1, num, runtextpos); int num13 = span.IndexOfAnyExcept(' '); if (num13 < 0) num13 = span.Length; span = span.Slice(num13); runtextpos += num13; int num14 = span.IndexOfAnyExcept('-'); if (num14 < 0) num14 = span.Length; if (num14 != 0) { span = span.Slice(num14); runtextpos += num14; if (!span.IsEmpty && span[0] == '\r') { span = span.Slice(1); runtextpos++; } if (!span.IsEmpty && span[0] == '\n') { runtextpos++; span = inputSpan.Slice(runtextpos); num7 = 0; while (true) { <RegexGenerator_g>FF02E8C37B99F41659B0026E2B1005AC8CE9F303D9F9E176C498C4EA009567923__Utilities.StackPush(ref runstack, ref pos, Crawlpos(), runtextpos); num7++; int arg5 = runtextpos; int arg6 = Crawlpos(); if (span.StartsWith("Proc-Type: 4,ENCRYPTED")) { if ((uint)span.Length > 22 && span[22] == '\r') { span = span.Slice(1); runtextpos++; } if (span.Slice(22).StartsWith("\nDEK-Info: ")) { runtextpos += 33; span = inputSpan.Slice(runtextpos); int start2 = runtextpos; int num15 = span.IndexOfAnyExcept(<RegexGenerator_g>FF02E8C37B99F41659B0026E2B1005AC8CE9F303D9F9E176C498C4EA009567923__Utilities.s_ascii_20FF03FEFFFF0700000000); if (num15 < 0) num15 = span.Length; if (num15 != 0) { span = span.Slice(num15); runtextpos += num15; Capture(2, start2, runtextpos); if (!span.IsEmpty && span[0] == ',') { runtextpos++; span = inputSpan.Slice(runtextpos); int start3 = runtextpos; int num16 = span.IndexOfAnyExcept(<RegexGenerator_g>FF02E8C37B99F41659B0026E2B1005AC8CE9F303D9F9E176C498C4EA009567923__Utilities.s_asciiHexDigitsUpper); if (num16 < 0) num16 = span.Length; if (num16 != 0) { span = span.Slice(num16); runtextpos += num16; Capture(3, start3, runtextpos); if (!span.IsEmpty && span[0] == '\r') { span = span.Slice(1); runtextpos++; } if (!span.IsEmpty && span[0] == '\n') { if ((uint)span.Length > 1 && span[1] == '\r') { span = span.Slice(1); runtextpos++; } if ((uint)span.Length >= 2 && span[1] == '\n') { <RegexGenerator_g>FF02E8C37B99F41659B0026E2B1005AC8CE9F303D9F9E176C498C4EA009567923__Utilities.StackPush(ref runstack, ref pos, 0, arg5, arg6); runtextpos += 2; span = inputSpan.Slice(runtextpos); goto IL_06d8; } } } } } } } goto IL_04b4; IL_05b1: <TryMatchAtCurrentPosition>g__UncaptureUntil|2_0(runstack[--pos]); <RegexGenerator_g>FF02E8C37B99F41659B0026E2B1005AC8CE9F303D9F9E176C498C4EA009567923__Utilities.StackPop(runstack, ref pos, out arg4, out arg3); if (<RegexGenerator_g>FF02E8C37B99F41659B0026E2B1005AC8CE9F303D9F9E176C498C4EA009567923__Utilities.s_hasTimeout) CheckTimeout(); if (arg3 < arg4) { runtextpos = --arg4; span = inputSpan.Slice(runtextpos); goto IL_05fe; } <TryMatchAtCurrentPosition>g__UncaptureUntil|2_0(runstack[--pos]); <RegexGenerator_g>FF02E8C37B99F41659B0026E2B1005AC8CE9F303D9F9E176C498C4EA009567923__Utilities.StackPop(runstack, ref pos, out arg2, out arg); if (<RegexGenerator_g>FF02E8C37B99F41659B0026E2B1005AC8CE9F303D9F9E176C498C4EA009567923__Utilities.s_hasTimeout) CheckTimeout(); if (arg < arg2) { runtextpos = --arg2; span = inputSpan.Slice(runtextpos); goto IL_0567; } goto IL_06e1; IL_04b4: runtextpos = arg5; span = inputSpan.Slice(runtextpos); <TryMatchAtCurrentPosition>g__UncaptureUntil|2_0(arg6); if (span.StartsWith("Comment: ")) { runtextpos += 9; span = inputSpan.Slice(runtextpos); arg = runtextpos; if (!span.IsEmpty && span[0] == '"') { span = span.Slice(1); runtextpos++; } arg2 = runtextpos; goto IL_0567; } goto IL_06e1; IL_0567: <RegexGenerator_g>FF02E8C37B99F41659B0026E2B1005AC8CE9F303D9F9E176C498C4EA009567923__Utilities.StackPush(ref runstack, ref pos, arg, arg2, Crawlpos()); arg3 = runtextpos; int num17 = span.IndexOfAny('\n', '\r'); if (num17 < 0) num17 = span.Length; span = span.Slice(num17); runtextpos += num17; arg4 = runtextpos; goto IL_05fe; IL_06d8: if (num7 == 0) continue; goto IL_0736; IL_0736: num2 = runtextpos; num8 = 0; while (true) { <RegexGenerator_g>FF02E8C37B99F41659B0026E2B1005AC8CE9F303D9F9E176C498C4EA009567923__Utilities.StackPush(ref runstack, ref pos, Crawlpos(), runtextpos); num8++; int k; for (k = 0; k < 80 && (uint)k < (uint)span.Length; k++) { char c; if ((c = span[k]) >= '{') break; if (("蠀⏿￾߿￾߿"[(int)c >> 4] & (1 << (c & 15))) == 0) break; } if (k == 0) break; span = span.Slice(k); runtextpos += k; if (!span.IsEmpty && span[0] == '\r') { span = span.Slice(1); runtextpos++; } if (span.IsEmpty || span[0] != '\n') break; runtextpos++; span = inputSpan.Slice(runtextpos); } while (--num8 >= 0) { runtextpos = runstack[--pos]; <TryMatchAtCurrentPosition>g__UncaptureUntil|2_0(runstack[--pos]); span = inputSpan.Slice(runtextpos); if (num8 == 0) break; Capture(4, num2, runtextpos); num9 = 0; while (true) { <RegexGenerator_g>FF02E8C37B99F41659B0026E2B1005AC8CE9F303D9F9E176C498C4EA009567923__Utilities.StackPush(ref runstack, ref pos, Crawlpos(), runtextpos); num9++; if (!span.IsEmpty && span[0] == '\r') { span = span.Slice(1); runtextpos++; } if (span.IsEmpty || span[0] != '\n') goto IL_08b2; runtextpos++; span = inputSpan.Slice(runtextpos); if (num9 == 0) continue; goto IL_08ec; IL_08b2: if (--num9 < 0) break; runtextpos = runstack[--pos]; <TryMatchAtCurrentPosition>g__UncaptureUntil|2_0(runstack[--pos]); span = inputSpan.Slice(runtextpos); goto IL_08ec; IL_08ec: int num18 = span.IndexOfAnyExcept('-'); if (num18 < 0) num18 = span.Length; if (num18 != 0) { span = span.Slice(num18); runtextpos += num18; int num19 = span.IndexOfAnyExcept(' '); if (num19 < 0) num19 = span.Length; span = span.Slice(num19); runtextpos += num19; if (span.StartsWith("END ")) { runtextpos += 4; span = inputSpan.Slice(runtextpos); if (IsMatched(1)) { num10 = MatchLength(1); if (span.Length >= num10 && inputSpan.Slice(MatchIndex(1), num10).SequenceEqual(span.Slice(0, num10))) { runtextpos += num10; span = inputSpan.Slice(runtextpos); int num20 = span.IndexOfAnyExcept(' '); if (num20 < 0) num20 = span.Length; span = span.Slice(num20); runtextpos += num20; int num21 = span.IndexOfAnyExcept('-'); if (num21 < 0) num21 = span.Length; if (num21 != 0) { span = span.Slice(num21); Capture(0, start, base.runtextpos = runtextpos + num21); return true; } } } } } goto IL_08b2; } } if (<RegexGenerator_g>FF02E8C37B99F41659B0026E2B1005AC8CE9F303D9F9E176C498C4EA009567923__Utilities.s_hasTimeout) CheckTimeout(); if (num7 == 0) break; if (<RegexGenerator_g>FF02E8C37B99F41659B0026E2B1005AC8CE9F303D9F9E176C498C4EA009567923__Utilities.s_hasTimeout) CheckTimeout(); <RegexGenerator_g>FF02E8C37B99F41659B0026E2B1005AC8CE9F303D9F9E176C498C4EA009567923__Utilities.StackPop(runstack, ref pos, out arg6, out arg5); switch (runstack[--pos]) { case 0: break; case 1: goto IL_05b1; default: goto IL_06d8; } goto IL_04b4; IL_06e1: if (--num7 < 0) break; runtextpos = runstack[--pos]; <TryMatchAtCurrentPosition>g__UncaptureUntil|2_0(runstack[--pos]); span = inputSpan.Slice(runtextpos); goto IL_0736; IL_05fe: <RegexGenerator_g>FF02E8C37B99F41659B0026E2B1005AC8CE9F303D9F9E176C498C4EA009567923__Utilities.StackPush(ref runstack, ref pos, arg3, arg4, Crawlpos()); if (!span.IsEmpty && span[0] == '"') { span = span.Slice(1); runtextpos++; } if (!span.IsEmpty && span[0] == '\r') { span = span.Slice(1); runtextpos++; } if (span.IsEmpty || span[0] != '\n') goto IL_05b1; <RegexGenerator_g>FF02E8C37B99F41659B0026E2B1005AC8CE9F303D9F9E176C498C4EA009567923__Utilities.StackPush(ref runstack, ref pos, 1, arg5, arg6); runtextpos++; span = inputSpan.Slice(runtextpos); goto IL_06d8; } } } } <TryMatchAtCurrentPosition>g__UncaptureUntil|2_0(num3); if (<RegexGenerator_g>FF02E8C37B99F41659B0026E2B1005AC8CE9F303D9F9E176C498C4EA009567923__Utilities.s_hasTimeout) CheckTimeout(); if (num4 >= num5) break; runtextpos = --num5; span = inputSpan.Slice(runtextpos); } <TryMatchAtCurrentPosition>g__UncaptureUntil|2_0(0); return false; } } [NullableContext(1)] protected override RegexRunner CreateInstance() { return new Runner(); } } [Nullable(1)] internal static readonly <RegexGenerator_g>FF02E8C37B99F41659B0026E2B1005AC8CE9F303D9F9E176C498C4EA009567923__GetPrivateKeyRegex_5 Instance = new <RegexGenerator_g>FF02E8C37B99F41659B0026E2B1005AC8CE9F303D9F9E176C498C4EA009567923__GetPrivateKeyRegex_5(); private <RegexGenerator_g>FF02E8C37B99F41659B0026E2B1005AC8CE9F303D9F9E176C498C4EA009567923__GetPrivateKeyRegex_5() { pattern = "^-+ *BEGIN (?<keyName>\\w+( \\w+)*) *-+\\r?\\n((Proc-Type: 4,ENCRYPTED\\r?\\nDEK-Info: (?<cipherName>[A-Z0-9-]+),(?<salt>[A-F0-9]+)\\r?\\n\\r?\\n)|(Comment: \"?[^\\r\\n]*\"?\\r?\\n))?(?<data>([a-zA-Z0-9/+=]{1,80}\\r?\\n)+)(\\r?\\n)?-+ *END \\k<keyName> *-+"; roptions = (RegexOptions.Multiline | RegexOptions.ExplicitCapture); Regex.ValidateMatchTimeout(<RegexGenerator_g>FF02E8C37B99F41659B0026E2B1005AC8CE9F303D9F9E176C498C4EA009567923__Utilities.s_defaultTimeout); internalMatchTimeout = <RegexGenerator_g>FF02E8C37B99F41659B0026E2B1005AC8CE9F303D9F9E176C498C4EA009567923__Utilities.s_defaultTimeout; factory = new RunnerFactory(); base.CapNames = new Hashtable { { "0", 0 }, { "cipherName", 2 }, { "data", 4 }, { "keyName", 1 }, { "salt", 3 } }; capslist = new string[5] { "0", "keyName", "cipherName", "salt", "data" }; capsize = 5; } } }