|
|
@@ -9,88 +9,89 @@ namespace Ryujinx.Horizon.Sdk.Ngc.Detail
|
|
|
abstract class ProfanityFilterBase
|
|
|
{
|
|
|
#pragma warning disable IDE0230 // Use UTF-8 string literal
|
|
|
- private static readonly byte[][] _wordSeparators = {
|
|
|
- new byte[] { 0x0D },
|
|
|
- new byte[] { 0x0A },
|
|
|
- new byte[] { 0xC2, 0x85 },
|
|
|
- new byte[] { 0xE2, 0x80, 0xA8 },
|
|
|
- new byte[] { 0xE2, 0x80, 0xA9 },
|
|
|
- new byte[] { 0x09 },
|
|
|
- new byte[] { 0x0B },
|
|
|
- new byte[] { 0x0C },
|
|
|
- new byte[] { 0x20 },
|
|
|
- new byte[] { 0xEF, 0xBD, 0xA1 },
|
|
|
- new byte[] { 0xEF, 0xBD, 0xA4 },
|
|
|
- new byte[] { 0x2E },
|
|
|
- new byte[] { 0x2C },
|
|
|
- new byte[] { 0x5B },
|
|
|
- new byte[] { 0x21 },
|
|
|
- new byte[] { 0x22 },
|
|
|
- new byte[] { 0x23 },
|
|
|
- new byte[] { 0x24 },
|
|
|
- new byte[] { 0x25 },
|
|
|
- new byte[] { 0x26 },
|
|
|
- new byte[] { 0x27 },
|
|
|
- new byte[] { 0x28 },
|
|
|
- new byte[] { 0x29 },
|
|
|
- new byte[] { 0x2A },
|
|
|
- new byte[] { 0x2B },
|
|
|
- new byte[] { 0x2F },
|
|
|
- new byte[] { 0x3A },
|
|
|
- new byte[] { 0x3B },
|
|
|
- new byte[] { 0x3C },
|
|
|
- new byte[] { 0x3D },
|
|
|
- new byte[] { 0x3E },
|
|
|
- new byte[] { 0x3F },
|
|
|
- new byte[] { 0x5C },
|
|
|
- new byte[] { 0x40 },
|
|
|
- new byte[] { 0x5E },
|
|
|
- new byte[] { 0x5F },
|
|
|
- new byte[] { 0x60 },
|
|
|
- new byte[] { 0x7B },
|
|
|
- new byte[] { 0x7C },
|
|
|
- new byte[] { 0x7D },
|
|
|
- new byte[] { 0x7E },
|
|
|
- new byte[] { 0x2D },
|
|
|
- new byte[] { 0x5D },
|
|
|
- new byte[] { 0xE3, 0x80, 0x80 },
|
|
|
- new byte[] { 0xE3, 0x80, 0x82 },
|
|
|
- new byte[] { 0xE3, 0x80, 0x81 },
|
|
|
- new byte[] { 0xEF, 0xBC, 0x8E },
|
|
|
- new byte[] { 0xEF, 0xBC, 0x8C },
|
|
|
- new byte[] { 0xEF, 0xBC, 0xBB },
|
|
|
- new byte[] { 0xEF, 0xBC, 0x81 },
|
|
|
- new byte[] { 0xE2, 0x80, 0x9C },
|
|
|
- new byte[] { 0xE2, 0x80, 0x9D },
|
|
|
- new byte[] { 0xEF, 0xBC, 0x83 },
|
|
|
- new byte[] { 0xEF, 0xBC, 0x84 },
|
|
|
- new byte[] { 0xEF, 0xBC, 0x85 },
|
|
|
- new byte[] { 0xEF, 0xBC, 0x86 },
|
|
|
- new byte[] { 0xE2, 0x80, 0x98 },
|
|
|
- new byte[] { 0xE2, 0x80, 0x99 },
|
|
|
- new byte[] { 0xEF, 0xBC, 0x88 },
|
|
|
- new byte[] { 0xEF, 0xBC, 0x89 },
|
|
|
- new byte[] { 0xEF, 0xBC, 0x8A },
|
|
|
- new byte[] { 0xEF, 0xBC, 0x8B },
|
|
|
- new byte[] { 0xEF, 0xBC, 0x8F },
|
|
|
- new byte[] { 0xEF, 0xBC, 0x9A },
|
|
|
- new byte[] { 0xEF, 0xBC, 0x9B },
|
|
|
- new byte[] { 0xEF, 0xBC, 0x9C },
|
|
|
- new byte[] { 0xEF, 0xBC, 0x9D },
|
|
|
- new byte[] { 0xEF, 0xBC, 0x9E },
|
|
|
- new byte[] { 0xEF, 0xBC, 0x9F },
|
|
|
- new byte[] { 0xEF, 0xBC, 0xA0 },
|
|
|
- new byte[] { 0xEF, 0xBF, 0xA5 },
|
|
|
- new byte[] { 0xEF, 0xBC, 0xBE },
|
|
|
- new byte[] { 0xEF, 0xBC, 0xBF },
|
|
|
- new byte[] { 0xEF, 0xBD, 0x80 },
|
|
|
- new byte[] { 0xEF, 0xBD, 0x9B },
|
|
|
- new byte[] { 0xEF, 0xBD, 0x9C },
|
|
|
- new byte[] { 0xEF, 0xBD, 0x9D },
|
|
|
- new byte[] { 0xEF, 0xBD, 0x9E },
|
|
|
- new byte[] { 0xEF, 0xBC, 0x8D },
|
|
|
- new byte[] { 0xEF, 0xBC, 0xBD },
|
|
|
- };
|
|
|
+ private static readonly byte[][] _wordSeparators =
|
|
|
+ [
|
|
|
+ [0x0D],
|
|
|
+ [0x0A],
|
|
|
+ [0xC2, 0x85],
|
|
|
+ [0xE2, 0x80, 0xA8],
|
|
|
+ [0xE2, 0x80, 0xA9],
|
|
|
+ [0x09],
|
|
|
+ [0x0B],
|
|
|
+ [0x0C],
|
|
|
+ [0x20],
|
|
|
+ [0xEF, 0xBD, 0xA1],
|
|
|
+ [0xEF, 0xBD, 0xA4],
|
|
|
+ [0x2E],
|
|
|
+ [0x2C],
|
|
|
+ [0x5B],
|
|
|
+ [0x21],
|
|
|
+ [0x22],
|
|
|
+ [0x23],
|
|
|
+ [0x24],
|
|
|
+ [0x25],
|
|
|
+ [0x26],
|
|
|
+ [0x27],
|
|
|
+ [0x28],
|
|
|
+ [0x29],
|
|
|
+ [0x2A],
|
|
|
+ [0x2B],
|
|
|
+ [0x2F],
|
|
|
+ [0x3A],
|
|
|
+ [0x3B],
|
|
|
+ [0x3C],
|
|
|
+ [0x3D],
|
|
|
+ [0x3E],
|
|
|
+ [0x3F],
|
|
|
+ [0x5C],
|
|
|
+ [0x40],
|
|
|
+ [0x5E],
|
|
|
+ [0x5F],
|
|
|
+ [0x60],
|
|
|
+ [0x7B],
|
|
|
+ [0x7C],
|
|
|
+ [0x7D],
|
|
|
+ [0x7E],
|
|
|
+ [0x2D],
|
|
|
+ [0x5D],
|
|
|
+ [0xE3, 0x80, 0x80],
|
|
|
+ [0xE3, 0x80, 0x82],
|
|
|
+ [0xE3, 0x80, 0x81],
|
|
|
+ [0xEF, 0xBC, 0x8E],
|
|
|
+ [0xEF, 0xBC, 0x8C],
|
|
|
+ [0xEF, 0xBC, 0xBB],
|
|
|
+ [0xEF, 0xBC, 0x81],
|
|
|
+ [0xE2, 0x80, 0x9C],
|
|
|
+ [0xE2, 0x80, 0x9D],
|
|
|
+ [0xEF, 0xBC, 0x83],
|
|
|
+ [0xEF, 0xBC, 0x84],
|
|
|
+ [0xEF, 0xBC, 0x85],
|
|
|
+ [0xEF, 0xBC, 0x86],
|
|
|
+ [0xE2, 0x80, 0x98],
|
|
|
+ [0xE2, 0x80, 0x99],
|
|
|
+ [0xEF, 0xBC, 0x88],
|
|
|
+ [0xEF, 0xBC, 0x89],
|
|
|
+ [0xEF, 0xBC, 0x8A],
|
|
|
+ [0xEF, 0xBC, 0x8B],
|
|
|
+ [0xEF, 0xBC, 0x8F],
|
|
|
+ [0xEF, 0xBC, 0x9A],
|
|
|
+ [0xEF, 0xBC, 0x9B],
|
|
|
+ [0xEF, 0xBC, 0x9C],
|
|
|
+ [0xEF, 0xBC, 0x9D],
|
|
|
+ [0xEF, 0xBC, 0x9E],
|
|
|
+ [0xEF, 0xBC, 0x9F],
|
|
|
+ [0xEF, 0xBC, 0xA0],
|
|
|
+ [0xEF, 0xBF, 0xA5],
|
|
|
+ [0xEF, 0xBC, 0xBE],
|
|
|
+ [0xEF, 0xBC, 0xBF],
|
|
|
+ [0xEF, 0xBD, 0x80],
|
|
|
+ [0xEF, 0xBD, 0x9B],
|
|
|
+ [0xEF, 0xBD, 0x9C],
|
|
|
+ [0xEF, 0xBD, 0x9D],
|
|
|
+ [0xEF, 0xBD, 0x9E],
|
|
|
+ [0xEF, 0xBC, 0x8D],
|
|
|
+ [0xEF, 0xBC, 0xBD]
|
|
|
+ ];
|
|
|
#pragma warning restore IDE0230
|
|
|
|
|
|
private enum SignFilterStep
|