diff --git a/README.markdown b/README.markdown index d5f12e2..ce97e98 100644 --- a/README.markdown +++ b/README.markdown @@ -73,7 +73,7 @@ expressed as JSON Schema definitions. | ISO/IEC | [ISO/IEC 9899:2024](https://www.iso.org/standard/82075.html) | Programming languages — C | | JSON-RPC | [JSON-RPC 2.0](https://www.jsonrpc.org/specification) | JSON-RPC 2.0 Specification | | JSON Schema | [Draft 2020-12](https://json-schema.org/draft/2020-12/json-schema-core) | JSON Schema: A Media Type for Describing JSON Documents | -| W3C | [XML Schema Part 2: Datatypes Second Edition](https://www.w3.org/TR/xmlschema-2/) | W3C Recommendation 28 October 2004 | +| W3C | [XML Schema Part 2](https://www.w3.org/TR/xmlschema-2/) | XML Schema Datatypes Second Edition | To request coverage of another standard, please [open an issue on GitHub](https://github.com/sourcemeta/std/issues). diff --git a/schemas/w3c/xmlschema/2001/name.json b/schemas/w3c/xmlschema/2001/name.json new file mode 100644 index 0000000..915e760 --- /dev/null +++ b/schemas/w3c/xmlschema/2001/name.json @@ -0,0 +1,24 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "W3C XML Schema Name", + "description": "Represents XML names conforming to the Name production (§3.3.6)", + "$comment": "This schema validates using UTF-8 byte sequences instead of Unicode codepoint escapes because regex engines often treat patterns as byte sequences", + "examples": [ + "element", + "_private", + "my:name", + "CamelCase", + "element-name", + "element.name" + ], + "x-license": "https://github.com/sourcemeta/std/blob/main/LICENSE", + "x-links": [ + "https://www.w3.org/TR/xmlschema-2/#Name", + "https://www.w3.org/TR/xml/#NT-Name" + ], + "type": "string", + "not": { + "pattern": "[\\x00-\\x1F]" + }, + "pattern": "^(\\x3A|[\\x41-\\x5A]|\\x5F|[\\x61-\\x7A]|\\xC3[\\x80-\\x96]|\\xC3[\\x98-\\xB6]|\\xC3[\\xB8-\\xBF]|\\xC4[\\x80-\\xBF]|\\xC5[\\x80-\\xBF]|\\xC6[\\x80-\\xBF]|\\xC7[\\x80-\\xBF]|\\xC8[\\x80-\\xBF]|\\xC9[\\x80-\\xBF]|\\xCA[\\x80-\\xBF]|\\xCB[\\x80-\\xBF]|\\xCD[\\xB0-\\xBD]|\\xCD\\xBF|\\xCE[\\x80-\\xBF]|\\xCF[\\x80-\\xBF]|\\xD0[\\x80-\\xBF]|\\xD1[\\x80-\\xBF]|\\xD2[\\x80-\\xBF]|\\xD3[\\x80-\\xBF]|\\xD4[\\x80-\\xBF]|\\xD5[\\x80-\\xBF]|\\xD6[\\x80-\\xBF]|\\xD7[\\x80-\\xBF]|\\xD8[\\x80-\\xBF]|\\xD9[\\x80-\\xBF]|\\xDA[\\x80-\\xBF]|\\xDB[\\x80-\\xBF]|\\xDC[\\x80-\\xBF]|\\xDD[\\x80-\\xBF]|\\xDE[\\x80-\\xBF]|\\xDF[\\x80-\\xBF]|\\xE0\\xA0[\\x80-\\xBF]|\\xE0\\xA1[\\x80-\\xBF]|\\xE0\\xA2[\\x80-\\xBF]|\\xE0\\xA3[\\x80-\\xBF]|\\xE0\\xA4[\\x80-\\xBF]|\\xE0\\xA5[\\x80-\\xBF]|\\xE0\\xA6[\\x80-\\xBF]|\\xE0\\xA7[\\x80-\\xBF]|\\xE0\\xA8[\\x80-\\xBF]|\\xE0\\xA9[\\x80-\\xBF]|\\xE0\\xAA[\\x80-\\xBF]|\\xE0\\xAB[\\x80-\\xBF]|\\xE0\\xAC[\\x80-\\xBF]|\\xE0\\xAD[\\x80-\\xBF]|\\xE0\\xAE[\\x80-\\xBF]|\\xE0\\xAF[\\x80-\\xBF]|\\xE0\\xB0[\\x80-\\xBF]|\\xE0\\xB1[\\x80-\\xBF]|\\xE0\\xB2[\\x80-\\xBF]|\\xE0\\xB3[\\x80-\\xBF]|\\xE0\\xB4[\\x80-\\xBF]|\\xE0\\xB5[\\x80-\\xBF]|\\xE0\\xB6[\\x80-\\xBF]|\\xE0\\xB7[\\x80-\\xBF]|\\xE0\\xB8[\\x80-\\xBF]|\\xE0\\xB9[\\x80-\\xBF]|\\xE0\\xBA[\\x80-\\xBF]|\\xE0\\xBB[\\x80-\\xBF]|\\xE0\\xBC[\\x80-\\xBF]|\\xE0\\xBD[\\x80-\\xBF]|\\xE0\\xBE[\\x80-\\xBF]|\\xE0\\xBF[\\x80-\\xBF]|\\xE1\\x80[\\x80-\\xBF]|\\xE1\\x81[\\x80-\\xBF]|\\xE1\\x82[\\x80-\\xBF]|\\xE1\\x83[\\x80-\\xBF]|\\xE1\\x84[\\x80-\\xBF]|\\xE1\\x85[\\x80-\\xBF]|\\xE1\\x86[\\x80-\\xBF]|\\xE1\\x87[\\x80-\\xBF]|\\xE1\\x88[\\x80-\\xBF]|\\xE1\\x89[\\x80-\\xBF]|\\xE1\\x8A[\\x80-\\xBF]|\\xE1\\x8B[\\x80-\\xBF]|\\xE1\\x8C[\\x80-\\xBF]|\\xE1\\x8D[\\x80-\\xBF]|\\xE1\\x8E[\\x80-\\xBF]|\\xE1\\x8F[\\x80-\\xBF]|\\xE1\\x90[\\x80-\\xBF]|\\xE1\\x91[\\x80-\\xBF]|\\xE1\\x92[\\x80-\\xBF]|\\xE1\\x93[\\x80-\\xBF]|\\xE1\\x94[\\x80-\\xBF]|\\xE1\\x95[\\x80-\\xBF]|\\xE1\\x96[\\x80-\\xBF]|\\xE1\\x97[\\x80-\\xBF]|\\xE1\\x98[\\x80-\\xBF]|\\xE1\\x99[\\x80-\\xBF]|\\xE1\\x9A[\\x80-\\xBF]|\\xE1\\x9B[\\x80-\\xBF]|\\xE1\\x9C[\\x80-\\xBF]|\\xE1\\x9D[\\x80-\\xBF]|\\xE1\\x9E[\\x80-\\xBF]|\\xE1\\x9F[\\x80-\\xBF]|\\xE1\\xA0[\\x80-\\xBF]|\\xE1\\xA1[\\x80-\\xBF]|\\xE1\\xA2[\\x80-\\xBF]|\\xE1\\xA3[\\x80-\\xBF]|\\xE1\\xA4[\\x80-\\xBF]|\\xE1\\xA5[\\x80-\\xBF]|\\xE1\\xA6[\\x80-\\xBF]|\\xE1\\xA7[\\x80-\\xBF]|\\xE1\\xA8[\\x80-\\xBF]|\\xE1\\xA9[\\x80-\\xBF]|\\xE1\\xAA[\\x80-\\xBF]|\\xE1\\xAB[\\x80-\\xBF]|\\xE1\\xAC[\\x80-\\xBF]|\\xE1\\xAD[\\x80-\\xBF]|\\xE1\\xAE[\\x80-\\xBF]|\\xE1\\xAF[\\x80-\\xBF]|\\xE1\\xB0[\\x80-\\xBF]|\\xE1\\xB1[\\x80-\\xBF]|\\xE1\\xB2[\\x80-\\xBF]|\\xE1\\xB3[\\x80-\\xBF]|\\xE1\\xB4[\\x80-\\xBF]|\\xE1\\xB5[\\x80-\\xBF]|\\xE1\\xB6[\\x80-\\xBF]|\\xE1\\xB7[\\x80-\\xBF]|\\xE1\\xB8[\\x80-\\xBF]|\\xE1\\xB9[\\x80-\\xBF]|\\xE1\\xBA[\\x80-\\xBF]|\\xE1\\xBB[\\x80-\\xBF]|\\xE1\\xBC[\\x80-\\xBF]|\\xE1\\xBD[\\x80-\\xBF]|\\xE1\\xBE[\\x80-\\xBF]|\\xE1\\xBF[\\x80-\\xBF]|\\xE2\\x80[\\x8C-\\x8D]|\\xE2\\x81[\\xB0-\\xBF]|\\xE2\\x82[\\x80-\\xBF]|\\xE2\\x83[\\x80-\\xBF]|\\xE2\\x84[\\x80-\\xBF]|\\xE2\\x85[\\x80-\\xBF]|\\xE2\\x86[\\x80-\\x8F]|\\xE2\\xB0[\\x80-\\xBF]|\\xE2\\xB1[\\x80-\\xBF]|\\xE2\\xB2[\\x80-\\xBF]|\\xE2\\xB3[\\x80-\\xBF]|\\xE2\\xB4[\\x80-\\xBF]|\\xE2\\xB5[\\x80-\\xBF]|\\xE2\\xB6[\\x80-\\xBF]|\\xE2\\xB7[\\x80-\\xBF]|\\xE2\\xB8[\\x80-\\xBF]|\\xE2\\xB9[\\x80-\\xBF]|\\xE2\\xBA[\\x80-\\xBF]|\\xE2\\xBB[\\x80-\\xBF]|\\xE2\\xBC[\\x80-\\xBF]|\\xE2\\xBD[\\x80-\\xBF]|\\xE2\\xBE[\\x80-\\xBF]|\\xE2\\xBF[\\x80-\\xAF]|\\xE3\\x80[\\x81-\\xBF]|\\xE3\\x81[\\x80-\\xBF]|\\xE3\\x82[\\x80-\\xBF]|\\xE3\\x83[\\x80-\\xBF]|\\xE3\\x84[\\x80-\\xBF]|\\xE3\\x85[\\x80-\\xBF]|\\xE3\\x86[\\x80-\\xBF]|\\xE3\\x87[\\x80-\\xBF]|\\xE3\\x88[\\x80-\\xBF]|\\xE3\\x89[\\x80-\\xBF]|\\xE3\\x8A[\\x80-\\xBF]|\\xE3\\x8B[\\x80-\\xBF]|\\xE3\\x8C[\\x80-\\xBF]|\\xE3\\x8D[\\x80-\\xBF]|\\xE3\\x8E[\\x80-\\xBF]|\\xE3\\x8F[\\x80-\\xBF]|\\xE3\\x90[\\x80-\\xBF]|\\xE3\\x91[\\x80-\\xBF]|\\xE3\\x92[\\x80-\\xBF]|\\xE3\\x93[\\x80-\\xBF]|\\xE3\\x94[\\x80-\\xBF]|\\xE3\\x95[\\x80-\\xBF]|\\xE3\\x96[\\x80-\\xBF]|\\xE3\\x97[\\x80-\\xBF]|\\xE3\\x98[\\x80-\\xBF]|\\xE3\\x99[\\x80-\\xBF]|\\xE3\\x9A[\\x80-\\xBF]|\\xE3\\x9B[\\x80-\\xBF]|\\xE3\\x9C[\\x80-\\xBF]|\\xE3\\x9D[\\x80-\\xBF]|\\xE3\\x9E[\\x80-\\xBF]|\\xE3\\x9F[\\x80-\\xBF]|\\xE3\\xA0[\\x80-\\xBF]|\\xE3\\xA1[\\x80-\\xBF]|\\xE3\\xA2[\\x80-\\xBF]|\\xE3\\xA3[\\x80-\\xBF]|\\xE3\\xA4[\\x80-\\xBF]|\\xE3\\xA5[\\x80-\\xBF]|\\xE3\\xA6[\\x80-\\xBF]|\\xE3\\xA7[\\x80-\\xBF]|\\xE3\\xA8[\\x80-\\xBF]|\\xE3\\xA9[\\x80-\\xBF]|\\xE3\\xAA[\\x80-\\xBF]|\\xE3\\xAB[\\x80-\\xBF]|\\xE3\\xAC[\\x80-\\xBF]|\\xE3\\xAD[\\x80-\\xBF]|\\xE3\\xAE[\\x80-\\xBF]|\\xE3\\xAF[\\x80-\\xBF]|\\xE3\\xB0[\\x80-\\xBF]|\\xE3\\xB1[\\x80-\\xBF]|\\xE3\\xB2[\\x80-\\xBF]|\\xE3\\xB3[\\x80-\\xBF]|\\xE3\\xB4[\\x80-\\xBF]|\\xE3\\xB5[\\x80-\\xBF]|\\xE3\\xB6[\\x80-\\xBF]|\\xE3\\xB7[\\x80-\\xBF]|\\xE3\\xB8[\\x80-\\xBF]|\\xE3\\xB9[\\x80-\\xBF]|\\xE3\\xBA[\\x80-\\xBF]|\\xE3\\xBB[\\x80-\\xBF]|\\xE3\\xBC[\\x80-\\xBF]|\\xE3\\xBD[\\x80-\\xBF]|\\xE3\\xBE[\\x80-\\xBF]|\\xE3\\xBF[\\x80-\\xBF]|\\xE4\\x80[\\x80-\\xBF]|\\xE4\\x81[\\x80-\\xBF]|\\xE4\\x82[\\x80-\\xBF]|\\xE4\\x83[\\x80-\\xBF]|\\xE4\\x84[\\x80-\\xBF]|\\xE4\\x85[\\x80-\\xBF]|\\xE4\\x86[\\x80-\\xBF]|\\xE4\\x87[\\x80-\\xBF]|\\xE4\\x88[\\x80-\\xBF]|\\xE4\\x89[\\x80-\\xBF]|\\xE4\\x8A[\\x80-\\xBF]|\\xE4\\x8B[\\x80-\\xBF]|\\xE4\\x8C[\\x80-\\xBF]|\\xE4\\x8D[\\x80-\\xBF]|\\xE4\\x8E[\\x80-\\xBF]|\\xE4\\x8F[\\x80-\\xBF]|\\xE4\\x90[\\x80-\\xBF]|\\xE4\\x91[\\x80-\\xBF]|\\xE4\\x92[\\x80-\\xBF]|\\xE4\\x93[\\x80-\\xBF]|\\xE4\\x94[\\x80-\\xBF]|\\xE4\\x95[\\x80-\\xBF]|\\xE4\\x96[\\x80-\\xBF]|\\xE4\\x97[\\x80-\\xBF]|\\xE4\\x98[\\x80-\\xBF]|\\xE4\\x99[\\x80-\\xBF]|\\xE4\\x9A[\\x80-\\xBF]|\\xE4\\x9B[\\x80-\\xBF]|\\xE4\\x9C[\\x80-\\xBF]|\\xE4\\x9D[\\x80-\\xBF]|\\xE4\\x9E[\\x80-\\xBF]|\\xE4\\x9F[\\x80-\\xBF]|\\xE4\\xA0[\\x80-\\xBF]|\\xE4\\xA1[\\x80-\\xBF]|\\xE4\\xA2[\\x80-\\xBF]|\\xE4\\xA3[\\x80-\\xBF]|\\xE4\\xA4[\\x80-\\xBF]|\\xE4\\xA5[\\x80-\\xBF]|\\xE4\\xA6[\\x80-\\xBF]|\\xE4\\xA7[\\x80-\\xBF]|\\xE4\\xA8[\\x80-\\xBF]|\\xE4\\xA9[\\x80-\\xBF]|\\xE4\\xAA[\\x80-\\xBF]|\\xE4\\xAB[\\x80-\\xBF]|\\xE4\\xAC[\\x80-\\xBF]|\\xE4\\xAD[\\x80-\\xBF]|\\xE4\\xAE[\\x80-\\xBF]|\\xE4\\xAF[\\x80-\\xBF]|\\xE4\\xB0[\\x80-\\xBF]|\\xE4\\xB1[\\x80-\\xBF]|\\xE4\\xB2[\\x80-\\xBF]|\\xE4\\xB3[\\x80-\\xBF]|\\xE4\\xB4[\\x80-\\xBF]|\\xE4\\xB5[\\x80-\\xBF]|\\xE4\\xB6[\\x80-\\xBF]|\\xE4\\xB7[\\x80-\\xBF]|\\xE4\\xB8[\\x80-\\xBF]|\\xE4\\xB9[\\x80-\\xBF]|\\xE4\\xBA[\\x80-\\xBF]|\\xE4\\xBB[\\x80-\\xBF]|\\xE4\\xBC[\\x80-\\xBF]|\\xE4\\xBD[\\x80-\\xBF]|\\xE4\\xBE[\\x80-\\xBF]|\\xE4\\xBF[\\x80-\\xBF]|\\xE5\\x80[\\x80-\\xBF]|\\xE5\\x81[\\x80-\\xBF]|\\xE5\\x82[\\x80-\\xBF]|\\xE5\\x83[\\x80-\\xBF]|\\xE5\\x84[\\x80-\\xBF]|\\xE5\\x85[\\x80-\\xBF]|\\xE5\\x86[\\x80-\\xBF]|\\xE5\\x87[\\x80-\\xBF]|\\xE5\\x88[\\x80-\\xBF]|\\xE5\\x89[\\x80-\\xBF]|\\xE5\\x8A[\\x80-\\xBF]|\\xE5\\x8B[\\x80-\\xBF]|\\xE5\\x8C[\\x80-\\xBF]|\\xE5\\x8D[\\x80-\\xBF]|\\xE5\\x8E[\\x80-\\xBF]|\\xE5\\x8F[\\x80-\\xBF]|\\xE5\\x90[\\x80-\\xBF]|\\xE5\\x91[\\x80-\\xBF]|\\xE5\\x92[\\x80-\\xBF]|\\xE5\\x93[\\x80-\\xBF]|\\xE5\\x94[\\x80-\\xBF]|\\xE5\\x95[\\x80-\\xBF]|\\xE5\\x96[\\x80-\\xBF]|\\xE5\\x97[\\x80-\\xBF]|\\xE5\\x98[\\x80-\\xBF]|\\xE5\\x99[\\x80-\\xBF]|\\xE5\\x9A[\\x80-\\xBF]|\\xE5\\x9B[\\x80-\\xBF]|\\xE5\\x9C[\\x80-\\xBF]|\\xE5\\x9D[\\x80-\\xBF]|\\xE5\\x9E[\\x80-\\xBF]|\\xE5\\x9F[\\x80-\\xBF]|\\xE5\\xA0[\\x80-\\xBF]|\\xE5\\xA1[\\x80-\\xBF]|\\xE5\\xA2[\\x80-\\xBF]|\\xE5\\xA3[\\x80-\\xBF]|\\xE5\\xA4[\\x80-\\xBF]|\\xE5\\xA5[\\x80-\\xBF]|\\xE5\\xA6[\\x80-\\xBF]|\\xE5\\xA7[\\x80-\\xBF]|\\xE5\\xA8[\\x80-\\xBF]|\\xE5\\xA9[\\x80-\\xBF]|\\xE5\\xAA[\\x80-\\xBF]|\\xE5\\xAB[\\x80-\\xBF]|\\xE5\\xAC[\\x80-\\xBF]|\\xE5\\xAD[\\x80-\\xBF]|\\xE5\\xAE[\\x80-\\xBF]|\\xE5\\xAF[\\x80-\\xBF]|\\xE5\\xB0[\\x80-\\xBF]|\\xE5\\xB1[\\x80-\\xBF]|\\xE5\\xB2[\\x80-\\xBF]|\\xE5\\xB3[\\x80-\\xBF]|\\xE5\\xB4[\\x80-\\xBF]|\\xE5\\xB5[\\x80-\\xBF]|\\xE5\\xB6[\\x80-\\xBF]|\\xE5\\xB7[\\x80-\\xBF]|\\xE5\\xB8[\\x80-\\xBF]|\\xE5\\xB9[\\x80-\\xBF]|\\xE5\\xBA[\\x80-\\xBF]|\\xE5\\xBB[\\x80-\\xBF]|\\xE5\\xBC[\\x80-\\xBF]|\\xE5\\xBD[\\x80-\\xBF]|\\xE5\\xBE[\\x80-\\xBF]|\\xE5\\xBF[\\x80-\\xBF]|\\xE6\\x80[\\x80-\\xBF]|\\xE6\\x81[\\x80-\\xBF]|\\xE6\\x82[\\x80-\\xBF]|\\xE6\\x83[\\x80-\\xBF]|\\xE6\\x84[\\x80-\\xBF]|\\xE6\\x85[\\x80-\\xBF]|\\xE6\\x86[\\x80-\\xBF]|\\xE6\\x87[\\x80-\\xBF]|\\xE6\\x88[\\x80-\\xBF]|\\xE6\\x89[\\x80-\\xBF]|\\xE6\\x8A[\\x80-\\xBF]|\\xE6\\x8B[\\x80-\\xBF]|\\xE6\\x8C[\\x80-\\xBF]|\\xE6\\x8D[\\x80-\\xBF]|\\xE6\\x8E[\\x80-\\xBF]|\\xE6\\x8F[\\x80-\\xBF]|\\xE6\\x90[\\x80-\\xBF]|\\xE6\\x91[\\x80-\\xBF]|\\xE6\\x92[\\x80-\\xBF]|\\xE6\\x93[\\x80-\\xBF]|\\xE6\\x94[\\x80-\\xBF]|\\xE6\\x95[\\x80-\\xBF]|\\xE6\\x96[\\x80-\\xBF]|\\xE6\\x97[\\x80-\\xBF]|\\xE6\\x98[\\x80-\\xBF]|\\xE6\\x99[\\x80-\\xBF]|\\xE6\\x9A[\\x80-\\xBF]|\\xE6\\x9B[\\x80-\\xBF]|\\xE6\\x9C[\\x80-\\xBF]|\\xE6\\x9D[\\x80-\\xBF]|\\xE6\\x9E[\\x80-\\xBF]|\\xE6\\x9F[\\x80-\\xBF]|\\xE6\\xA0[\\x80-\\xBF]|\\xE6\\xA1[\\x80-\\xBF]|\\xE6\\xA2[\\x80-\\xBF]|\\xE6\\xA3[\\x80-\\xBF]|\\xE6\\xA4[\\x80-\\xBF]|\\xE6\\xA5[\\x80-\\xBF]|\\xE6\\xA6[\\x80-\\xBF]|\\xE6\\xA7[\\x80-\\xBF]|\\xE6\\xA8[\\x80-\\xBF]|\\xE6\\xA9[\\x80-\\xBF]|\\xE6\\xAA[\\x80-\\xBF]|\\xE6\\xAB[\\x80-\\xBF]|\\xE6\\xAC[\\x80-\\xBF]|\\xE6\\xAD[\\x80-\\xBF]|\\xE6\\xAE[\\x80-\\xBF]|\\xE6\\xAF[\\x80-\\xBF]|\\xE6\\xB0[\\x80-\\xBF]|\\xE6\\xB1[\\x80-\\xBF]|\\xE6\\xB2[\\x80-\\xBF]|\\xE6\\xB3[\\x80-\\xBF]|\\xE6\\xB4[\\x80-\\xBF]|\\xE6\\xB5[\\x80-\\xBF]|\\xE6\\xB6[\\x80-\\xBF]|\\xE6\\xB7[\\x80-\\xBF]|\\xE6\\xB8[\\x80-\\xBF]|\\xE6\\xB9[\\x80-\\xBF]|\\xE6\\xBA[\\x80-\\xBF]|\\xE6\\xBB[\\x80-\\xBF]|\\xE6\\xBC[\\x80-\\xBF]|\\xE6\\xBD[\\x80-\\xBF]|\\xE6\\xBE[\\x80-\\xBF]|\\xE6\\xBF[\\x80-\\xBF]|\\xE7\\x80[\\x80-\\xBF]|\\xE7\\x81[\\x80-\\xBF]|\\xE7\\x82[\\x80-\\xBF]|\\xE7\\x83[\\x80-\\xBF]|\\xE7\\x84[\\x80-\\xBF]|\\xE7\\x85[\\x80-\\xBF]|\\xE7\\x86[\\x80-\\xBF]|\\xE7\\x87[\\x80-\\xBF]|\\xE7\\x88[\\x80-\\xBF]|\\xE7\\x89[\\x80-\\xBF]|\\xE7\\x8A[\\x80-\\xBF]|\\xE7\\x8B[\\x80-\\xBF]|\\xE7\\x8C[\\x80-\\xBF]|\\xE7\\x8D[\\x80-\\xBF]|\\xE7\\x8E[\\x80-\\xBF]|\\xE7\\x8F[\\x80-\\xBF]|\\xE7\\x90[\\x80-\\xBF]|\\xE7\\x91[\\x80-\\xBF]|\\xE7\\x92[\\x80-\\xBF]|\\xE7\\x93[\\x80-\\xBF]|\\xE7\\x94[\\x80-\\xBF]|\\xE7\\x95[\\x80-\\xBF]|\\xE7\\x96[\\x80-\\xBF]|\\xE7\\x97[\\x80-\\xBF]|\\xE7\\x98[\\x80-\\xBF]|\\xE7\\x99[\\x80-\\xBF]|\\xE7\\x9A[\\x80-\\xBF]|\\xE7\\x9B[\\x80-\\xBF]|\\xE7\\x9C[\\x80-\\xBF]|\\xE7\\x9D[\\x80-\\xBF]|\\xE7\\x9E[\\x80-\\xBF]|\\xE7\\x9F[\\x80-\\xBF]|\\xE7\\xA0[\\x80-\\xBF]|\\xE7\\xA1[\\x80-\\xBF]|\\xE7\\xA2[\\x80-\\xBF]|\\xE7\\xA3[\\x80-\\xBF]|\\xE7\\xA4[\\x80-\\xBF]|\\xE7\\xA5[\\x80-\\xBF]|\\xE7\\xA6[\\x80-\\xBF]|\\xE7\\xA7[\\x80-\\xBF]|\\xE7\\xA8[\\x80-\\xBF]|\\xE7\\xA9[\\x80-\\xBF]|\\xE7\\xAA[\\x80-\\xBF]|\\xE7\\xAB[\\x80-\\xBF]|\\xE7\\xAC[\\x80-\\xBF]|\\xE7\\xAD[\\x80-\\xBF]|\\xE7\\xAE[\\x80-\\xBF]|\\xE7\\xAF[\\x80-\\xBF]|\\xE7\\xB0[\\x80-\\xBF]|\\xE7\\xB1[\\x80-\\xBF]|\\xE7\\xB2[\\x80-\\xBF]|\\xE7\\xB3[\\x80-\\xBF]|\\xE7\\xB4[\\x80-\\xBF]|\\xE7\\xB5[\\x80-\\xBF]|\\xE7\\xB6[\\x80-\\xBF]|\\xE7\\xB7[\\x80-\\xBF]|\\xE7\\xB8[\\x80-\\xBF]|\\xE7\\xB9[\\x80-\\xBF]|\\xE7\\xBA[\\x80-\\xBF]|\\xE7\\xBB[\\x80-\\xBF]|\\xE7\\xBC[\\x80-\\xBF]|\\xE7\\xBD[\\x80-\\xBF]|\\xE7\\xBE[\\x80-\\xBF]|\\xE7\\xBF[\\x80-\\xBF]|\\xE8\\x80[\\x80-\\xBF]|\\xE8\\x81[\\x80-\\xBF]|\\xE8\\x82[\\x80-\\xBF]|\\xE8\\x83[\\x80-\\xBF]|\\xE8\\x84[\\x80-\\xBF]|\\xE8\\x85[\\x80-\\xBF]|\\xE8\\x86[\\x80-\\xBF]|\\xE8\\x87[\\x80-\\xBF]|\\xE8\\x88[\\x80-\\xBF]|\\xE8\\x89[\\x80-\\xBF]|\\xE8\\x8A[\\x80-\\xBF]|\\xE8\\x8B[\\x80-\\xBF]|\\xE8\\x8C[\\x80-\\xBF]|\\xE8\\x8D[\\x80-\\xBF]|\\xE8\\x8E[\\x80-\\xBF]|\\xE8\\x8F[\\x80-\\xBF]|\\xE8\\x90[\\x80-\\xBF]|\\xE8\\x91[\\x80-\\xBF]|\\xE8\\x92[\\x80-\\xBF]|\\xE8\\x93[\\x80-\\xBF]|\\xE8\\x94[\\x80-\\xBF]|\\xE8\\x95[\\x80-\\xBF]|\\xE8\\x96[\\x80-\\xBF]|\\xE8\\x97[\\x80-\\xBF]|\\xE8\\x98[\\x80-\\xBF]|\\xE8\\x99[\\x80-\\xBF]|\\xE8\\x9A[\\x80-\\xBF]|\\xE8\\x9B[\\x80-\\xBF]|\\xE8\\x9C[\\x80-\\xBF]|\\xE8\\x9D[\\x80-\\xBF]|\\xE8\\x9E[\\x80-\\xBF]|\\xE8\\x9F[\\x80-\\xBF]|\\xE8\\xA0[\\x80-\\xBF]|\\xE8\\xA1[\\x80-\\xBF]|\\xE8\\xA2[\\x80-\\xBF]|\\xE8\\xA3[\\x80-\\xBF]|\\xE8\\xA4[\\x80-\\xBF]|\\xE8\\xA5[\\x80-\\xBF]|\\xE8\\xA6[\\x80-\\xBF]|\\xE8\\xA7[\\x80-\\xBF]|\\xE8\\xA8[\\x80-\\xBF]|\\xE8\\xA9[\\x80-\\xBF]|\\xE8\\xAA[\\x80-\\xBF]|\\xE8\\xAB[\\x80-\\xBF]|\\xE8\\xAC[\\x80-\\xBF]|\\xE8\\xAD[\\x80-\\xBF]|\\xE8\\xAE[\\x80-\\xBF]|\\xE8\\xAF[\\x80-\\xBF]|\\xE8\\xB0[\\x80-\\xBF]|\\xE8\\xB1[\\x80-\\xBF]|\\xE8\\xB2[\\x80-\\xBF]|\\xE8\\xB3[\\x80-\\xBF]|\\xE8\\xB4[\\x80-\\xBF]|\\xE8\\xB5[\\x80-\\xBF]|\\xE8\\xB6[\\x80-\\xBF]|\\xE8\\xB7[\\x80-\\xBF]|\\xE8\\xB8[\\x80-\\xBF]|\\xE8\\xB9[\\x80-\\xBF]|\\xE8\\xBA[\\x80-\\xBF]|\\xE8\\xBB[\\x80-\\xBF]|\\xE8\\xBC[\\x80-\\xBF]|\\xE8\\xBD[\\x80-\\xBF]|\\xE8\\xBE[\\x80-\\xBF]|\\xE8\\xBF[\\x80-\\xBF]|\\xE9\\x80[\\x80-\\xBF]|\\xE9\\x81[\\x80-\\xBF]|\\xE9\\x82[\\x80-\\xBF]|\\xE9\\x83[\\x80-\\xBF]|\\xE9\\x84[\\x80-\\xBF]|\\xE9\\x85[\\x80-\\xBF]|\\xE9\\x86[\\x80-\\xBF]|\\xE9\\x87[\\x80-\\xBF]|\\xE9\\x88[\\x80-\\xBF]|\\xE9\\x89[\\x80-\\xBF]|\\xE9\\x8A[\\x80-\\xBF]|\\xE9\\x8B[\\x80-\\xBF]|\\xE9\\x8C[\\x80-\\xBF]|\\xE9\\x8D[\\x80-\\xBF]|\\xE9\\x8E[\\x80-\\xBF]|\\xE9\\x8F[\\x80-\\xBF]|\\xE9\\x90[\\x80-\\xBF]|\\xE9\\x91[\\x80-\\xBF]|\\xE9\\x92[\\x80-\\xBF]|\\xE9\\x93[\\x80-\\xBF]|\\xE9\\x94[\\x80-\\xBF]|\\xE9\\x95[\\x80-\\xBF]|\\xE9\\x96[\\x80-\\xBF]|\\xE9\\x97[\\x80-\\xBF]|\\xE9\\x98[\\x80-\\xBF]|\\xE9\\x99[\\x80-\\xBF]|\\xE9\\x9A[\\x80-\\xBF]|\\xE9\\x9B[\\x80-\\xBF]|\\xE9\\x9C[\\x80-\\xBF]|\\xE9\\x9D[\\x80-\\xBF]|\\xE9\\x9E[\\x80-\\xBF]|\\xE9\\x9F[\\x80-\\xBF]|\\xE9\\xA0[\\x80-\\xBF]|\\xE9\\xA1[\\x80-\\xBF]|\\xE9\\xA2[\\x80-\\xBF]|\\xE9\\xA3[\\x80-\\xBF]|\\xE9\\xA4[\\x80-\\xBF]|\\xE9\\xA5[\\x80-\\xBF]|\\xE9\\xA6[\\x80-\\xBF]|\\xE9\\xA7[\\x80-\\xBF]|\\xE9\\xA8[\\x80-\\xBF]|\\xE9\\xA9[\\x80-\\xBF]|\\xE9\\xAA[\\x80-\\xBF]|\\xE9\\xAB[\\x80-\\xBF]|\\xE9\\xAC[\\x80-\\xBF]|\\xE9\\xAD[\\x80-\\xBF]|\\xE9\\xAE[\\x80-\\xBF]|\\xE9\\xAF[\\x80-\\xBF]|\\xE9\\xB0[\\x80-\\xBF]|\\xE9\\xB1[\\x80-\\xBF]|\\xE9\\xB2[\\x80-\\xBF]|\\xE9\\xB3[\\x80-\\xBF]|\\xE9\\xB4[\\x80-\\xBF]|\\xE9\\xB5[\\x80-\\xBF]|\\xE9\\xB6[\\x80-\\xBF]|\\xE9\\xB7[\\x80-\\xBF]|\\xE9\\xB8[\\x80-\\xBF]|\\xE9\\xB9[\\x80-\\xBF]|\\xE9\\xBA[\\x80-\\xBF]|\\xE9\\xBB[\\x80-\\xBF]|\\xE9\\xBC[\\x80-\\xBF]|\\xE9\\xBD[\\x80-\\xBF]|\\xE9\\xBE[\\x80-\\xBF]|\\xE9\\xBF[\\x80-\\xBF]|\\xEA\\x80[\\x80-\\xBF]|\\xEA\\x81[\\x80-\\xBF]|\\xEA\\x82[\\x80-\\xBF]|\\xEA\\x83[\\x80-\\xBF]|\\xEA\\x84[\\x80-\\xBF]|\\xEA\\x85[\\x80-\\xBF]|\\xEA\\x86[\\x80-\\xBF]|\\xEA\\x87[\\x80-\\xBF]|\\xEA\\x88[\\x80-\\xBF]|\\xEA\\x89[\\x80-\\xBF]|\\xEA\\x8A[\\x80-\\xBF]|\\xEA\\x8B[\\x80-\\xBF]|\\xEA\\x8C[\\x80-\\xBF]|\\xEA\\x8D[\\x80-\\xBF]|\\xEA\\x8E[\\x80-\\xBF]|\\xEA\\x8F[\\x80-\\xBF]|\\xEA\\x90[\\x80-\\xBF]|\\xEA\\x91[\\x80-\\xBF]|\\xEA\\x92[\\x80-\\xBF]|\\xEA\\x93[\\x80-\\xBF]|\\xEA\\x94[\\x80-\\xBF]|\\xEA\\x95[\\x80-\\xBF]|\\xEA\\x96[\\x80-\\xBF]|\\xEA\\x97[\\x80-\\xBF]|\\xEA\\x98[\\x80-\\xBF]|\\xEA\\x99[\\x80-\\xBF]|\\xEA\\x9A[\\x80-\\xBF]|\\xEA\\x9B[\\x80-\\xBF]|\\xEA\\x9C[\\x80-\\xBF]|\\xEA\\x9D[\\x80-\\xBF]|\\xEA\\x9E[\\x80-\\xBF]|\\xEA\\x9F[\\x80-\\xBF]|\\xEA\\xA0[\\x80-\\xBF]|\\xEA\\xA1[\\x80-\\xBF]|\\xEA\\xA2[\\x80-\\xBF]|\\xEA\\xA3[\\x80-\\xBF]|\\xEA\\xA4[\\x80-\\xBF]|\\xEA\\xA5[\\x80-\\xBF]|\\xEA\\xA6[\\x80-\\xBF]|\\xEA\\xA7[\\x80-\\xBF]|\\xEA\\xA8[\\x80-\\xBF]|\\xEA\\xA9[\\x80-\\xBF]|\\xEA\\xAA[\\x80-\\xBF]|\\xEA\\xAB[\\x80-\\xBF]|\\xEA\\xAC[\\x80-\\xBF]|\\xEA\\xAD[\\x80-\\xBF]|\\xEA\\xAE[\\x80-\\xBF]|\\xEA\\xAF[\\x80-\\xBF]|\\xEA\\xB0[\\x80-\\xBF]|\\xEA\\xB1[\\x80-\\xBF]|\\xEA\\xB2[\\x80-\\xBF]|\\xEA\\xB3[\\x80-\\xBF]|\\xEA\\xB4[\\x80-\\xBF]|\\xEA\\xB5[\\x80-\\xBF]|\\xEA\\xB6[\\x80-\\xBF]|\\xEA\\xB7[\\x80-\\xBF]|\\xEA\\xB8[\\x80-\\xBF]|\\xEA\\xB9[\\x80-\\xBF]|\\xEA\\xBA[\\x80-\\xBF]|\\xEA\\xBB[\\x80-\\xBF]|\\xEA\\xBC[\\x80-\\xBF]|\\xEA\\xBD[\\x80-\\xBF]|\\xEA\\xBE[\\x80-\\xBF]|\\xEA\\xBF[\\x80-\\xBF]|\\xEB\\x80[\\x80-\\xBF]|\\xEB\\x81[\\x80-\\xBF]|\\xEB\\x82[\\x80-\\xBF]|\\xEB\\x83[\\x80-\\xBF]|\\xEB\\x84[\\x80-\\xBF]|\\xEB\\x85[\\x80-\\xBF]|\\xEB\\x86[\\x80-\\xBF]|\\xEB\\x87[\\x80-\\xBF]|\\xEB\\x88[\\x80-\\xBF]|\\xEB\\x89[\\x80-\\xBF]|\\xEB\\x8A[\\x80-\\xBF]|\\xEB\\x8B[\\x80-\\xBF]|\\xEB\\x8C[\\x80-\\xBF]|\\xEB\\x8D[\\x80-\\xBF]|\\xEB\\x8E[\\x80-\\xBF]|\\xEB\\x8F[\\x80-\\xBF]|\\xEB\\x90[\\x80-\\xBF]|\\xEB\\x91[\\x80-\\xBF]|\\xEB\\x92[\\x80-\\xBF]|\\xEB\\x93[\\x80-\\xBF]|\\xEB\\x94[\\x80-\\xBF]|\\xEB\\x95[\\x80-\\xBF]|\\xEB\\x96[\\x80-\\xBF]|\\xEB\\x97[\\x80-\\xBF]|\\xEB\\x98[\\x80-\\xBF]|\\xEB\\x99[\\x80-\\xBF]|\\xEB\\x9A[\\x80-\\xBF]|\\xEB\\x9B[\\x80-\\xBF]|\\xEB\\x9C[\\x80-\\xBF]|\\xEB\\x9D[\\x80-\\xBF]|\\xEB\\x9E[\\x80-\\xBF]|\\xEB\\x9F[\\x80-\\xBF]|\\xEB\\xA0[\\x80-\\xBF]|\\xEB\\xA1[\\x80-\\xBF]|\\xEB\\xA2[\\x80-\\xBF]|\\xEB\\xA3[\\x80-\\xBF]|\\xEB\\xA4[\\x80-\\xBF]|\\xEB\\xA5[\\x80-\\xBF]|\\xEB\\xA6[\\x80-\\xBF]|\\xEB\\xA7[\\x80-\\xBF]|\\xEB\\xA8[\\x80-\\xBF]|\\xEB\\xA9[\\x80-\\xBF]|\\xEB\\xAA[\\x80-\\xBF]|\\xEB\\xAB[\\x80-\\xBF]|\\xEB\\xAC[\\x80-\\xBF]|\\xEB\\xAD[\\x80-\\xBF]|\\xEB\\xAE[\\x80-\\xBF]|\\xEB\\xAF[\\x80-\\xBF]|\\xEB\\xB0[\\x80-\\xBF]|\\xEB\\xB1[\\x80-\\xBF]|\\xEB\\xB2[\\x80-\\xBF]|\\xEB\\xB3[\\x80-\\xBF]|\\xEB\\xB4[\\x80-\\xBF]|\\xEB\\xB5[\\x80-\\xBF]|\\xEB\\xB6[\\x80-\\xBF]|\\xEB\\xB7[\\x80-\\xBF]|\\xEB\\xB8[\\x80-\\xBF]|\\xEB\\xB9[\\x80-\\xBF]|\\xEB\\xBA[\\x80-\\xBF]|\\xEB\\xBB[\\x80-\\xBF]|\\xEB\\xBC[\\x80-\\xBF]|\\xEB\\xBD[\\x80-\\xBF]|\\xEB\\xBE[\\x80-\\xBF]|\\xEB\\xBF[\\x80-\\xBF]|\\xEC\\x80[\\x80-\\xBF]|\\xEC\\x81[\\x80-\\xBF]|\\xEC\\x82[\\x80-\\xBF]|\\xEC\\x83[\\x80-\\xBF]|\\xEC\\x84[\\x80-\\xBF]|\\xEC\\x85[\\x80-\\xBF]|\\xEC\\x86[\\x80-\\xBF]|\\xEC\\x87[\\x80-\\xBF]|\\xEC\\x88[\\x80-\\xBF]|\\xEC\\x89[\\x80-\\xBF]|\\xEC\\x8A[\\x80-\\xBF]|\\xEC\\x8B[\\x80-\\xBF]|\\xEC\\x8C[\\x80-\\xBF]|\\xEC\\x8D[\\x80-\\xBF]|\\xEC\\x8E[\\x80-\\xBF]|\\xEC\\x8F[\\x80-\\xBF]|\\xEC\\x90[\\x80-\\xBF]|\\xEC\\x91[\\x80-\\xBF]|\\xEC\\x92[\\x80-\\xBF]|\\xEC\\x93[\\x80-\\xBF]|\\xEC\\x94[\\x80-\\xBF]|\\xEC\\x95[\\x80-\\xBF]|\\xEC\\x96[\\x80-\\xBF]|\\xEC\\x97[\\x80-\\xBF]|\\xEC\\x98[\\x80-\\xBF]|\\xEC\\x99[\\x80-\\xBF]|\\xEC\\x9A[\\x80-\\xBF]|\\xEC\\x9B[\\x80-\\xBF]|\\xEC\\x9C[\\x80-\\xBF]|\\xEC\\x9D[\\x80-\\xBF]|\\xEC\\x9E[\\x80-\\xBF]|\\xEC\\x9F[\\x80-\\xBF]|\\xEC\\xA0[\\x80-\\xBF]|\\xEC\\xA1[\\x80-\\xBF]|\\xEC\\xA2[\\x80-\\xBF]|\\xEC\\xA3[\\x80-\\xBF]|\\xEC\\xA4[\\x80-\\xBF]|\\xEC\\xA5[\\x80-\\xBF]|\\xEC\\xA6[\\x80-\\xBF]|\\xEC\\xA7[\\x80-\\xBF]|\\xEC\\xA8[\\x80-\\xBF]|\\xEC\\xA9[\\x80-\\xBF]|\\xEC\\xAA[\\x80-\\xBF]|\\xEC\\xAB[\\x80-\\xBF]|\\xEC\\xAC[\\x80-\\xBF]|\\xEC\\xAD[\\x80-\\xBF]|\\xEC\\xAE[\\x80-\\xBF]|\\xEC\\xAF[\\x80-\\xBF]|\\xEC\\xB0[\\x80-\\xBF]|\\xEC\\xB1[\\x80-\\xBF]|\\xEC\\xB2[\\x80-\\xBF]|\\xEC\\xB3[\\x80-\\xBF]|\\xEC\\xB4[\\x80-\\xBF]|\\xEC\\xB5[\\x80-\\xBF]|\\xEC\\xB6[\\x80-\\xBF]|\\xEC\\xB7[\\x80-\\xBF]|\\xEC\\xB8[\\x80-\\xBF]|\\xEC\\xB9[\\x80-\\xBF]|\\xEC\\xBA[\\x80-\\xBF]|\\xEC\\xBB[\\x80-\\xBF]|\\xEC\\xBC[\\x80-\\xBF]|\\xEC\\xBD[\\x80-\\xBF]|\\xEC\\xBE[\\x80-\\xBF]|\\xEC\\xBF[\\x80-\\xBF]|\\xED\\x80[\\x80-\\xBF]|\\xED\\x81[\\x80-\\xBF]|\\xED\\x82[\\x80-\\xBF]|\\xED\\x83[\\x80-\\xBF]|\\xED\\x84[\\x80-\\xBF]|\\xED\\x85[\\x80-\\xBF]|\\xED\\x86[\\x80-\\xBF]|\\xED\\x87[\\x80-\\xBF]|\\xED\\x88[\\x80-\\xBF]|\\xED\\x89[\\x80-\\xBF]|\\xED\\x8A[\\x80-\\xBF]|\\xED\\x8B[\\x80-\\xBF]|\\xED\\x8C[\\x80-\\xBF]|\\xED\\x8D[\\x80-\\xBF]|\\xED\\x8E[\\x80-\\xBF]|\\xED\\x8F[\\x80-\\xBF]|\\xED\\x90[\\x80-\\xBF]|\\xED\\x91[\\x80-\\xBF]|\\xED\\x92[\\x80-\\xBF]|\\xED\\x93[\\x80-\\xBF]|\\xED\\x94[\\x80-\\xBF]|\\xED\\x95[\\x80-\\xBF]|\\xED\\x96[\\x80-\\xBF]|\\xED\\x97[\\x80-\\xBF]|\\xED\\x98[\\x80-\\xBF]|\\xED\\x99[\\x80-\\xBF]|\\xED\\x9A[\\x80-\\xBF]|\\xED\\x9B[\\x80-\\xBF]|\\xED\\x9C[\\x80-\\xBF]|\\xED\\x9D[\\x80-\\xBF]|\\xED\\x9E[\\x80-\\xBF]|\\xED\\x9F[\\x80-\\xBF]|\\xEF\\xA4[\\x80-\\xBF]|\\xEF\\xA5[\\x80-\\xBF]|\\xEF\\xA6[\\x80-\\xBF]|\\xEF\\xA7[\\x80-\\xBF]|\\xEF\\xA8[\\x80-\\xBF]|\\xEF\\xA9[\\x80-\\xBF]|\\xEF\\xAA[\\x80-\\xBF]|\\xEF\\xAB[\\x80-\\xBF]|\\xEF\\xAC[\\x80-\\xBF]|\\xEF\\xAD[\\x80-\\xBF]|\\xEF\\xAE[\\x80-\\xBF]|\\xEF\\xAF[\\x80-\\xBF]|\\xEF\\xB0[\\x80-\\xBF]|\\xEF\\xB1[\\x80-\\xBF]|\\xEF\\xB2[\\x80-\\xBF]|\\xEF\\xB3[\\x80-\\xBF]|\\xEF\\xB4[\\x80-\\xBF]|\\xEF\\xB5[\\x80-\\xBF]|\\xEF\\xB6[\\x80-\\xBF]|\\xEF\\xB7[\\x80-\\x8F]|\\xEF\\xB7[\\xB0-\\xBF]|\\xEF\\xB8[\\x80-\\xBF]|\\xEF\\xB9[\\x80-\\xBF]|\\xEF\\xBA[\\x80-\\xBF]|\\xEF\\xBB[\\x80-\\xBF]|\\xEF\\xBC[\\x80-\\xBF]|\\xEF\\xBD[\\x80-\\xBF]|\\xEF\\xBE[\\x80-\\xBF]|\\xEF\\xBF[\\x80-\\xBD])(\\x3A|[\\x41-\\x5A]|\\x5F|[\\x61-\\x7A]|\\xC3[\\x80-\\x96]|\\xC3[\\x98-\\xB6]|\\xC3[\\xB8-\\xBF]|\\xC4[\\x80-\\xBF]|\\xC5[\\x80-\\xBF]|\\xC6[\\x80-\\xBF]|\\xC7[\\x80-\\xBF]|\\xC8[\\x80-\\xBF]|\\xC9[\\x80-\\xBF]|\\xCA[\\x80-\\xBF]|\\xCB[\\x80-\\xBF]|\\xCD[\\xB0-\\xBD]|\\xCD\\xBF|\\xCE[\\x80-\\xBF]|\\xCF[\\x80-\\xBF]|\\xD0[\\x80-\\xBF]|\\xD1[\\x80-\\xBF]|\\xD2[\\x80-\\xBF]|\\xD3[\\x80-\\xBF]|\\xD4[\\x80-\\xBF]|\\xD5[\\x80-\\xBF]|\\xD6[\\x80-\\xBF]|\\xD7[\\x80-\\xBF]|\\xD8[\\x80-\\xBF]|\\xD9[\\x80-\\xBF]|\\xDA[\\x80-\\xBF]|\\xDB[\\x80-\\xBF]|\\xDC[\\x80-\\xBF]|\\xDD[\\x80-\\xBF]|\\xDE[\\x80-\\xBF]|\\xDF[\\x80-\\xBF]|\\xE0\\xA0[\\x80-\\xBF]|\\xE0\\xA1[\\x80-\\xBF]|\\xE0\\xA2[\\x80-\\xBF]|\\xE0\\xA3[\\x80-\\xBF]|\\xE0\\xA4[\\x80-\\xBF]|\\xE0\\xA5[\\x80-\\xBF]|\\xE0\\xA6[\\x80-\\xBF]|\\xE0\\xA7[\\x80-\\xBF]|\\xE0\\xA8[\\x80-\\xBF]|\\xE0\\xA9[\\x80-\\xBF]|\\xE0\\xAA[\\x80-\\xBF]|\\xE0\\xAB[\\x80-\\xBF]|\\xE0\\xAC[\\x80-\\xBF]|\\xE0\\xAD[\\x80-\\xBF]|\\xE0\\xAE[\\x80-\\xBF]|\\xE0\\xAF[\\x80-\\xBF]|\\xE0\\xB0[\\x80-\\xBF]|\\xE0\\xB1[\\x80-\\xBF]|\\xE0\\xB2[\\x80-\\xBF]|\\xE0\\xB3[\\x80-\\xBF]|\\xE0\\xB4[\\x80-\\xBF]|\\xE0\\xB5[\\x80-\\xBF]|\\xE0\\xB6[\\x80-\\xBF]|\\xE0\\xB7[\\x80-\\xBF]|\\xE0\\xB8[\\x80-\\xBF]|\\xE0\\xB9[\\x80-\\xBF]|\\xE0\\xBA[\\x80-\\xBF]|\\xE0\\xBB[\\x80-\\xBF]|\\xE0\\xBC[\\x80-\\xBF]|\\xE0\\xBD[\\x80-\\xBF]|\\xE0\\xBE[\\x80-\\xBF]|\\xE0\\xBF[\\x80-\\xBF]|\\xE1\\x80[\\x80-\\xBF]|\\xE1\\x81[\\x80-\\xBF]|\\xE1\\x82[\\x80-\\xBF]|\\xE1\\x83[\\x80-\\xBF]|\\xE1\\x84[\\x80-\\xBF]|\\xE1\\x85[\\x80-\\xBF]|\\xE1\\x86[\\x80-\\xBF]|\\xE1\\x87[\\x80-\\xBF]|\\xE1\\x88[\\x80-\\xBF]|\\xE1\\x89[\\x80-\\xBF]|\\xE1\\x8A[\\x80-\\xBF]|\\xE1\\x8B[\\x80-\\xBF]|\\xE1\\x8C[\\x80-\\xBF]|\\xE1\\x8D[\\x80-\\xBF]|\\xE1\\x8E[\\x80-\\xBF]|\\xE1\\x8F[\\x80-\\xBF]|\\xE1\\x90[\\x80-\\xBF]|\\xE1\\x91[\\x80-\\xBF]|\\xE1\\x92[\\x80-\\xBF]|\\xE1\\x93[\\x80-\\xBF]|\\xE1\\x94[\\x80-\\xBF]|\\xE1\\x95[\\x80-\\xBF]|\\xE1\\x96[\\x80-\\xBF]|\\xE1\\x97[\\x80-\\xBF]|\\xE1\\x98[\\x80-\\xBF]|\\xE1\\x99[\\x80-\\xBF]|\\xE1\\x9A[\\x80-\\xBF]|\\xE1\\x9B[\\x80-\\xBF]|\\xE1\\x9C[\\x80-\\xBF]|\\xE1\\x9D[\\x80-\\xBF]|\\xE1\\x9E[\\x80-\\xBF]|\\xE1\\x9F[\\x80-\\xBF]|\\xE1\\xA0[\\x80-\\xBF]|\\xE1\\xA1[\\x80-\\xBF]|\\xE1\\xA2[\\x80-\\xBF]|\\xE1\\xA3[\\x80-\\xBF]|\\xE1\\xA4[\\x80-\\xBF]|\\xE1\\xA5[\\x80-\\xBF]|\\xE1\\xA6[\\x80-\\xBF]|\\xE1\\xA7[\\x80-\\xBF]|\\xE1\\xA8[\\x80-\\xBF]|\\xE1\\xA9[\\x80-\\xBF]|\\xE1\\xAA[\\x80-\\xBF]|\\xE1\\xAB[\\x80-\\xBF]|\\xE1\\xAC[\\x80-\\xBF]|\\xE1\\xAD[\\x80-\\xBF]|\\xE1\\xAE[\\x80-\\xBF]|\\xE1\\xAF[\\x80-\\xBF]|\\xE1\\xB0[\\x80-\\xBF]|\\xE1\\xB1[\\x80-\\xBF]|\\xE1\\xB2[\\x80-\\xBF]|\\xE1\\xB3[\\x80-\\xBF]|\\xE1\\xB4[\\x80-\\xBF]|\\xE1\\xB5[\\x80-\\xBF]|\\xE1\\xB6[\\x80-\\xBF]|\\xE1\\xB7[\\x80-\\xBF]|\\xE1\\xB8[\\x80-\\xBF]|\\xE1\\xB9[\\x80-\\xBF]|\\xE1\\xBA[\\x80-\\xBF]|\\xE1\\xBB[\\x80-\\xBF]|\\xE1\\xBC[\\x80-\\xBF]|\\xE1\\xBD[\\x80-\\xBF]|\\xE1\\xBE[\\x80-\\xBF]|\\xE1\\xBF[\\x80-\\xBF]|\\xE2\\x80[\\x8C-\\x8D]|\\xE2\\x81[\\xB0-\\xBF]|\\xE2\\x82[\\x80-\\xBF]|\\xE2\\x83[\\x80-\\xBF]|\\xE2\\x84[\\x80-\\xBF]|\\xE2\\x85[\\x80-\\xBF]|\\xE2\\x86[\\x80-\\x8F]|\\xE2\\xB0[\\x80-\\xBF]|\\xE2\\xB1[\\x80-\\xBF]|\\xE2\\xB2[\\x80-\\xBF]|\\xE2\\xB3[\\x80-\\xBF]|\\xE2\\xB4[\\x80-\\xBF]|\\xE2\\xB5[\\x80-\\xBF]|\\xE2\\xB6[\\x80-\\xBF]|\\xE2\\xB7[\\x80-\\xBF]|\\xE2\\xB8[\\x80-\\xBF]|\\xE2\\xB9[\\x80-\\xBF]|\\xE2\\xBA[\\x80-\\xBF]|\\xE2\\xBB[\\x80-\\xBF]|\\xE2\\xBC[\\x80-\\xBF]|\\xE2\\xBD[\\x80-\\xBF]|\\xE2\\xBE[\\x80-\\xBF]|\\xE2\\xBF[\\x80-\\xAF]|\\xE3\\x80[\\x81-\\xBF]|\\xE3\\x81[\\x80-\\xBF]|\\xE3\\x82[\\x80-\\xBF]|\\xE3\\x83[\\x80-\\xBF]|\\xE3\\x84[\\x80-\\xBF]|\\xE3\\x85[\\x80-\\xBF]|\\xE3\\x86[\\x80-\\xBF]|\\xE3\\x87[\\x80-\\xBF]|\\xE3\\x88[\\x80-\\xBF]|\\xE3\\x89[\\x80-\\xBF]|\\xE3\\x8A[\\x80-\\xBF]|\\xE3\\x8B[\\x80-\\xBF]|\\xE3\\x8C[\\x80-\\xBF]|\\xE3\\x8D[\\x80-\\xBF]|\\xE3\\x8E[\\x80-\\xBF]|\\xE3\\x8F[\\x80-\\xBF]|\\xE3\\x90[\\x80-\\xBF]|\\xE3\\x91[\\x80-\\xBF]|\\xE3\\x92[\\x80-\\xBF]|\\xE3\\x93[\\x80-\\xBF]|\\xE3\\x94[\\x80-\\xBF]|\\xE3\\x95[\\x80-\\xBF]|\\xE3\\x96[\\x80-\\xBF]|\\xE3\\x97[\\x80-\\xBF]|\\xE3\\x98[\\x80-\\xBF]|\\xE3\\x99[\\x80-\\xBF]|\\xE3\\x9A[\\x80-\\xBF]|\\xE3\\x9B[\\x80-\\xBF]|\\xE3\\x9C[\\x80-\\xBF]|\\xE3\\x9D[\\x80-\\xBF]|\\xE3\\x9E[\\x80-\\xBF]|\\xE3\\x9F[\\x80-\\xBF]|\\xE3\\xA0[\\x80-\\xBF]|\\xE3\\xA1[\\x80-\\xBF]|\\xE3\\xA2[\\x80-\\xBF]|\\xE3\\xA3[\\x80-\\xBF]|\\xE3\\xA4[\\x80-\\xBF]|\\xE3\\xA5[\\x80-\\xBF]|\\xE3\\xA6[\\x80-\\xBF]|\\xE3\\xA7[\\x80-\\xBF]|\\xE3\\xA8[\\x80-\\xBF]|\\xE3\\xA9[\\x80-\\xBF]|\\xE3\\xAA[\\x80-\\xBF]|\\xE3\\xAB[\\x80-\\xBF]|\\xE3\\xAC[\\x80-\\xBF]|\\xE3\\xAD[\\x80-\\xBF]|\\xE3\\xAE[\\x80-\\xBF]|\\xE3\\xAF[\\x80-\\xBF]|\\xE3\\xB0[\\x80-\\xBF]|\\xE3\\xB1[\\x80-\\xBF]|\\xE3\\xB2[\\x80-\\xBF]|\\xE3\\xB3[\\x80-\\xBF]|\\xE3\\xB4[\\x80-\\xBF]|\\xE3\\xB5[\\x80-\\xBF]|\\xE3\\xB6[\\x80-\\xBF]|\\xE3\\xB7[\\x80-\\xBF]|\\xE3\\xB8[\\x80-\\xBF]|\\xE3\\xB9[\\x80-\\xBF]|\\xE3\\xBA[\\x80-\\xBF]|\\xE3\\xBB[\\x80-\\xBF]|\\xE3\\xBC[\\x80-\\xBF]|\\xE3\\xBD[\\x80-\\xBF]|\\xE3\\xBE[\\x80-\\xBF]|\\xE3\\xBF[\\x80-\\xBF]|\\xE4\\x80[\\x80-\\xBF]|\\xE4\\x81[\\x80-\\xBF]|\\xE4\\x82[\\x80-\\xBF]|\\xE4\\x83[\\x80-\\xBF]|\\xE4\\x84[\\x80-\\xBF]|\\xE4\\x85[\\x80-\\xBF]|\\xE4\\x86[\\x80-\\xBF]|\\xE4\\x87[\\x80-\\xBF]|\\xE4\\x88[\\x80-\\xBF]|\\xE4\\x89[\\x80-\\xBF]|\\xE4\\x8A[\\x80-\\xBF]|\\xE4\\x8B[\\x80-\\xBF]|\\xE4\\x8C[\\x80-\\xBF]|\\xE4\\x8D[\\x80-\\xBF]|\\xE4\\x8E[\\x80-\\xBF]|\\xE4\\x8F[\\x80-\\xBF]|\\xE4\\x90[\\x80-\\xBF]|\\xE4\\x91[\\x80-\\xBF]|\\xE4\\x92[\\x80-\\xBF]|\\xE4\\x93[\\x80-\\xBF]|\\xE4\\x94[\\x80-\\xBF]|\\xE4\\x95[\\x80-\\xBF]|\\xE4\\x96[\\x80-\\xBF]|\\xE4\\x97[\\x80-\\xBF]|\\xE4\\x98[\\x80-\\xBF]|\\xE4\\x99[\\x80-\\xBF]|\\xE4\\x9A[\\x80-\\xBF]|\\xE4\\x9B[\\x80-\\xBF]|\\xE4\\x9C[\\x80-\\xBF]|\\xE4\\x9D[\\x80-\\xBF]|\\xE4\\x9E[\\x80-\\xBF]|\\xE4\\x9F[\\x80-\\xBF]|\\xE4\\xA0[\\x80-\\xBF]|\\xE4\\xA1[\\x80-\\xBF]|\\xE4\\xA2[\\x80-\\xBF]|\\xE4\\xA3[\\x80-\\xBF]|\\xE4\\xA4[\\x80-\\xBF]|\\xE4\\xA5[\\x80-\\xBF]|\\xE4\\xA6[\\x80-\\xBF]|\\xE4\\xA7[\\x80-\\xBF]|\\xE4\\xA8[\\x80-\\xBF]|\\xE4\\xA9[\\x80-\\xBF]|\\xE4\\xAA[\\x80-\\xBF]|\\xE4\\xAB[\\x80-\\xBF]|\\xE4\\xAC[\\x80-\\xBF]|\\xE4\\xAD[\\x80-\\xBF]|\\xE4\\xAE[\\x80-\\xBF]|\\xE4\\xAF[\\x80-\\xBF]|\\xE4\\xB0[\\x80-\\xBF]|\\xE4\\xB1[\\x80-\\xBF]|\\xE4\\xB2[\\x80-\\xBF]|\\xE4\\xB3[\\x80-\\xBF]|\\xE4\\xB4[\\x80-\\xBF]|\\xE4\\xB5[\\x80-\\xBF]|\\xE4\\xB6[\\x80-\\xBF]|\\xE4\\xB7[\\x80-\\xBF]|\\xE4\\xB8[\\x80-\\xBF]|\\xE4\\xB9[\\x80-\\xBF]|\\xE4\\xBA[\\x80-\\xBF]|\\xE4\\xBB[\\x80-\\xBF]|\\xE4\\xBC[\\x80-\\xBF]|\\xE4\\xBD[\\x80-\\xBF]|\\xE4\\xBE[\\x80-\\xBF]|\\xE4\\xBF[\\x80-\\xBF]|\\xE5\\x80[\\x80-\\xBF]|\\xE5\\x81[\\x80-\\xBF]|\\xE5\\x82[\\x80-\\xBF]|\\xE5\\x83[\\x80-\\xBF]|\\xE5\\x84[\\x80-\\xBF]|\\xE5\\x85[\\x80-\\xBF]|\\xE5\\x86[\\x80-\\xBF]|\\xE5\\x87[\\x80-\\xBF]|\\xE5\\x88[\\x80-\\xBF]|\\xE5\\x89[\\x80-\\xBF]|\\xE5\\x8A[\\x80-\\xBF]|\\xE5\\x8B[\\x80-\\xBF]|\\xE5\\x8C[\\x80-\\xBF]|\\xE5\\x8D[\\x80-\\xBF]|\\xE5\\x8E[\\x80-\\xBF]|\\xE5\\x8F[\\x80-\\xBF]|\\xE5\\x90[\\x80-\\xBF]|\\xE5\\x91[\\x80-\\xBF]|\\xE5\\x92[\\x80-\\xBF]|\\xE5\\x93[\\x80-\\xBF]|\\xE5\\x94[\\x80-\\xBF]|\\xE5\\x95[\\x80-\\xBF]|\\xE5\\x96[\\x80-\\xBF]|\\xE5\\x97[\\x80-\\xBF]|\\xE5\\x98[\\x80-\\xBF]|\\xE5\\x99[\\x80-\\xBF]|\\xE5\\x9A[\\x80-\\xBF]|\\xE5\\x9B[\\x80-\\xBF]|\\xE5\\x9C[\\x80-\\xBF]|\\xE5\\x9D[\\x80-\\xBF]|\\xE5\\x9E[\\x80-\\xBF]|\\xE5\\x9F[\\x80-\\xBF]|\\xE5\\xA0[\\x80-\\xBF]|\\xE5\\xA1[\\x80-\\xBF]|\\xE5\\xA2[\\x80-\\xBF]|\\xE5\\xA3[\\x80-\\xBF]|\\xE5\\xA4[\\x80-\\xBF]|\\xE5\\xA5[\\x80-\\xBF]|\\xE5\\xA6[\\x80-\\xBF]|\\xE5\\xA7[\\x80-\\xBF]|\\xE5\\xA8[\\x80-\\xBF]|\\xE5\\xA9[\\x80-\\xBF]|\\xE5\\xAA[\\x80-\\xBF]|\\xE5\\xAB[\\x80-\\xBF]|\\xE5\\xAC[\\x80-\\xBF]|\\xE5\\xAD[\\x80-\\xBF]|\\xE5\\xAE[\\x80-\\xBF]|\\xE5\\xAF[\\x80-\\xBF]|\\xE5\\xB0[\\x80-\\xBF]|\\xE5\\xB1[\\x80-\\xBF]|\\xE5\\xB2[\\x80-\\xBF]|\\xE5\\xB3[\\x80-\\xBF]|\\xE5\\xB4[\\x80-\\xBF]|\\xE5\\xB5[\\x80-\\xBF]|\\xE5\\xB6[\\x80-\\xBF]|\\xE5\\xB7[\\x80-\\xBF]|\\xE5\\xB8[\\x80-\\xBF]|\\xE5\\xB9[\\x80-\\xBF]|\\xE5\\xBA[\\x80-\\xBF]|\\xE5\\xBB[\\x80-\\xBF]|\\xE5\\xBC[\\x80-\\xBF]|\\xE5\\xBD[\\x80-\\xBF]|\\xE5\\xBE[\\x80-\\xBF]|\\xE5\\xBF[\\x80-\\xBF]|\\xE6\\x80[\\x80-\\xBF]|\\xE6\\x81[\\x80-\\xBF]|\\xE6\\x82[\\x80-\\xBF]|\\xE6\\x83[\\x80-\\xBF]|\\xE6\\x84[\\x80-\\xBF]|\\xE6\\x85[\\x80-\\xBF]|\\xE6\\x86[\\x80-\\xBF]|\\xE6\\x87[\\x80-\\xBF]|\\xE6\\x88[\\x80-\\xBF]|\\xE6\\x89[\\x80-\\xBF]|\\xE6\\x8A[\\x80-\\xBF]|\\xE6\\x8B[\\x80-\\xBF]|\\xE6\\x8C[\\x80-\\xBF]|\\xE6\\x8D[\\x80-\\xBF]|\\xE6\\x8E[\\x80-\\xBF]|\\xE6\\x8F[\\x80-\\xBF]|\\xE6\\x90[\\x80-\\xBF]|\\xE6\\x91[\\x80-\\xBF]|\\xE6\\x92[\\x80-\\xBF]|\\xE6\\x93[\\x80-\\xBF]|\\xE6\\x94[\\x80-\\xBF]|\\xE6\\x95[\\x80-\\xBF]|\\xE6\\x96[\\x80-\\xBF]|\\xE6\\x97[\\x80-\\xBF]|\\xE6\\x98[\\x80-\\xBF]|\\xE6\\x99[\\x80-\\xBF]|\\xE6\\x9A[\\x80-\\xBF]|\\xE6\\x9B[\\x80-\\xBF]|\\xE6\\x9C[\\x80-\\xBF]|\\xE6\\x9D[\\x80-\\xBF]|\\xE6\\x9E[\\x80-\\xBF]|\\xE6\\x9F[\\x80-\\xBF]|\\xE6\\xA0[\\x80-\\xBF]|\\xE6\\xA1[\\x80-\\xBF]|\\xE6\\xA2[\\x80-\\xBF]|\\xE6\\xA3[\\x80-\\xBF]|\\xE6\\xA4[\\x80-\\xBF]|\\xE6\\xA5[\\x80-\\xBF]|\\xE6\\xA6[\\x80-\\xBF]|\\xE6\\xA7[\\x80-\\xBF]|\\xE6\\xA8[\\x80-\\xBF]|\\xE6\\xA9[\\x80-\\xBF]|\\xE6\\xAA[\\x80-\\xBF]|\\xE6\\xAB[\\x80-\\xBF]|\\xE6\\xAC[\\x80-\\xBF]|\\xE6\\xAD[\\x80-\\xBF]|\\xE6\\xAE[\\x80-\\xBF]|\\xE6\\xAF[\\x80-\\xBF]|\\xE6\\xB0[\\x80-\\xBF]|\\xE6\\xB1[\\x80-\\xBF]|\\xE6\\xB2[\\x80-\\xBF]|\\xE6\\xB3[\\x80-\\xBF]|\\xE6\\xB4[\\x80-\\xBF]|\\xE6\\xB5[\\x80-\\xBF]|\\xE6\\xB6[\\x80-\\xBF]|\\xE6\\xB7[\\x80-\\xBF]|\\xE6\\xB8[\\x80-\\xBF]|\\xE6\\xB9[\\x80-\\xBF]|\\xE6\\xBA[\\x80-\\xBF]|\\xE6\\xBB[\\x80-\\xBF]|\\xE6\\xBC[\\x80-\\xBF]|\\xE6\\xBD[\\x80-\\xBF]|\\xE6\\xBE[\\x80-\\xBF]|\\xE6\\xBF[\\x80-\\xBF]|\\xE7\\x80[\\x80-\\xBF]|\\xE7\\x81[\\x80-\\xBF]|\\xE7\\x82[\\x80-\\xBF]|\\xE7\\x83[\\x80-\\xBF]|\\xE7\\x84[\\x80-\\xBF]|\\xE7\\x85[\\x80-\\xBF]|\\xE7\\x86[\\x80-\\xBF]|\\xE7\\x87[\\x80-\\xBF]|\\xE7\\x88[\\x80-\\xBF]|\\xE7\\x89[\\x80-\\xBF]|\\xE7\\x8A[\\x80-\\xBF]|\\xE7\\x8B[\\x80-\\xBF]|\\xE7\\x8C[\\x80-\\xBF]|\\xE7\\x8D[\\x80-\\xBF]|\\xE7\\x8E[\\x80-\\xBF]|\\xE7\\x8F[\\x80-\\xBF]|\\xE7\\x90[\\x80-\\xBF]|\\xE7\\x91[\\x80-\\xBF]|\\xE7\\x92[\\x80-\\xBF]|\\xE7\\x93[\\x80-\\xBF]|\\xE7\\x94[\\x80-\\xBF]|\\xE7\\x95[\\x80-\\xBF]|\\xE7\\x96[\\x80-\\xBF]|\\xE7\\x97[\\x80-\\xBF]|\\xE7\\x98[\\x80-\\xBF]|\\xE7\\x99[\\x80-\\xBF]|\\xE7\\x9A[\\x80-\\xBF]|\\xE7\\x9B[\\x80-\\xBF]|\\xE7\\x9C[\\x80-\\xBF]|\\xE7\\x9D[\\x80-\\xBF]|\\xE7\\x9E[\\x80-\\xBF]|\\xE7\\x9F[\\x80-\\xBF]|\\xE7\\xA0[\\x80-\\xBF]|\\xE7\\xA1[\\x80-\\xBF]|\\xE7\\xA2[\\x80-\\xBF]|\\xE7\\xA3[\\x80-\\xBF]|\\xE7\\xA4[\\x80-\\xBF]|\\xE7\\xA5[\\x80-\\xBF]|\\xE7\\xA6[\\x80-\\xBF]|\\xE7\\xA7[\\x80-\\xBF]|\\xE7\\xA8[\\x80-\\xBF]|\\xE7\\xA9[\\x80-\\xBF]|\\xE7\\xAA[\\x80-\\xBF]|\\xE7\\xAB[\\x80-\\xBF]|\\xE7\\xAC[\\x80-\\xBF]|\\xE7\\xAD[\\x80-\\xBF]|\\xE7\\xAE[\\x80-\\xBF]|\\xE7\\xAF[\\x80-\\xBF]|\\xE7\\xB0[\\x80-\\xBF]|\\xE7\\xB1[\\x80-\\xBF]|\\xE7\\xB2[\\x80-\\xBF]|\\xE7\\xB3[\\x80-\\xBF]|\\xE7\\xB4[\\x80-\\xBF]|\\xE7\\xB5[\\x80-\\xBF]|\\xE7\\xB6[\\x80-\\xBF]|\\xE7\\xB7[\\x80-\\xBF]|\\xE7\\xB8[\\x80-\\xBF]|\\xE7\\xB9[\\x80-\\xBF]|\\xE7\\xBA[\\x80-\\xBF]|\\xE7\\xBB[\\x80-\\xBF]|\\xE7\\xBC[\\x80-\\xBF]|\\xE7\\xBD[\\x80-\\xBF]|\\xE7\\xBE[\\x80-\\xBF]|\\xE7\\xBF[\\x80-\\xBF]|\\xE8\\x80[\\x80-\\xBF]|\\xE8\\x81[\\x80-\\xBF]|\\xE8\\x82[\\x80-\\xBF]|\\xE8\\x83[\\x80-\\xBF]|\\xE8\\x84[\\x80-\\xBF]|\\xE8\\x85[\\x80-\\xBF]|\\xE8\\x86[\\x80-\\xBF]|\\xE8\\x87[\\x80-\\xBF]|\\xE8\\x88[\\x80-\\xBF]|\\xE8\\x89[\\x80-\\xBF]|\\xE8\\x8A[\\x80-\\xBF]|\\xE8\\x8B[\\x80-\\xBF]|\\xE8\\x8C[\\x80-\\xBF]|\\xE8\\x8D[\\x80-\\xBF]|\\xE8\\x8E[\\x80-\\xBF]|\\xE8\\x8F[\\x80-\\xBF]|\\xE8\\x90[\\x80-\\xBF]|\\xE8\\x91[\\x80-\\xBF]|\\xE8\\x92[\\x80-\\xBF]|\\xE8\\x93[\\x80-\\xBF]|\\xE8\\x94[\\x80-\\xBF]|\\xE8\\x95[\\x80-\\xBF]|\\xE8\\x96[\\x80-\\xBF]|\\xE8\\x97[\\x80-\\xBF]|\\xE8\\x98[\\x80-\\xBF]|\\xE8\\x99[\\x80-\\xBF]|\\xE8\\x9A[\\x80-\\xBF]|\\xE8\\x9B[\\x80-\\xBF]|\\xE8\\x9C[\\x80-\\xBF]|\\xE8\\x9D[\\x80-\\xBF]|\\xE8\\x9E[\\x80-\\xBF]|\\xE8\\x9F[\\x80-\\xBF]|\\xE8\\xA0[\\x80-\\xBF]|\\xE8\\xA1[\\x80-\\xBF]|\\xE8\\xA2[\\x80-\\xBF]|\\xE8\\xA3[\\x80-\\xBF]|\\xE8\\xA4[\\x80-\\xBF]|\\xE8\\xA5[\\x80-\\xBF]|\\xE8\\xA6[\\x80-\\xBF]|\\xE8\\xA7[\\x80-\\xBF]|\\xE8\\xA8[\\x80-\\xBF]|\\xE8\\xA9[\\x80-\\xBF]|\\xE8\\xAA[\\x80-\\xBF]|\\xE8\\xAB[\\x80-\\xBF]|\\xE8\\xAC[\\x80-\\xBF]|\\xE8\\xAD[\\x80-\\xBF]|\\xE8\\xAE[\\x80-\\xBF]|\\xE8\\xAF[\\x80-\\xBF]|\\xE8\\xB0[\\x80-\\xBF]|\\xE8\\xB1[\\x80-\\xBF]|\\xE8\\xB2[\\x80-\\xBF]|\\xE8\\xB3[\\x80-\\xBF]|\\xE8\\xB4[\\x80-\\xBF]|\\xE8\\xB5[\\x80-\\xBF]|\\xE8\\xB6[\\x80-\\xBF]|\\xE8\\xB7[\\x80-\\xBF]|\\xE8\\xB8[\\x80-\\xBF]|\\xE8\\xB9[\\x80-\\xBF]|\\xE8\\xBA[\\x80-\\xBF]|\\xE8\\xBB[\\x80-\\xBF]|\\xE8\\xBC[\\x80-\\xBF]|\\xE8\\xBD[\\x80-\\xBF]|\\xE8\\xBE[\\x80-\\xBF]|\\xE8\\xBF[\\x80-\\xBF]|\\xE9\\x80[\\x80-\\xBF]|\\xE9\\x81[\\x80-\\xBF]|\\xE9\\x82[\\x80-\\xBF]|\\xE9\\x83[\\x80-\\xBF]|\\xE9\\x84[\\x80-\\xBF]|\\xE9\\x85[\\x80-\\xBF]|\\xE9\\x86[\\x80-\\xBF]|\\xE9\\x87[\\x80-\\xBF]|\\xE9\\x88[\\x80-\\xBF]|\\xE9\\x89[\\x80-\\xBF]|\\xE9\\x8A[\\x80-\\xBF]|\\xE9\\x8B[\\x80-\\xBF]|\\xE9\\x8C[\\x80-\\xBF]|\\xE9\\x8D[\\x80-\\xBF]|\\xE9\\x8E[\\x80-\\xBF]|\\xE9\\x8F[\\x80-\\xBF]|\\xE9\\x90[\\x80-\\xBF]|\\xE9\\x91[\\x80-\\xBF]|\\xE9\\x92[\\x80-\\xBF]|\\xE9\\x93[\\x80-\\xBF]|\\xE9\\x94[\\x80-\\xBF]|\\xE9\\x95[\\x80-\\xBF]|\\xE9\\x96[\\x80-\\xBF]|\\xE9\\x97[\\x80-\\xBF]|\\xE9\\x98[\\x80-\\xBF]|\\xE9\\x99[\\x80-\\xBF]|\\xE9\\x9A[\\x80-\\xBF]|\\xE9\\x9B[\\x80-\\xBF]|\\xE9\\x9C[\\x80-\\xBF]|\\xE9\\x9D[\\x80-\\xBF]|\\xE9\\x9E[\\x80-\\xBF]|\\xE9\\x9F[\\x80-\\xBF]|\\xE9\\xA0[\\x80-\\xBF]|\\xE9\\xA1[\\x80-\\xBF]|\\xE9\\xA2[\\x80-\\xBF]|\\xE9\\xA3[\\x80-\\xBF]|\\xE9\\xA4[\\x80-\\xBF]|\\xE9\\xA5[\\x80-\\xBF]|\\xE9\\xA6[\\x80-\\xBF]|\\xE9\\xA7[\\x80-\\xBF]|\\xE9\\xA8[\\x80-\\xBF]|\\xE9\\xA9[\\x80-\\xBF]|\\xE9\\xAA[\\x80-\\xBF]|\\xE9\\xAB[\\x80-\\xBF]|\\xE9\\xAC[\\x80-\\xBF]|\\xE9\\xAD[\\x80-\\xBF]|\\xE9\\xAE[\\x80-\\xBF]|\\xE9\\xAF[\\x80-\\xBF]|\\xE9\\xB0[\\x80-\\xBF]|\\xE9\\xB1[\\x80-\\xBF]|\\xE9\\xB2[\\x80-\\xBF]|\\xE9\\xB3[\\x80-\\xBF]|\\xE9\\xB4[\\x80-\\xBF]|\\xE9\\xB5[\\x80-\\xBF]|\\xE9\\xB6[\\x80-\\xBF]|\\xE9\\xB7[\\x80-\\xBF]|\\xE9\\xB8[\\x80-\\xBF]|\\xE9\\xB9[\\x80-\\xBF]|\\xE9\\xBA[\\x80-\\xBF]|\\xE9\\xBB[\\x80-\\xBF]|\\xE9\\xBC[\\x80-\\xBF]|\\xE9\\xBD[\\x80-\\xBF]|\\xE9\\xBE[\\x80-\\xBF]|\\xE9\\xBF[\\x80-\\xBF]|\\xEA\\x80[\\x80-\\xBF]|\\xEA\\x81[\\x80-\\xBF]|\\xEA\\x82[\\x80-\\xBF]|\\xEA\\x83[\\x80-\\xBF]|\\xEA\\x84[\\x80-\\xBF]|\\xEA\\x85[\\x80-\\xBF]|\\xEA\\x86[\\x80-\\xBF]|\\xEA\\x87[\\x80-\\xBF]|\\xEA\\x88[\\x80-\\xBF]|\\xEA\\x89[\\x80-\\xBF]|\\xEA\\x8A[\\x80-\\xBF]|\\xEA\\x8B[\\x80-\\xBF]|\\xEA\\x8C[\\x80-\\xBF]|\\xEA\\x8D[\\x80-\\xBF]|\\xEA\\x8E[\\x80-\\xBF]|\\xEA\\x8F[\\x80-\\xBF]|\\xEA\\x90[\\x80-\\xBF]|\\xEA\\x91[\\x80-\\xBF]|\\xEA\\x92[\\x80-\\xBF]|\\xEA\\x93[\\x80-\\xBF]|\\xEA\\x94[\\x80-\\xBF]|\\xEA\\x95[\\x80-\\xBF]|\\xEA\\x96[\\x80-\\xBF]|\\xEA\\x97[\\x80-\\xBF]|\\xEA\\x98[\\x80-\\xBF]|\\xEA\\x99[\\x80-\\xBF]|\\xEA\\x9A[\\x80-\\xBF]|\\xEA\\x9B[\\x80-\\xBF]|\\xEA\\x9C[\\x80-\\xBF]|\\xEA\\x9D[\\x80-\\xBF]|\\xEA\\x9E[\\x80-\\xBF]|\\xEA\\x9F[\\x80-\\xBF]|\\xEA\\xA0[\\x80-\\xBF]|\\xEA\\xA1[\\x80-\\xBF]|\\xEA\\xA2[\\x80-\\xBF]|\\xEA\\xA3[\\x80-\\xBF]|\\xEA\\xA4[\\x80-\\xBF]|\\xEA\\xA5[\\x80-\\xBF]|\\xEA\\xA6[\\x80-\\xBF]|\\xEA\\xA7[\\x80-\\xBF]|\\xEA\\xA8[\\x80-\\xBF]|\\xEA\\xA9[\\x80-\\xBF]|\\xEA\\xAA[\\x80-\\xBF]|\\xEA\\xAB[\\x80-\\xBF]|\\xEA\\xAC[\\x80-\\xBF]|\\xEA\\xAD[\\x80-\\xBF]|\\xEA\\xAE[\\x80-\\xBF]|\\xEA\\xAF[\\x80-\\xBF]|\\xEA\\xB0[\\x80-\\xBF]|\\xEA\\xB1[\\x80-\\xBF]|\\xEA\\xB2[\\x80-\\xBF]|\\xEA\\xB3[\\x80-\\xBF]|\\xEA\\xB4[\\x80-\\xBF]|\\xEA\\xB5[\\x80-\\xBF]|\\xEA\\xB6[\\x80-\\xBF]|\\xEA\\xB7[\\x80-\\xBF]|\\xEA\\xB8[\\x80-\\xBF]|\\xEA\\xB9[\\x80-\\xBF]|\\xEA\\xBA[\\x80-\\xBF]|\\xEA\\xBB[\\x80-\\xBF]|\\xEA\\xBC[\\x80-\\xBF]|\\xEA\\xBD[\\x80-\\xBF]|\\xEA\\xBE[\\x80-\\xBF]|\\xEA\\xBF[\\x80-\\xBF]|\\xEB\\x80[\\x80-\\xBF]|\\xEB\\x81[\\x80-\\xBF]|\\xEB\\x82[\\x80-\\xBF]|\\xEB\\x83[\\x80-\\xBF]|\\xEB\\x84[\\x80-\\xBF]|\\xEB\\x85[\\x80-\\xBF]|\\xEB\\x86[\\x80-\\xBF]|\\xEB\\x87[\\x80-\\xBF]|\\xEB\\x88[\\x80-\\xBF]|\\xEB\\x89[\\x80-\\xBF]|\\xEB\\x8A[\\x80-\\xBF]|\\xEB\\x8B[\\x80-\\xBF]|\\xEB\\x8C[\\x80-\\xBF]|\\xEB\\x8D[\\x80-\\xBF]|\\xEB\\x8E[\\x80-\\xBF]|\\xEB\\x8F[\\x80-\\xBF]|\\xEB\\x90[\\x80-\\xBF]|\\xEB\\x91[\\x80-\\xBF]|\\xEB\\x92[\\x80-\\xBF]|\\xEB\\x93[\\x80-\\xBF]|\\xEB\\x94[\\x80-\\xBF]|\\xEB\\x95[\\x80-\\xBF]|\\xEB\\x96[\\x80-\\xBF]|\\xEB\\x97[\\x80-\\xBF]|\\xEB\\x98[\\x80-\\xBF]|\\xEB\\x99[\\x80-\\xBF]|\\xEB\\x9A[\\x80-\\xBF]|\\xEB\\x9B[\\x80-\\xBF]|\\xEB\\x9C[\\x80-\\xBF]|\\xEB\\x9D[\\x80-\\xBF]|\\xEB\\x9E[\\x80-\\xBF]|\\xEB\\x9F[\\x80-\\xBF]|\\xEB\\xA0[\\x80-\\xBF]|\\xEB\\xA1[\\x80-\\xBF]|\\xEB\\xA2[\\x80-\\xBF]|\\xEB\\xA3[\\x80-\\xBF]|\\xEB\\xA4[\\x80-\\xBF]|\\xEB\\xA5[\\x80-\\xBF]|\\xEB\\xA6[\\x80-\\xBF]|\\xEB\\xA7[\\x80-\\xBF]|\\xEB\\xA8[\\x80-\\xBF]|\\xEB\\xA9[\\x80-\\xBF]|\\xEB\\xAA[\\x80-\\xBF]|\\xEB\\xAB[\\x80-\\xBF]|\\xEB\\xAC[\\x80-\\xBF]|\\xEB\\xAD[\\x80-\\xBF]|\\xEB\\xAE[\\x80-\\xBF]|\\xEB\\xAF[\\x80-\\xBF]|\\xEB\\xB0[\\x80-\\xBF]|\\xEB\\xB1[\\x80-\\xBF]|\\xEB\\xB2[\\x80-\\xBF]|\\xEB\\xB3[\\x80-\\xBF]|\\xEB\\xB4[\\x80-\\xBF]|\\xEB\\xB5[\\x80-\\xBF]|\\xEB\\xB6[\\x80-\\xBF]|\\xEB\\xB7[\\x80-\\xBF]|\\xEB\\xB8[\\x80-\\xBF]|\\xEB\\xB9[\\x80-\\xBF]|\\xEB\\xBA[\\x80-\\xBF]|\\xEB\\xBB[\\x80-\\xBF]|\\xEB\\xBC[\\x80-\\xBF]|\\xEB\\xBD[\\x80-\\xBF]|\\xEB\\xBE[\\x80-\\xBF]|\\xEB\\xBF[\\x80-\\xBF]|\\xEC\\x80[\\x80-\\xBF]|\\xEC\\x81[\\x80-\\xBF]|\\xEC\\x82[\\x80-\\xBF]|\\xEC\\x83[\\x80-\\xBF]|\\xEC\\x84[\\x80-\\xBF]|\\xEC\\x85[\\x80-\\xBF]|\\xEC\\x86[\\x80-\\xBF]|\\xEC\\x87[\\x80-\\xBF]|\\xEC\\x88[\\x80-\\xBF]|\\xEC\\x89[\\x80-\\xBF]|\\xEC\\x8A[\\x80-\\xBF]|\\xEC\\x8B[\\x80-\\xBF]|\\xEC\\x8C[\\x80-\\xBF]|\\xEC\\x8D[\\x80-\\xBF]|\\xEC\\x8E[\\x80-\\xBF]|\\xEC\\x8F[\\x80-\\xBF]|\\xEC\\x90[\\x80-\\xBF]|\\xEC\\x91[\\x80-\\xBF]|\\xEC\\x92[\\x80-\\xBF]|\\xEC\\x93[\\x80-\\xBF]|\\xEC\\x94[\\x80-\\xBF]|\\xEC\\x95[\\x80-\\xBF]|\\xEC\\x96[\\x80-\\xBF]|\\xEC\\x97[\\x80-\\xBF]|\\xEC\\x98[\\x80-\\xBF]|\\xEC\\x99[\\x80-\\xBF]|\\xEC\\x9A[\\x80-\\xBF]|\\xEC\\x9B[\\x80-\\xBF]|\\xEC\\x9C[\\x80-\\xBF]|\\xEC\\x9D[\\x80-\\xBF]|\\xEC\\x9E[\\x80-\\xBF]|\\xEC\\x9F[\\x80-\\xBF]|\\xEC\\xA0[\\x80-\\xBF]|\\xEC\\xA1[\\x80-\\xBF]|\\xEC\\xA2[\\x80-\\xBF]|\\xEC\\xA3[\\x80-\\xBF]|\\xEC\\xA4[\\x80-\\xBF]|\\xEC\\xA5[\\x80-\\xBF]|\\xEC\\xA6[\\x80-\\xBF]|\\xEC\\xA7[\\x80-\\xBF]|\\xEC\\xA8[\\x80-\\xBF]|\\xEC\\xA9[\\x80-\\xBF]|\\xEC\\xAA[\\x80-\\xBF]|\\xEC\\xAB[\\x80-\\xBF]|\\xEC\\xAC[\\x80-\\xBF]|\\xEC\\xAD[\\x80-\\xBF]|\\xEC\\xAE[\\x80-\\xBF]|\\xEC\\xAF[\\x80-\\xBF]|\\xEC\\xB0[\\x80-\\xBF]|\\xEC\\xB1[\\x80-\\xBF]|\\xEC\\xB2[\\x80-\\xBF]|\\xEC\\xB3[\\x80-\\xBF]|\\xEC\\xB4[\\x80-\\xBF]|\\xEC\\xB5[\\x80-\\xBF]|\\xEC\\xB6[\\x80-\\xBF]|\\xEC\\xB7[\\x80-\\xBF]|\\xEC\\xB8[\\x80-\\xBF]|\\xEC\\xB9[\\x80-\\xBF]|\\xEC\\xBA[\\x80-\\xBF]|\\xEC\\xBB[\\x80-\\xBF]|\\xEC\\xBC[\\x80-\\xBF]|\\xEC\\xBD[\\x80-\\xBF]|\\xEC\\xBE[\\x80-\\xBF]|\\xEC\\xBF[\\x80-\\xBF]|\\xED\\x80[\\x80-\\xBF]|\\xED\\x81[\\x80-\\xBF]|\\xED\\x82[\\x80-\\xBF]|\\xED\\x83[\\x80-\\xBF]|\\xED\\x84[\\x80-\\xBF]|\\xED\\x85[\\x80-\\xBF]|\\xED\\x86[\\x80-\\xBF]|\\xED\\x87[\\x80-\\xBF]|\\xED\\x88[\\x80-\\xBF]|\\xED\\x89[\\x80-\\xBF]|\\xED\\x8A[\\x80-\\xBF]|\\xED\\x8B[\\x80-\\xBF]|\\xED\\x8C[\\x80-\\xBF]|\\xED\\x8D[\\x80-\\xBF]|\\xED\\x8E[\\x80-\\xBF]|\\xED\\x8F[\\x80-\\xBF]|\\xED\\x90[\\x80-\\xBF]|\\xED\\x91[\\x80-\\xBF]|\\xED\\x92[\\x80-\\xBF]|\\xED\\x93[\\x80-\\xBF]|\\xED\\x94[\\x80-\\xBF]|\\xED\\x95[\\x80-\\xBF]|\\xED\\x96[\\x80-\\xBF]|\\xED\\x97[\\x80-\\xBF]|\\xED\\x98[\\x80-\\xBF]|\\xED\\x99[\\x80-\\xBF]|\\xED\\x9A[\\x80-\\xBF]|\\xED\\x9B[\\x80-\\xBF]|\\xED\\x9C[\\x80-\\xBF]|\\xED\\x9D[\\x80-\\xBF]|\\xED\\x9E[\\x80-\\xBF]|\\xED\\x9F[\\x80-\\xBF]|\\xEF\\xA4[\\x80-\\xBF]|\\xEF\\xA5[\\x80-\\xBF]|\\xEF\\xA6[\\x80-\\xBF]|\\xEF\\xA7[\\x80-\\xBF]|\\xEF\\xA8[\\x80-\\xBF]|\\xEF\\xA9[\\x80-\\xBF]|\\xEF\\xAA[\\x80-\\xBF]|\\xEF\\xAB[\\x80-\\xBF]|\\xEF\\xAC[\\x80-\\xBF]|\\xEF\\xAD[\\x80-\\xBF]|\\xEF\\xAE[\\x80-\\xBF]|\\xEF\\xAF[\\x80-\\xBF]|\\xEF\\xB0[\\x80-\\xBF]|\\xEF\\xB1[\\x80-\\xBF]|\\xEF\\xB2[\\x80-\\xBF]|\\xEF\\xB3[\\x80-\\xBF]|\\xEF\\xB4[\\x80-\\xBF]|\\xEF\\xB5[\\x80-\\xBF]|\\xEF\\xB6[\\x80-\\xBF]|\\xEF\\xB7[\\x80-\\x8F]|\\xEF\\xB7[\\xB0-\\xBF]|\\xEF\\xB8[\\x80-\\xBF]|\\xEF\\xB9[\\x80-\\xBF]|\\xEF\\xBA[\\x80-\\xBF]|\\xEF\\xBB[\\x80-\\xBF]|\\xEF\\xBC[\\x80-\\xBF]|\\xEF\\xBD[\\x80-\\xBF]|\\xEF\\xBE[\\x80-\\xBF]|\\xEF\\xBF[\\x80-\\xBD]|\\x2D|\\x2E|[\\x30-\\x39]|\\xC2\\xB7|\\xCC[\\x80-\\xBF]|\\xCD[\\x80-\\xAF]|\\xE2\\x80\\xBF|\\xE2\\x81\\x80)*$" +} diff --git a/schemas/w3c/xmlschema/2001/nmtoken.json b/schemas/w3c/xmlschema/2001/nmtoken.json new file mode 100644 index 0000000..7dc992d --- /dev/null +++ b/schemas/w3c/xmlschema/2001/nmtoken.json @@ -0,0 +1,25 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "W3C XML Schema NMTOKEN", + "description": "Represents XML name tokens derived from token (§3.3.4)", + "$comment": "This schema validates using UTF-8 byte sequences instead of Unicode codepoint escapes because regex engines often treat patterns as byte sequences", + "examples": [ + "abc", + "123", + "data-value", + "element.name", + "with:colon", + "_underscore", + "CamelCase" + ], + "x-license": "https://github.com/sourcemeta/std/blob/main/LICENSE", + "x-links": [ + "https://www.w3.org/TR/xmlschema-2/#NMTOKEN", + "https://www.w3.org/TR/xml/#NT-Nmtoken" + ], + "type": "string", + "not": { + "pattern": "[\\x00-\\x1F]" + }, + "pattern": "^(\\x3A|[\\x41-\\x5A]|\\x5F|[\\x61-\\x7A]|\\xC3[\\x80-\\x96]|\\xC3[\\x98-\\xB6]|\\xC3[\\xB8-\\xBF]|\\xC4[\\x80-\\xBF]|\\xC5[\\x80-\\xBF]|\\xC6[\\x80-\\xBF]|\\xC7[\\x80-\\xBF]|\\xC8[\\x80-\\xBF]|\\xC9[\\x80-\\xBF]|\\xCA[\\x80-\\xBF]|\\xCB[\\x80-\\xBF]|\\xCD[\\xB0-\\xBD]|\\xCD\\xBF|\\xCE[\\x80-\\xBF]|\\xCF[\\x80-\\xBF]|\\xD0[\\x80-\\xBF]|\\xD1[\\x80-\\xBF]|\\xD2[\\x80-\\xBF]|\\xD3[\\x80-\\xBF]|\\xD4[\\x80-\\xBF]|\\xD5[\\x80-\\xBF]|\\xD6[\\x80-\\xBF]|\\xD7[\\x80-\\xBF]|\\xD8[\\x80-\\xBF]|\\xD9[\\x80-\\xBF]|\\xDA[\\x80-\\xBF]|\\xDB[\\x80-\\xBF]|\\xDC[\\x80-\\xBF]|\\xDD[\\x80-\\xBF]|\\xDE[\\x80-\\xBF]|\\xDF[\\x80-\\xBF]|\\xE0\\xA0[\\x80-\\xBF]|\\xE0\\xA1[\\x80-\\xBF]|\\xE0\\xA2[\\x80-\\xBF]|\\xE0\\xA3[\\x80-\\xBF]|\\xE0\\xA4[\\x80-\\xBF]|\\xE0\\xA5[\\x80-\\xBF]|\\xE0\\xA6[\\x80-\\xBF]|\\xE0\\xA7[\\x80-\\xBF]|\\xE0\\xA8[\\x80-\\xBF]|\\xE0\\xA9[\\x80-\\xBF]|\\xE0\\xAA[\\x80-\\xBF]|\\xE0\\xAB[\\x80-\\xBF]|\\xE0\\xAC[\\x80-\\xBF]|\\xE0\\xAD[\\x80-\\xBF]|\\xE0\\xAE[\\x80-\\xBF]|\\xE0\\xAF[\\x80-\\xBF]|\\xE0\\xB0[\\x80-\\xBF]|\\xE0\\xB1[\\x80-\\xBF]|\\xE0\\xB2[\\x80-\\xBF]|\\xE0\\xB3[\\x80-\\xBF]|\\xE0\\xB4[\\x80-\\xBF]|\\xE0\\xB5[\\x80-\\xBF]|\\xE0\\xB6[\\x80-\\xBF]|\\xE0\\xB7[\\x80-\\xBF]|\\xE0\\xB8[\\x80-\\xBF]|\\xE0\\xB9[\\x80-\\xBF]|\\xE0\\xBA[\\x80-\\xBF]|\\xE0\\xBB[\\x80-\\xBF]|\\xE0\\xBC[\\x80-\\xBF]|\\xE0\\xBD[\\x80-\\xBF]|\\xE0\\xBE[\\x80-\\xBF]|\\xE0\\xBF[\\x80-\\xBF]|\\xE1\\x80[\\x80-\\xBF]|\\xE1\\x81[\\x80-\\xBF]|\\xE1\\x82[\\x80-\\xBF]|\\xE1\\x83[\\x80-\\xBF]|\\xE1\\x84[\\x80-\\xBF]|\\xE1\\x85[\\x80-\\xBF]|\\xE1\\x86[\\x80-\\xBF]|\\xE1\\x87[\\x80-\\xBF]|\\xE1\\x88[\\x80-\\xBF]|\\xE1\\x89[\\x80-\\xBF]|\\xE1\\x8A[\\x80-\\xBF]|\\xE1\\x8B[\\x80-\\xBF]|\\xE1\\x8C[\\x80-\\xBF]|\\xE1\\x8D[\\x80-\\xBF]|\\xE1\\x8E[\\x80-\\xBF]|\\xE1\\x8F[\\x80-\\xBF]|\\xE1\\x90[\\x80-\\xBF]|\\xE1\\x91[\\x80-\\xBF]|\\xE1\\x92[\\x80-\\xBF]|\\xE1\\x93[\\x80-\\xBF]|\\xE1\\x94[\\x80-\\xBF]|\\xE1\\x95[\\x80-\\xBF]|\\xE1\\x96[\\x80-\\xBF]|\\xE1\\x97[\\x80-\\xBF]|\\xE1\\x98[\\x80-\\xBF]|\\xE1\\x99[\\x80-\\xBF]|\\xE1\\x9A[\\x80-\\xBF]|\\xE1\\x9B[\\x80-\\xBF]|\\xE1\\x9C[\\x80-\\xBF]|\\xE1\\x9D[\\x80-\\xBF]|\\xE1\\x9E[\\x80-\\xBF]|\\xE1\\x9F[\\x80-\\xBF]|\\xE1\\xA0[\\x80-\\xBF]|\\xE1\\xA1[\\x80-\\xBF]|\\xE1\\xA2[\\x80-\\xBF]|\\xE1\\xA3[\\x80-\\xBF]|\\xE1\\xA4[\\x80-\\xBF]|\\xE1\\xA5[\\x80-\\xBF]|\\xE1\\xA6[\\x80-\\xBF]|\\xE1\\xA7[\\x80-\\xBF]|\\xE1\\xA8[\\x80-\\xBF]|\\xE1\\xA9[\\x80-\\xBF]|\\xE1\\xAA[\\x80-\\xBF]|\\xE1\\xAB[\\x80-\\xBF]|\\xE1\\xAC[\\x80-\\xBF]|\\xE1\\xAD[\\x80-\\xBF]|\\xE1\\xAE[\\x80-\\xBF]|\\xE1\\xAF[\\x80-\\xBF]|\\xE1\\xB0[\\x80-\\xBF]|\\xE1\\xB1[\\x80-\\xBF]|\\xE1\\xB2[\\x80-\\xBF]|\\xE1\\xB3[\\x80-\\xBF]|\\xE1\\xB4[\\x80-\\xBF]|\\xE1\\xB5[\\x80-\\xBF]|\\xE1\\xB6[\\x80-\\xBF]|\\xE1\\xB7[\\x80-\\xBF]|\\xE1\\xB8[\\x80-\\xBF]|\\xE1\\xB9[\\x80-\\xBF]|\\xE1\\xBA[\\x80-\\xBF]|\\xE1\\xBB[\\x80-\\xBF]|\\xE1\\xBC[\\x80-\\xBF]|\\xE1\\xBD[\\x80-\\xBF]|\\xE1\\xBE[\\x80-\\xBF]|\\xE1\\xBF[\\x80-\\xBF]|\\xE2\\x80[\\x8C-\\x8D]|\\xE2\\x81[\\xB0-\\xBF]|\\xE2\\x82[\\x80-\\xBF]|\\xE2\\x83[\\x80-\\xBF]|\\xE2\\x84[\\x80-\\xBF]|\\xE2\\x85[\\x80-\\xBF]|\\xE2\\x86[\\x80-\\x8F]|\\xE2\\xB0[\\x80-\\xBF]|\\xE2\\xB1[\\x80-\\xBF]|\\xE2\\xB2[\\x80-\\xBF]|\\xE2\\xB3[\\x80-\\xBF]|\\xE2\\xB4[\\x80-\\xBF]|\\xE2\\xB5[\\x80-\\xBF]|\\xE2\\xB6[\\x80-\\xBF]|\\xE2\\xB7[\\x80-\\xBF]|\\xE2\\xB8[\\x80-\\xBF]|\\xE2\\xB9[\\x80-\\xBF]|\\xE2\\xBA[\\x80-\\xBF]|\\xE2\\xBB[\\x80-\\xBF]|\\xE2\\xBC[\\x80-\\xBF]|\\xE2\\xBD[\\x80-\\xBF]|\\xE2\\xBE[\\x80-\\xBF]|\\xE2\\xBF[\\x80-\\xAF]|\\xE3\\x80[\\x81-\\xBF]|\\xE3\\x81[\\x80-\\xBF]|\\xE3\\x82[\\x80-\\xBF]|\\xE3\\x83[\\x80-\\xBF]|\\xE3\\x84[\\x80-\\xBF]|\\xE3\\x85[\\x80-\\xBF]|\\xE3\\x86[\\x80-\\xBF]|\\xE3\\x87[\\x80-\\xBF]|\\xE3\\x88[\\x80-\\xBF]|\\xE3\\x89[\\x80-\\xBF]|\\xE3\\x8A[\\x80-\\xBF]|\\xE3\\x8B[\\x80-\\xBF]|\\xE3\\x8C[\\x80-\\xBF]|\\xE3\\x8D[\\x80-\\xBF]|\\xE3\\x8E[\\x80-\\xBF]|\\xE3\\x8F[\\x80-\\xBF]|\\xE3\\x90[\\x80-\\xBF]|\\xE3\\x91[\\x80-\\xBF]|\\xE3\\x92[\\x80-\\xBF]|\\xE3\\x93[\\x80-\\xBF]|\\xE3\\x94[\\x80-\\xBF]|\\xE3\\x95[\\x80-\\xBF]|\\xE3\\x96[\\x80-\\xBF]|\\xE3\\x97[\\x80-\\xBF]|\\xE3\\x98[\\x80-\\xBF]|\\xE3\\x99[\\x80-\\xBF]|\\xE3\\x9A[\\x80-\\xBF]|\\xE3\\x9B[\\x80-\\xBF]|\\xE3\\x9C[\\x80-\\xBF]|\\xE3\\x9D[\\x80-\\xBF]|\\xE3\\x9E[\\x80-\\xBF]|\\xE3\\x9F[\\x80-\\xBF]|\\xE3\\xA0[\\x80-\\xBF]|\\xE3\\xA1[\\x80-\\xBF]|\\xE3\\xA2[\\x80-\\xBF]|\\xE3\\xA3[\\x80-\\xBF]|\\xE3\\xA4[\\x80-\\xBF]|\\xE3\\xA5[\\x80-\\xBF]|\\xE3\\xA6[\\x80-\\xBF]|\\xE3\\xA7[\\x80-\\xBF]|\\xE3\\xA8[\\x80-\\xBF]|\\xE3\\xA9[\\x80-\\xBF]|\\xE3\\xAA[\\x80-\\xBF]|\\xE3\\xAB[\\x80-\\xBF]|\\xE3\\xAC[\\x80-\\xBF]|\\xE3\\xAD[\\x80-\\xBF]|\\xE3\\xAE[\\x80-\\xBF]|\\xE3\\xAF[\\x80-\\xBF]|\\xE3\\xB0[\\x80-\\xBF]|\\xE3\\xB1[\\x80-\\xBF]|\\xE3\\xB2[\\x80-\\xBF]|\\xE3\\xB3[\\x80-\\xBF]|\\xE3\\xB4[\\x80-\\xBF]|\\xE3\\xB5[\\x80-\\xBF]|\\xE3\\xB6[\\x80-\\xBF]|\\xE3\\xB7[\\x80-\\xBF]|\\xE3\\xB8[\\x80-\\xBF]|\\xE3\\xB9[\\x80-\\xBF]|\\xE3\\xBA[\\x80-\\xBF]|\\xE3\\xBB[\\x80-\\xBF]|\\xE3\\xBC[\\x80-\\xBF]|\\xE3\\xBD[\\x80-\\xBF]|\\xE3\\xBE[\\x80-\\xBF]|\\xE3\\xBF[\\x80-\\xBF]|\\xE4\\x80[\\x80-\\xBF]|\\xE4\\x81[\\x80-\\xBF]|\\xE4\\x82[\\x80-\\xBF]|\\xE4\\x83[\\x80-\\xBF]|\\xE4\\x84[\\x80-\\xBF]|\\xE4\\x85[\\x80-\\xBF]|\\xE4\\x86[\\x80-\\xBF]|\\xE4\\x87[\\x80-\\xBF]|\\xE4\\x88[\\x80-\\xBF]|\\xE4\\x89[\\x80-\\xBF]|\\xE4\\x8A[\\x80-\\xBF]|\\xE4\\x8B[\\x80-\\xBF]|\\xE4\\x8C[\\x80-\\xBF]|\\xE4\\x8D[\\x80-\\xBF]|\\xE4\\x8E[\\x80-\\xBF]|\\xE4\\x8F[\\x80-\\xBF]|\\xE4\\x90[\\x80-\\xBF]|\\xE4\\x91[\\x80-\\xBF]|\\xE4\\x92[\\x80-\\xBF]|\\xE4\\x93[\\x80-\\xBF]|\\xE4\\x94[\\x80-\\xBF]|\\xE4\\x95[\\x80-\\xBF]|\\xE4\\x96[\\x80-\\xBF]|\\xE4\\x97[\\x80-\\xBF]|\\xE4\\x98[\\x80-\\xBF]|\\xE4\\x99[\\x80-\\xBF]|\\xE4\\x9A[\\x80-\\xBF]|\\xE4\\x9B[\\x80-\\xBF]|\\xE4\\x9C[\\x80-\\xBF]|\\xE4\\x9D[\\x80-\\xBF]|\\xE4\\x9E[\\x80-\\xBF]|\\xE4\\x9F[\\x80-\\xBF]|\\xE4\\xA0[\\x80-\\xBF]|\\xE4\\xA1[\\x80-\\xBF]|\\xE4\\xA2[\\x80-\\xBF]|\\xE4\\xA3[\\x80-\\xBF]|\\xE4\\xA4[\\x80-\\xBF]|\\xE4\\xA5[\\x80-\\xBF]|\\xE4\\xA6[\\x80-\\xBF]|\\xE4\\xA7[\\x80-\\xBF]|\\xE4\\xA8[\\x80-\\xBF]|\\xE4\\xA9[\\x80-\\xBF]|\\xE4\\xAA[\\x80-\\xBF]|\\xE4\\xAB[\\x80-\\xBF]|\\xE4\\xAC[\\x80-\\xBF]|\\xE4\\xAD[\\x80-\\xBF]|\\xE4\\xAE[\\x80-\\xBF]|\\xE4\\xAF[\\x80-\\xBF]|\\xE4\\xB0[\\x80-\\xBF]|\\xE4\\xB1[\\x80-\\xBF]|\\xE4\\xB2[\\x80-\\xBF]|\\xE4\\xB3[\\x80-\\xBF]|\\xE4\\xB4[\\x80-\\xBF]|\\xE4\\xB5[\\x80-\\xBF]|\\xE4\\xB6[\\x80-\\xBF]|\\xE4\\xB7[\\x80-\\xBF]|\\xE4\\xB8[\\x80-\\xBF]|\\xE4\\xB9[\\x80-\\xBF]|\\xE4\\xBA[\\x80-\\xBF]|\\xE4\\xBB[\\x80-\\xBF]|\\xE4\\xBC[\\x80-\\xBF]|\\xE4\\xBD[\\x80-\\xBF]|\\xE4\\xBE[\\x80-\\xBF]|\\xE4\\xBF[\\x80-\\xBF]|\\xE5\\x80[\\x80-\\xBF]|\\xE5\\x81[\\x80-\\xBF]|\\xE5\\x82[\\x80-\\xBF]|\\xE5\\x83[\\x80-\\xBF]|\\xE5\\x84[\\x80-\\xBF]|\\xE5\\x85[\\x80-\\xBF]|\\xE5\\x86[\\x80-\\xBF]|\\xE5\\x87[\\x80-\\xBF]|\\xE5\\x88[\\x80-\\xBF]|\\xE5\\x89[\\x80-\\xBF]|\\xE5\\x8A[\\x80-\\xBF]|\\xE5\\x8B[\\x80-\\xBF]|\\xE5\\x8C[\\x80-\\xBF]|\\xE5\\x8D[\\x80-\\xBF]|\\xE5\\x8E[\\x80-\\xBF]|\\xE5\\x8F[\\x80-\\xBF]|\\xE5\\x90[\\x80-\\xBF]|\\xE5\\x91[\\x80-\\xBF]|\\xE5\\x92[\\x80-\\xBF]|\\xE5\\x93[\\x80-\\xBF]|\\xE5\\x94[\\x80-\\xBF]|\\xE5\\x95[\\x80-\\xBF]|\\xE5\\x96[\\x80-\\xBF]|\\xE5\\x97[\\x80-\\xBF]|\\xE5\\x98[\\x80-\\xBF]|\\xE5\\x99[\\x80-\\xBF]|\\xE5\\x9A[\\x80-\\xBF]|\\xE5\\x9B[\\x80-\\xBF]|\\xE5\\x9C[\\x80-\\xBF]|\\xE5\\x9D[\\x80-\\xBF]|\\xE5\\x9E[\\x80-\\xBF]|\\xE5\\x9F[\\x80-\\xBF]|\\xE5\\xA0[\\x80-\\xBF]|\\xE5\\xA1[\\x80-\\xBF]|\\xE5\\xA2[\\x80-\\xBF]|\\xE5\\xA3[\\x80-\\xBF]|\\xE5\\xA4[\\x80-\\xBF]|\\xE5\\xA5[\\x80-\\xBF]|\\xE5\\xA6[\\x80-\\xBF]|\\xE5\\xA7[\\x80-\\xBF]|\\xE5\\xA8[\\x80-\\xBF]|\\xE5\\xA9[\\x80-\\xBF]|\\xE5\\xAA[\\x80-\\xBF]|\\xE5\\xAB[\\x80-\\xBF]|\\xE5\\xAC[\\x80-\\xBF]|\\xE5\\xAD[\\x80-\\xBF]|\\xE5\\xAE[\\x80-\\xBF]|\\xE5\\xAF[\\x80-\\xBF]|\\xE5\\xB0[\\x80-\\xBF]|\\xE5\\xB1[\\x80-\\xBF]|\\xE5\\xB2[\\x80-\\xBF]|\\xE5\\xB3[\\x80-\\xBF]|\\xE5\\xB4[\\x80-\\xBF]|\\xE5\\xB5[\\x80-\\xBF]|\\xE5\\xB6[\\x80-\\xBF]|\\xE5\\xB7[\\x80-\\xBF]|\\xE5\\xB8[\\x80-\\xBF]|\\xE5\\xB9[\\x80-\\xBF]|\\xE5\\xBA[\\x80-\\xBF]|\\xE5\\xBB[\\x80-\\xBF]|\\xE5\\xBC[\\x80-\\xBF]|\\xE5\\xBD[\\x80-\\xBF]|\\xE5\\xBE[\\x80-\\xBF]|\\xE5\\xBF[\\x80-\\xBF]|\\xE6\\x80[\\x80-\\xBF]|\\xE6\\x81[\\x80-\\xBF]|\\xE6\\x82[\\x80-\\xBF]|\\xE6\\x83[\\x80-\\xBF]|\\xE6\\x84[\\x80-\\xBF]|\\xE6\\x85[\\x80-\\xBF]|\\xE6\\x86[\\x80-\\xBF]|\\xE6\\x87[\\x80-\\xBF]|\\xE6\\x88[\\x80-\\xBF]|\\xE6\\x89[\\x80-\\xBF]|\\xE6\\x8A[\\x80-\\xBF]|\\xE6\\x8B[\\x80-\\xBF]|\\xE6\\x8C[\\x80-\\xBF]|\\xE6\\x8D[\\x80-\\xBF]|\\xE6\\x8E[\\x80-\\xBF]|\\xE6\\x8F[\\x80-\\xBF]|\\xE6\\x90[\\x80-\\xBF]|\\xE6\\x91[\\x80-\\xBF]|\\xE6\\x92[\\x80-\\xBF]|\\xE6\\x93[\\x80-\\xBF]|\\xE6\\x94[\\x80-\\xBF]|\\xE6\\x95[\\x80-\\xBF]|\\xE6\\x96[\\x80-\\xBF]|\\xE6\\x97[\\x80-\\xBF]|\\xE6\\x98[\\x80-\\xBF]|\\xE6\\x99[\\x80-\\xBF]|\\xE6\\x9A[\\x80-\\xBF]|\\xE6\\x9B[\\x80-\\xBF]|\\xE6\\x9C[\\x80-\\xBF]|\\xE6\\x9D[\\x80-\\xBF]|\\xE6\\x9E[\\x80-\\xBF]|\\xE6\\x9F[\\x80-\\xBF]|\\xE6\\xA0[\\x80-\\xBF]|\\xE6\\xA1[\\x80-\\xBF]|\\xE6\\xA2[\\x80-\\xBF]|\\xE6\\xA3[\\x80-\\xBF]|\\xE6\\xA4[\\x80-\\xBF]|\\xE6\\xA5[\\x80-\\xBF]|\\xE6\\xA6[\\x80-\\xBF]|\\xE6\\xA7[\\x80-\\xBF]|\\xE6\\xA8[\\x80-\\xBF]|\\xE6\\xA9[\\x80-\\xBF]|\\xE6\\xAA[\\x80-\\xBF]|\\xE6\\xAB[\\x80-\\xBF]|\\xE6\\xAC[\\x80-\\xBF]|\\xE6\\xAD[\\x80-\\xBF]|\\xE6\\xAE[\\x80-\\xBF]|\\xE6\\xAF[\\x80-\\xBF]|\\xE6\\xB0[\\x80-\\xBF]|\\xE6\\xB1[\\x80-\\xBF]|\\xE6\\xB2[\\x80-\\xBF]|\\xE6\\xB3[\\x80-\\xBF]|\\xE6\\xB4[\\x80-\\xBF]|\\xE6\\xB5[\\x80-\\xBF]|\\xE6\\xB6[\\x80-\\xBF]|\\xE6\\xB7[\\x80-\\xBF]|\\xE6\\xB8[\\x80-\\xBF]|\\xE6\\xB9[\\x80-\\xBF]|\\xE6\\xBA[\\x80-\\xBF]|\\xE6\\xBB[\\x80-\\xBF]|\\xE6\\xBC[\\x80-\\xBF]|\\xE6\\xBD[\\x80-\\xBF]|\\xE6\\xBE[\\x80-\\xBF]|\\xE6\\xBF[\\x80-\\xBF]|\\xE7\\x80[\\x80-\\xBF]|\\xE7\\x81[\\x80-\\xBF]|\\xE7\\x82[\\x80-\\xBF]|\\xE7\\x83[\\x80-\\xBF]|\\xE7\\x84[\\x80-\\xBF]|\\xE7\\x85[\\x80-\\xBF]|\\xE7\\x86[\\x80-\\xBF]|\\xE7\\x87[\\x80-\\xBF]|\\xE7\\x88[\\x80-\\xBF]|\\xE7\\x89[\\x80-\\xBF]|\\xE7\\x8A[\\x80-\\xBF]|\\xE7\\x8B[\\x80-\\xBF]|\\xE7\\x8C[\\x80-\\xBF]|\\xE7\\x8D[\\x80-\\xBF]|\\xE7\\x8E[\\x80-\\xBF]|\\xE7\\x8F[\\x80-\\xBF]|\\xE7\\x90[\\x80-\\xBF]|\\xE7\\x91[\\x80-\\xBF]|\\xE7\\x92[\\x80-\\xBF]|\\xE7\\x93[\\x80-\\xBF]|\\xE7\\x94[\\x80-\\xBF]|\\xE7\\x95[\\x80-\\xBF]|\\xE7\\x96[\\x80-\\xBF]|\\xE7\\x97[\\x80-\\xBF]|\\xE7\\x98[\\x80-\\xBF]|\\xE7\\x99[\\x80-\\xBF]|\\xE7\\x9A[\\x80-\\xBF]|\\xE7\\x9B[\\x80-\\xBF]|\\xE7\\x9C[\\x80-\\xBF]|\\xE7\\x9D[\\x80-\\xBF]|\\xE7\\x9E[\\x80-\\xBF]|\\xE7\\x9F[\\x80-\\xBF]|\\xE7\\xA0[\\x80-\\xBF]|\\xE7\\xA1[\\x80-\\xBF]|\\xE7\\xA2[\\x80-\\xBF]|\\xE7\\xA3[\\x80-\\xBF]|\\xE7\\xA4[\\x80-\\xBF]|\\xE7\\xA5[\\x80-\\xBF]|\\xE7\\xA6[\\x80-\\xBF]|\\xE7\\xA7[\\x80-\\xBF]|\\xE7\\xA8[\\x80-\\xBF]|\\xE7\\xA9[\\x80-\\xBF]|\\xE7\\xAA[\\x80-\\xBF]|\\xE7\\xAB[\\x80-\\xBF]|\\xE7\\xAC[\\x80-\\xBF]|\\xE7\\xAD[\\x80-\\xBF]|\\xE7\\xAE[\\x80-\\xBF]|\\xE7\\xAF[\\x80-\\xBF]|\\xE7\\xB0[\\x80-\\xBF]|\\xE7\\xB1[\\x80-\\xBF]|\\xE7\\xB2[\\x80-\\xBF]|\\xE7\\xB3[\\x80-\\xBF]|\\xE7\\xB4[\\x80-\\xBF]|\\xE7\\xB5[\\x80-\\xBF]|\\xE7\\xB6[\\x80-\\xBF]|\\xE7\\xB7[\\x80-\\xBF]|\\xE7\\xB8[\\x80-\\xBF]|\\xE7\\xB9[\\x80-\\xBF]|\\xE7\\xBA[\\x80-\\xBF]|\\xE7\\xBB[\\x80-\\xBF]|\\xE7\\xBC[\\x80-\\xBF]|\\xE7\\xBD[\\x80-\\xBF]|\\xE7\\xBE[\\x80-\\xBF]|\\xE7\\xBF[\\x80-\\xBF]|\\xE8\\x80[\\x80-\\xBF]|\\xE8\\x81[\\x80-\\xBF]|\\xE8\\x82[\\x80-\\xBF]|\\xE8\\x83[\\x80-\\xBF]|\\xE8\\x84[\\x80-\\xBF]|\\xE8\\x85[\\x80-\\xBF]|\\xE8\\x86[\\x80-\\xBF]|\\xE8\\x87[\\x80-\\xBF]|\\xE8\\x88[\\x80-\\xBF]|\\xE8\\x89[\\x80-\\xBF]|\\xE8\\x8A[\\x80-\\xBF]|\\xE8\\x8B[\\x80-\\xBF]|\\xE8\\x8C[\\x80-\\xBF]|\\xE8\\x8D[\\x80-\\xBF]|\\xE8\\x8E[\\x80-\\xBF]|\\xE8\\x8F[\\x80-\\xBF]|\\xE8\\x90[\\x80-\\xBF]|\\xE8\\x91[\\x80-\\xBF]|\\xE8\\x92[\\x80-\\xBF]|\\xE8\\x93[\\x80-\\xBF]|\\xE8\\x94[\\x80-\\xBF]|\\xE8\\x95[\\x80-\\xBF]|\\xE8\\x96[\\x80-\\xBF]|\\xE8\\x97[\\x80-\\xBF]|\\xE8\\x98[\\x80-\\xBF]|\\xE8\\x99[\\x80-\\xBF]|\\xE8\\x9A[\\x80-\\xBF]|\\xE8\\x9B[\\x80-\\xBF]|\\xE8\\x9C[\\x80-\\xBF]|\\xE8\\x9D[\\x80-\\xBF]|\\xE8\\x9E[\\x80-\\xBF]|\\xE8\\x9F[\\x80-\\xBF]|\\xE8\\xA0[\\x80-\\xBF]|\\xE8\\xA1[\\x80-\\xBF]|\\xE8\\xA2[\\x80-\\xBF]|\\xE8\\xA3[\\x80-\\xBF]|\\xE8\\xA4[\\x80-\\xBF]|\\xE8\\xA5[\\x80-\\xBF]|\\xE8\\xA6[\\x80-\\xBF]|\\xE8\\xA7[\\x80-\\xBF]|\\xE8\\xA8[\\x80-\\xBF]|\\xE8\\xA9[\\x80-\\xBF]|\\xE8\\xAA[\\x80-\\xBF]|\\xE8\\xAB[\\x80-\\xBF]|\\xE8\\xAC[\\x80-\\xBF]|\\xE8\\xAD[\\x80-\\xBF]|\\xE8\\xAE[\\x80-\\xBF]|\\xE8\\xAF[\\x80-\\xBF]|\\xE8\\xB0[\\x80-\\xBF]|\\xE8\\xB1[\\x80-\\xBF]|\\xE8\\xB2[\\x80-\\xBF]|\\xE8\\xB3[\\x80-\\xBF]|\\xE8\\xB4[\\x80-\\xBF]|\\xE8\\xB5[\\x80-\\xBF]|\\xE8\\xB6[\\x80-\\xBF]|\\xE8\\xB7[\\x80-\\xBF]|\\xE8\\xB8[\\x80-\\xBF]|\\xE8\\xB9[\\x80-\\xBF]|\\xE8\\xBA[\\x80-\\xBF]|\\xE8\\xBB[\\x80-\\xBF]|\\xE8\\xBC[\\x80-\\xBF]|\\xE8\\xBD[\\x80-\\xBF]|\\xE8\\xBE[\\x80-\\xBF]|\\xE8\\xBF[\\x80-\\xBF]|\\xE9\\x80[\\x80-\\xBF]|\\xE9\\x81[\\x80-\\xBF]|\\xE9\\x82[\\x80-\\xBF]|\\xE9\\x83[\\x80-\\xBF]|\\xE9\\x84[\\x80-\\xBF]|\\xE9\\x85[\\x80-\\xBF]|\\xE9\\x86[\\x80-\\xBF]|\\xE9\\x87[\\x80-\\xBF]|\\xE9\\x88[\\x80-\\xBF]|\\xE9\\x89[\\x80-\\xBF]|\\xE9\\x8A[\\x80-\\xBF]|\\xE9\\x8B[\\x80-\\xBF]|\\xE9\\x8C[\\x80-\\xBF]|\\xE9\\x8D[\\x80-\\xBF]|\\xE9\\x8E[\\x80-\\xBF]|\\xE9\\x8F[\\x80-\\xBF]|\\xE9\\x90[\\x80-\\xBF]|\\xE9\\x91[\\x80-\\xBF]|\\xE9\\x92[\\x80-\\xBF]|\\xE9\\x93[\\x80-\\xBF]|\\xE9\\x94[\\x80-\\xBF]|\\xE9\\x95[\\x80-\\xBF]|\\xE9\\x96[\\x80-\\xBF]|\\xE9\\x97[\\x80-\\xBF]|\\xE9\\x98[\\x80-\\xBF]|\\xE9\\x99[\\x80-\\xBF]|\\xE9\\x9A[\\x80-\\xBF]|\\xE9\\x9B[\\x80-\\xBF]|\\xE9\\x9C[\\x80-\\xBF]|\\xE9\\x9D[\\x80-\\xBF]|\\xE9\\x9E[\\x80-\\xBF]|\\xE9\\x9F[\\x80-\\xBF]|\\xE9\\xA0[\\x80-\\xBF]|\\xE9\\xA1[\\x80-\\xBF]|\\xE9\\xA2[\\x80-\\xBF]|\\xE9\\xA3[\\x80-\\xBF]|\\xE9\\xA4[\\x80-\\xBF]|\\xE9\\xA5[\\x80-\\xBF]|\\xE9\\xA6[\\x80-\\xBF]|\\xE9\\xA7[\\x80-\\xBF]|\\xE9\\xA8[\\x80-\\xBF]|\\xE9\\xA9[\\x80-\\xBF]|\\xE9\\xAA[\\x80-\\xBF]|\\xE9\\xAB[\\x80-\\xBF]|\\xE9\\xAC[\\x80-\\xBF]|\\xE9\\xAD[\\x80-\\xBF]|\\xE9\\xAE[\\x80-\\xBF]|\\xE9\\xAF[\\x80-\\xBF]|\\xE9\\xB0[\\x80-\\xBF]|\\xE9\\xB1[\\x80-\\xBF]|\\xE9\\xB2[\\x80-\\xBF]|\\xE9\\xB3[\\x80-\\xBF]|\\xE9\\xB4[\\x80-\\xBF]|\\xE9\\xB5[\\x80-\\xBF]|\\xE9\\xB6[\\x80-\\xBF]|\\xE9\\xB7[\\x80-\\xBF]|\\xE9\\xB8[\\x80-\\xBF]|\\xE9\\xB9[\\x80-\\xBF]|\\xE9\\xBA[\\x80-\\xBF]|\\xE9\\xBB[\\x80-\\xBF]|\\xE9\\xBC[\\x80-\\xBF]|\\xE9\\xBD[\\x80-\\xBF]|\\xE9\\xBE[\\x80-\\xBF]|\\xE9\\xBF[\\x80-\\xBF]|\\xEA\\x80[\\x80-\\xBF]|\\xEA\\x81[\\x80-\\xBF]|\\xEA\\x82[\\x80-\\xBF]|\\xEA\\x83[\\x80-\\xBF]|\\xEA\\x84[\\x80-\\xBF]|\\xEA\\x85[\\x80-\\xBF]|\\xEA\\x86[\\x80-\\xBF]|\\xEA\\x87[\\x80-\\xBF]|\\xEA\\x88[\\x80-\\xBF]|\\xEA\\x89[\\x80-\\xBF]|\\xEA\\x8A[\\x80-\\xBF]|\\xEA\\x8B[\\x80-\\xBF]|\\xEA\\x8C[\\x80-\\xBF]|\\xEA\\x8D[\\x80-\\xBF]|\\xEA\\x8E[\\x80-\\xBF]|\\xEA\\x8F[\\x80-\\xBF]|\\xEA\\x90[\\x80-\\xBF]|\\xEA\\x91[\\x80-\\xBF]|\\xEA\\x92[\\x80-\\xBF]|\\xEA\\x93[\\x80-\\xBF]|\\xEA\\x94[\\x80-\\xBF]|\\xEA\\x95[\\x80-\\xBF]|\\xEA\\x96[\\x80-\\xBF]|\\xEA\\x97[\\x80-\\xBF]|\\xEA\\x98[\\x80-\\xBF]|\\xEA\\x99[\\x80-\\xBF]|\\xEA\\x9A[\\x80-\\xBF]|\\xEA\\x9B[\\x80-\\xBF]|\\xEA\\x9C[\\x80-\\xBF]|\\xEA\\x9D[\\x80-\\xBF]|\\xEA\\x9E[\\x80-\\xBF]|\\xEA\\x9F[\\x80-\\xBF]|\\xEA\\xA0[\\x80-\\xBF]|\\xEA\\xA1[\\x80-\\xBF]|\\xEA\\xA2[\\x80-\\xBF]|\\xEA\\xA3[\\x80-\\xBF]|\\xEA\\xA4[\\x80-\\xBF]|\\xEA\\xA5[\\x80-\\xBF]|\\xEA\\xA6[\\x80-\\xBF]|\\xEA\\xA7[\\x80-\\xBF]|\\xEA\\xA8[\\x80-\\xBF]|\\xEA\\xA9[\\x80-\\xBF]|\\xEA\\xAA[\\x80-\\xBF]|\\xEA\\xAB[\\x80-\\xBF]|\\xEA\\xAC[\\x80-\\xBF]|\\xEA\\xAD[\\x80-\\xBF]|\\xEA\\xAE[\\x80-\\xBF]|\\xEA\\xAF[\\x80-\\xBF]|\\xEA\\xB0[\\x80-\\xBF]|\\xEA\\xB1[\\x80-\\xBF]|\\xEA\\xB2[\\x80-\\xBF]|\\xEA\\xB3[\\x80-\\xBF]|\\xEA\\xB4[\\x80-\\xBF]|\\xEA\\xB5[\\x80-\\xBF]|\\xEA\\xB6[\\x80-\\xBF]|\\xEA\\xB7[\\x80-\\xBF]|\\xEA\\xB8[\\x80-\\xBF]|\\xEA\\xB9[\\x80-\\xBF]|\\xEA\\xBA[\\x80-\\xBF]|\\xEA\\xBB[\\x80-\\xBF]|\\xEA\\xBC[\\x80-\\xBF]|\\xEA\\xBD[\\x80-\\xBF]|\\xEA\\xBE[\\x80-\\xBF]|\\xEA\\xBF[\\x80-\\xBF]|\\xEB\\x80[\\x80-\\xBF]|\\xEB\\x81[\\x80-\\xBF]|\\xEB\\x82[\\x80-\\xBF]|\\xEB\\x83[\\x80-\\xBF]|\\xEB\\x84[\\x80-\\xBF]|\\xEB\\x85[\\x80-\\xBF]|\\xEB\\x86[\\x80-\\xBF]|\\xEB\\x87[\\x80-\\xBF]|\\xEB\\x88[\\x80-\\xBF]|\\xEB\\x89[\\x80-\\xBF]|\\xEB\\x8A[\\x80-\\xBF]|\\xEB\\x8B[\\x80-\\xBF]|\\xEB\\x8C[\\x80-\\xBF]|\\xEB\\x8D[\\x80-\\xBF]|\\xEB\\x8E[\\x80-\\xBF]|\\xEB\\x8F[\\x80-\\xBF]|\\xEB\\x90[\\x80-\\xBF]|\\xEB\\x91[\\x80-\\xBF]|\\xEB\\x92[\\x80-\\xBF]|\\xEB\\x93[\\x80-\\xBF]|\\xEB\\x94[\\x80-\\xBF]|\\xEB\\x95[\\x80-\\xBF]|\\xEB\\x96[\\x80-\\xBF]|\\xEB\\x97[\\x80-\\xBF]|\\xEB\\x98[\\x80-\\xBF]|\\xEB\\x99[\\x80-\\xBF]|\\xEB\\x9A[\\x80-\\xBF]|\\xEB\\x9B[\\x80-\\xBF]|\\xEB\\x9C[\\x80-\\xBF]|\\xEB\\x9D[\\x80-\\xBF]|\\xEB\\x9E[\\x80-\\xBF]|\\xEB\\x9F[\\x80-\\xBF]|\\xEB\\xA0[\\x80-\\xBF]|\\xEB\\xA1[\\x80-\\xBF]|\\xEB\\xA2[\\x80-\\xBF]|\\xEB\\xA3[\\x80-\\xBF]|\\xEB\\xA4[\\x80-\\xBF]|\\xEB\\xA5[\\x80-\\xBF]|\\xEB\\xA6[\\x80-\\xBF]|\\xEB\\xA7[\\x80-\\xBF]|\\xEB\\xA8[\\x80-\\xBF]|\\xEB\\xA9[\\x80-\\xBF]|\\xEB\\xAA[\\x80-\\xBF]|\\xEB\\xAB[\\x80-\\xBF]|\\xEB\\xAC[\\x80-\\xBF]|\\xEB\\xAD[\\x80-\\xBF]|\\xEB\\xAE[\\x80-\\xBF]|\\xEB\\xAF[\\x80-\\xBF]|\\xEB\\xB0[\\x80-\\xBF]|\\xEB\\xB1[\\x80-\\xBF]|\\xEB\\xB2[\\x80-\\xBF]|\\xEB\\xB3[\\x80-\\xBF]|\\xEB\\xB4[\\x80-\\xBF]|\\xEB\\xB5[\\x80-\\xBF]|\\xEB\\xB6[\\x80-\\xBF]|\\xEB\\xB7[\\x80-\\xBF]|\\xEB\\xB8[\\x80-\\xBF]|\\xEB\\xB9[\\x80-\\xBF]|\\xEB\\xBA[\\x80-\\xBF]|\\xEB\\xBB[\\x80-\\xBF]|\\xEB\\xBC[\\x80-\\xBF]|\\xEB\\xBD[\\x80-\\xBF]|\\xEB\\xBE[\\x80-\\xBF]|\\xEB\\xBF[\\x80-\\xBF]|\\xEC\\x80[\\x80-\\xBF]|\\xEC\\x81[\\x80-\\xBF]|\\xEC\\x82[\\x80-\\xBF]|\\xEC\\x83[\\x80-\\xBF]|\\xEC\\x84[\\x80-\\xBF]|\\xEC\\x85[\\x80-\\xBF]|\\xEC\\x86[\\x80-\\xBF]|\\xEC\\x87[\\x80-\\xBF]|\\xEC\\x88[\\x80-\\xBF]|\\xEC\\x89[\\x80-\\xBF]|\\xEC\\x8A[\\x80-\\xBF]|\\xEC\\x8B[\\x80-\\xBF]|\\xEC\\x8C[\\x80-\\xBF]|\\xEC\\x8D[\\x80-\\xBF]|\\xEC\\x8E[\\x80-\\xBF]|\\xEC\\x8F[\\x80-\\xBF]|\\xEC\\x90[\\x80-\\xBF]|\\xEC\\x91[\\x80-\\xBF]|\\xEC\\x92[\\x80-\\xBF]|\\xEC\\x93[\\x80-\\xBF]|\\xEC\\x94[\\x80-\\xBF]|\\xEC\\x95[\\x80-\\xBF]|\\xEC\\x96[\\x80-\\xBF]|\\xEC\\x97[\\x80-\\xBF]|\\xEC\\x98[\\x80-\\xBF]|\\xEC\\x99[\\x80-\\xBF]|\\xEC\\x9A[\\x80-\\xBF]|\\xEC\\x9B[\\x80-\\xBF]|\\xEC\\x9C[\\x80-\\xBF]|\\xEC\\x9D[\\x80-\\xBF]|\\xEC\\x9E[\\x80-\\xBF]|\\xEC\\x9F[\\x80-\\xBF]|\\xEC\\xA0[\\x80-\\xBF]|\\xEC\\xA1[\\x80-\\xBF]|\\xEC\\xA2[\\x80-\\xBF]|\\xEC\\xA3[\\x80-\\xBF]|\\xEC\\xA4[\\x80-\\xBF]|\\xEC\\xA5[\\x80-\\xBF]|\\xEC\\xA6[\\x80-\\xBF]|\\xEC\\xA7[\\x80-\\xBF]|\\xEC\\xA8[\\x80-\\xBF]|\\xEC\\xA9[\\x80-\\xBF]|\\xEC\\xAA[\\x80-\\xBF]|\\xEC\\xAB[\\x80-\\xBF]|\\xEC\\xAC[\\x80-\\xBF]|\\xEC\\xAD[\\x80-\\xBF]|\\xEC\\xAE[\\x80-\\xBF]|\\xEC\\xAF[\\x80-\\xBF]|\\xEC\\xB0[\\x80-\\xBF]|\\xEC\\xB1[\\x80-\\xBF]|\\xEC\\xB2[\\x80-\\xBF]|\\xEC\\xB3[\\x80-\\xBF]|\\xEC\\xB4[\\x80-\\xBF]|\\xEC\\xB5[\\x80-\\xBF]|\\xEC\\xB6[\\x80-\\xBF]|\\xEC\\xB7[\\x80-\\xBF]|\\xEC\\xB8[\\x80-\\xBF]|\\xEC\\xB9[\\x80-\\xBF]|\\xEC\\xBA[\\x80-\\xBF]|\\xEC\\xBB[\\x80-\\xBF]|\\xEC\\xBC[\\x80-\\xBF]|\\xEC\\xBD[\\x80-\\xBF]|\\xEC\\xBE[\\x80-\\xBF]|\\xEC\\xBF[\\x80-\\xBF]|\\xED\\x80[\\x80-\\xBF]|\\xED\\x81[\\x80-\\xBF]|\\xED\\x82[\\x80-\\xBF]|\\xED\\x83[\\x80-\\xBF]|\\xED\\x84[\\x80-\\xBF]|\\xED\\x85[\\x80-\\xBF]|\\xED\\x86[\\x80-\\xBF]|\\xED\\x87[\\x80-\\xBF]|\\xED\\x88[\\x80-\\xBF]|\\xED\\x89[\\x80-\\xBF]|\\xED\\x8A[\\x80-\\xBF]|\\xED\\x8B[\\x80-\\xBF]|\\xED\\x8C[\\x80-\\xBF]|\\xED\\x8D[\\x80-\\xBF]|\\xED\\x8E[\\x80-\\xBF]|\\xED\\x8F[\\x80-\\xBF]|\\xED\\x90[\\x80-\\xBF]|\\xED\\x91[\\x80-\\xBF]|\\xED\\x92[\\x80-\\xBF]|\\xED\\x93[\\x80-\\xBF]|\\xED\\x94[\\x80-\\xBF]|\\xED\\x95[\\x80-\\xBF]|\\xED\\x96[\\x80-\\xBF]|\\xED\\x97[\\x80-\\xBF]|\\xED\\x98[\\x80-\\xBF]|\\xED\\x99[\\x80-\\xBF]|\\xED\\x9A[\\x80-\\xBF]|\\xED\\x9B[\\x80-\\xBF]|\\xED\\x9C[\\x80-\\xBF]|\\xED\\x9D[\\x80-\\xBF]|\\xED\\x9E[\\x80-\\xBF]|\\xED\\x9F[\\x80-\\xBF]|\\xEF\\xA4[\\x80-\\xBF]|\\xEF\\xA5[\\x80-\\xBF]|\\xEF\\xA6[\\x80-\\xBF]|\\xEF\\xA7[\\x80-\\xBF]|\\xEF\\xA8[\\x80-\\xBF]|\\xEF\\xA9[\\x80-\\xBF]|\\xEF\\xAA[\\x80-\\xBF]|\\xEF\\xAB[\\x80-\\xBF]|\\xEF\\xAC[\\x80-\\xBF]|\\xEF\\xAD[\\x80-\\xBF]|\\xEF\\xAE[\\x80-\\xBF]|\\xEF\\xAF[\\x80-\\xBF]|\\xEF\\xB0[\\x80-\\xBF]|\\xEF\\xB1[\\x80-\\xBF]|\\xEF\\xB2[\\x80-\\xBF]|\\xEF\\xB3[\\x80-\\xBF]|\\xEF\\xB4[\\x80-\\xBF]|\\xEF\\xB5[\\x80-\\xBF]|\\xEF\\xB6[\\x80-\\xBF]|\\xEF\\xB7[\\x80-\\x8F]|\\xEF\\xB7[\\xB0-\\xBF]|\\xEF\\xB8[\\x80-\\xBF]|\\xEF\\xB9[\\x80-\\xBF]|\\xEF\\xBA[\\x80-\\xBF]|\\xEF\\xBB[\\x80-\\xBF]|\\xEF\\xBC[\\x80-\\xBF]|\\xEF\\xBD[\\x80-\\xBF]|\\xEF\\xBE[\\x80-\\xBF]|\\xEF\\xBF[\\x80-\\xBD]|\\x2D|\\x2E|[\\x30-\\x39]|\\xC2\\xB7|\\xCC[\\x80-\\xBF]|\\xCD[\\x80-\\xAF]|\\xE2\\x80\\xBF|\\xE2\\x81\\x80)+$" +} diff --git a/test/w3c/xmlschema/2001/name.test.json b/test/w3c/xmlschema/2001/name.test.json new file mode 100644 index 0000000..d80beb5 --- /dev/null +++ b/test/w3c/xmlschema/2001/name.test.json @@ -0,0 +1,553 @@ +{ + "x-license": "https://github.com/sourcemeta/std/blob/main/LICENSE", + "target": "../../../../schemas/w3c/xmlschema/2001/name.json", + "tests": [ + { + "description": "Valid - simple ASCII letters", + "data": "element", + "valid": true + }, + { + "description": "Valid - with underscore prefix", + "data": "_private", + "valid": true + }, + { + "description": "Valid - with colon (namespace)", + "data": "my:name", + "valid": true + }, + { + "description": "Valid - CamelCase", + "data": "CamelCase", + "valid": true + }, + { + "description": "Valid - with hyphen", + "data": "element-name", + "valid": true + }, + { + "description": "Valid - with period", + "data": "element.name", + "valid": true + }, + { + "description": "Valid - with digits", + "data": "element123", + "valid": true + }, + { + "description": "Valid - single letter", + "data": "a", + "valid": true + }, + { + "description": "Valid - single underscore", + "data": "_", + "valid": true + }, + { + "description": "Valid - single colon", + "data": ":", + "valid": true + }, + { + "description": "Valid - uppercase letters", + "data": "ELEMENT", + "valid": true + }, + { + "description": "Valid - lowercase letters", + "data": "element", + "valid": true + }, + { + "description": "Valid - Greek letters", + "data": "στοιχείο", + "valid": true + }, + { + "description": "Valid - Cyrillic letters", + "data": "элемент", + "valid": true + }, + { + "description": "Valid - Chinese characters", + "data": "数据", + "valid": true + }, + { + "description": "Valid - Japanese katakana", + "data": "データ", + "valid": true + }, + { + "description": "Valid - Arabic characters", + "data": "عنصر", + "valid": true + }, + { + "description": "Valid - Hebrew characters", + "data": "רכיב", + "valid": true + }, + { + "description": "Valid - French with accents", + "data": "données", + "valid": true + }, + { + "description": "Valid - German with umlauts", + "data": "Größe", + "valid": true + }, + { + "description": "Valid - complex name", + "data": "my:element-name_v2.0", + "valid": true + }, + { + "description": "Invalid: starts with digit", + "data": "9element", + "valid": false + }, + { + "description": "Invalid: starts with hyphen", + "data": "-element", + "valid": false + }, + { + "description": "Invalid: starts with period", + "data": ".element", + "valid": false + }, + { + "description": "Invalid: empty string", + "data": "", + "valid": false + }, + { + "description": "Invalid: whitespace only", + "data": " ", + "valid": false + }, + { + "description": "Invalid: contains space", + "data": "my element", + "valid": false + }, + { + "description": "Invalid: contains tab", + "data": "my\telement", + "valid": false + }, + { + "description": "Invalid: contains newline", + "data": "my\nelement", + "valid": false + }, + { + "description": "Invalid: leading space", + "data": " element", + "valid": false + }, + { + "description": "Invalid: trailing space", + "data": "element ", + "valid": false + }, + { + "description": "Invalid: contains @", + "data": "my@element", + "valid": false + }, + { + "description": "Invalid: contains #", + "data": "my#element", + "valid": false + }, + { + "description": "Invalid: contains $", + "data": "my$element", + "valid": false + }, + { + "description": "Invalid: contains %", + "data": "my%element", + "valid": false + }, + { + "description": "Invalid: contains &", + "data": "my&element", + "valid": false + }, + { + "description": "Invalid: contains *", + "data": "my*element", + "valid": false + }, + { + "description": "Invalid: contains +", + "data": "my+element", + "valid": false + }, + { + "description": "Invalid: contains =", + "data": "my=element", + "valid": false + }, + { + "description": "Invalid: contains !", + "data": "my!element", + "valid": false + }, + { + "description": "Invalid: contains ?", + "data": "my?element", + "valid": false + }, + { + "description": "Invalid: contains brackets", + "data": "my[element]", + "valid": false + }, + { + "description": "Invalid: contains parentheses", + "data": "my(element)", + "valid": false + }, + { + "description": "Invalid: contains braces", + "data": "my{element}", + "valid": false + }, + { + "description": "Invalid: contains angle brackets", + "data": "", + "valid": false + }, + { + "description": "Invalid: contains slash", + "data": "my/element", + "valid": false + }, + { + "description": "Invalid: contains backslash", + "data": "my\\element", + "valid": false + }, + { + "description": "Invalid: contains pipe", + "data": "my|element", + "valid": false + }, + { + "description": "Invalid: contains semicolon", + "data": "my;element", + "valid": false + }, + { + "description": "Invalid: contains comma", + "data": "my,element", + "valid": false + }, + { + "description": "Invalid: contains quote", + "data": "my\"element", + "valid": false + }, + { + "description": "Invalid: contains apostrophe", + "data": "my'element", + "valid": false + }, + { + "description": "Invalid: number type", + "data": 123, + "valid": false + }, + { + "description": "Invalid: boolean type", + "data": true, + "valid": false + }, + { + "description": "Invalid: null type", + "data": null, + "valid": false + }, + { + "description": "Invalid: array type", + "data": [ "element" ], + "valid": false + }, + { + "description": "Invalid: object type", + "data": { + "name": "element" + }, + "valid": false + }, + { + "description": "Valid - with combining grave accent", + "data": "àb", + "valid": true + }, + { + "description": "Valid - with combining acute accent", + "data": "élement", + "valid": true + }, + { + "description": "Valid - with combining diacritical mark", + "data": "tesẗing", + "valid": true + }, + { + "description": "Valid - letter with combining at end", + "data": "dataͯ", + "valid": true + }, + { + "description": "Invalid: starts with combining character", + "data": "̀element", + "valid": false + }, + { + "description": "Invalid: starts with combining acute", + "data": "́test", + "valid": false + }, + { + "description": "Valid - with undertie ‿", + "data": "a‿b", + "valid": true + }, + { + "description": "Valid - with character tie ⁀", + "data": "x⁀y", + "valid": true + }, + { + "description": "Invalid: starts with undertie", + "data": "‿element", + "valid": false + }, + { + "description": "Invalid: starts with character tie", + "data": "⁀element", + "valid": false + }, + { + "description": "Valid - with ZWNJ", + "data": "ele‌ment", + "valid": true + }, + { + "description": "Valid - with ZWJ", + "data": "ele‍ment", + "valid": true + }, + { + "description": "Valid - starting with ZWNJ", + "data": "‌start", + "valid": true + }, + { + "description": "Valid - starting with ZWJ", + "data": "‍start", + "valid": true + }, + { + "description": "Invalid: contains carriage return", + "data": "data\rvalue", + "valid": false + }, + { + "description": "Invalid: contains null character", + "data": "data\u0000value", + "valid": false + }, + { + "description": "Invalid: contains vertical tab", + "data": "data\u000Bvalue", + "valid": false + }, + { + "description": "Invalid: contains form feed", + "data": "data\fvalue", + "valid": false + }, + { + "description": "Invalid: contains bell character", + "data": "data\u0007value", + "valid": false + }, + { + "description": "Invalid: contains escape character", + "data": "data\u001Bvalue", + "valid": false + }, + { + "description": "Invalid: starts with null", + "data": "\u0000data", + "valid": false + }, + { + "description": "Valid - U+00C0 (À) start of Latin-1 Supplement", + "data": "À", + "valid": true + }, + { + "description": "Valid - U+D7FF last before surrogate block", + "data": "퟿", + "valid": true + }, + { + "description": "Valid - U+F900 start of CJK Compatibility", + "data": "豈", + "valid": true + }, + { + "description": "Valid - U+FDCF end of Arabic Presentation", + "data": "﷏", + "valid": true + }, + { + "description": "Valid - U+FDF0 start of Arabic Presentation-B", + "data": "ﷰ", + "valid": true + }, + { + "description": "Valid - U+FFFD replacement character", + "data": "�", + "valid": true + }, + { + "description": "Valid - multiple colons", + "data": "a:b:c:d", + "valid": true + }, + { + "description": "Valid - consecutive colons", + "data": "a::b", + "valid": true + }, + { + "description": "Valid - alternating special chars", + "data": "a-b.c_d:e", + "valid": true + }, + { + "description": "Valid - middle dot in middle", + "data": "a·b", + "valid": true + }, + { + "description": "Valid - middle dot at end", + "data": "test·", + "valid": true + }, + { + "description": "Invalid: starts with middle dot", + "data": "·test", + "valid": false + }, + { + "description": "Valid - very long ASCII", + "data": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "valid": true + }, + { + "description": "Valid - very long Unicode", + "data": "中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中", + "valid": true + }, + { + "description": "Valid - very long with allowed chars", + "data": "aZ09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·Z09-._:·", + "valid": true + }, + { + "description": "Valid - mixed Latin and Greek", + "data": "testδοκιμή123", + "valid": true + }, + { + "description": "Valid - mixed Arabic and digits", + "data": "test123بيانات456", + "valid": true + }, + { + "description": "Valid - mixed scripts with special chars", + "data": "test_中文_データ_тест", + "valid": true + }, + { + "description": "Valid - colon at start", + "data": ":name", + "valid": true + }, + { + "description": "Valid - colon at end", + "data": "name:", + "valid": true + }, + { + "description": "Valid - multiple colons at start", + "data": "::name", + "valid": true + }, + { + "description": "Valid - multiple underscores", + "data": "___test___", + "valid": true + }, + { + "description": "Valid - underscore at end", + "data": "test_", + "valid": true + }, + { + "description": "Invalid: contains DEL character", + "data": "datavalue", + "valid": false + }, + { + "description": "Invalid: starts with 0", + "data": "0element", + "valid": false + }, + { + "description": "Invalid: starts with multiple digits", + "data": "123element", + "valid": false + }, + { + "description": "Valid - only underscores", + "data": "___", + "valid": true + }, + { + "description": "Valid - only colons", + "data": ":::", + "valid": true + }, + { + "description": "Valid - digit after first char", + "data": "a0", + "valid": true + }, + { + "description": "Valid - hyphen after first char", + "data": "a-", + "valid": true + }, + { + "description": "Valid - period after first char", + "data": "a.", + "valid": true + } + ] +} diff --git a/test/w3c/xmlschema/2001/nmtoken.test.json b/test/w3c/xmlschema/2001/nmtoken.test.json new file mode 100644 index 0000000..d445afd --- /dev/null +++ b/test/w3c/xmlschema/2001/nmtoken.test.json @@ -0,0 +1,493 @@ +{ + "x-license": "https://github.com/sourcemeta/std/blob/main/LICENSE", + "target": "../../../../schemas/w3c/xmlschema/2001/nmtoken.json", + "tests": [ + { + "description": "Valid - simple ASCII letters", + "data": "abc", + "valid": true + }, + { + "description": "Valid - mixed case ASCII", + "data": "AbCdEf", + "valid": true + }, + { + "description": "Valid - digits only", + "data": "123", + "valid": true + }, + { + "description": "Valid - letters and digits", + "data": "abc123", + "valid": true + }, + { + "description": "Valid - with hyphen", + "data": "data-value", + "valid": true + }, + { + "description": "Valid - with period", + "data": "element.name", + "valid": true + }, + { + "description": "Valid - with colon", + "data": "with:colon", + "valid": true + }, + { + "description": "Valid - with underscore", + "data": "_underscore", + "valid": true + }, + { + "description": "Valid - CamelCase", + "data": "CamelCase", + "valid": true + }, + { + "description": "Valid - starting with digit", + "data": "9abc", + "valid": true + }, + { + "description": "Valid - starting with hyphen", + "data": "-value", + "valid": true + }, + { + "description": "Valid - starting with period", + "data": ".value", + "valid": true + }, + { + "description": "Valid - single character", + "data": "a", + "valid": true + }, + { + "description": "Valid - single digit", + "data": "9", + "valid": true + }, + { + "description": "Valid - Greek letters", + "data": "με", + "valid": true + }, + { + "description": "Valid - Cyrillic letters", + "data": "данные", + "valid": true + }, + { + "description": "Valid - Chinese characters", + "data": "中文", + "valid": true + }, + { + "description": "Valid - Japanese hiragana", + "data": "データ", + "valid": true + }, + { + "description": "Valid - Arabic characters", + "data": "بيانات", + "valid": true + }, + { + "description": "Valid - Hebrew characters", + "data": "נתונים", + "valid": true + }, + { + "description": "Valid - mixed Latin Extended", + "data": "café", + "valid": true + }, + { + "description": "Valid - with middle dot (·)", + "data": "l·l", + "valid": true + }, + { + "description": "Valid - complex mixed", + "data": "element-name_123.value:type", + "valid": true + }, + { + "description": "Invalid: empty string", + "data": "", + "valid": false + }, + { + "description": "Invalid: whitespace only", + "data": " ", + "valid": false + }, + { + "description": "Invalid: contains space", + "data": "data value", + "valid": false + }, + { + "description": "Invalid: contains tab", + "data": "data\tvalue", + "valid": false + }, + { + "description": "Invalid: contains newline", + "data": "data\nvalue", + "valid": false + }, + { + "description": "Invalid: leading space", + "data": " data", + "valid": false + }, + { + "description": "Invalid: trailing space", + "data": "data ", + "valid": false + }, + { + "description": "Invalid: contains special char @", + "data": "data@value", + "valid": false + }, + { + "description": "Invalid: contains special char #", + "data": "data#value", + "valid": false + }, + { + "description": "Invalid: contains special char $", + "data": "data$value", + "valid": false + }, + { + "description": "Invalid: contains special char %", + "data": "data%value", + "valid": false + }, + { + "description": "Invalid: contains special char &", + "data": "data&value", + "valid": false + }, + { + "description": "Invalid: contains special char *", + "data": "data*value", + "valid": false + }, + { + "description": "Invalid: contains special char +", + "data": "data+value", + "valid": false + }, + { + "description": "Invalid: contains special char =", + "data": "data=value", + "valid": false + }, + { + "description": "Invalid: contains special char !", + "data": "data!value", + "valid": false + }, + { + "description": "Invalid: contains special char ?", + "data": "data?value", + "valid": false + }, + { + "description": "Invalid: contains brackets", + "data": "data[value]", + "valid": false + }, + { + "description": "Invalid: contains parentheses", + "data": "data(value)", + "valid": false + }, + { + "description": "Invalid: contains braces", + "data": "data{value}", + "valid": false + }, + { + "description": "Invalid: contains angle brackets", + "data": "data", + "valid": false + }, + { + "description": "Invalid: contains slash", + "data": "data/value", + "valid": false + }, + { + "description": "Invalid: contains backslash", + "data": "data\\value", + "valid": false + }, + { + "description": "Invalid: contains pipe", + "data": "data|value", + "valid": false + }, + { + "description": "Invalid: contains semicolon", + "data": "data;value", + "valid": false + }, + { + "description": "Invalid: contains comma", + "data": "data,value", + "valid": false + }, + { + "description": "Invalid: contains quote", + "data": "data\"value", + "valid": false + }, + { + "description": "Invalid: contains apostrophe", + "data": "data'value", + "valid": false + }, + { + "description": "Invalid: number type", + "data": 123, + "valid": false + }, + { + "description": "Invalid: boolean type", + "data": true, + "valid": false + }, + { + "description": "Invalid: null type", + "data": null, + "valid": false + }, + { + "description": "Invalid: array type", + "data": [ "value" ], + "valid": false + }, + { + "description": "Invalid: object type", + "data": { + "name": "value" + }, + "valid": false + }, + { + "description": "Valid - with combining grave accent", + "data": "àb", + "valid": true + }, + { + "description": "Valid - with combining acute accent", + "data": "élement", + "valid": true + }, + { + "description": "Valid - with combining diacritical mark", + "data": "tesẗing", + "valid": true + }, + { + "description": "Valid - letter with combining at end", + "data": "dataͯ", + "valid": true + }, + { + "description": "Valid - with undertie ‿", + "data": "a‿b", + "valid": true + }, + { + "description": "Valid - with character tie ⁀", + "data": "x⁀y", + "valid": true + }, + { + "description": "Valid - with ZWNJ", + "data": "ele‌ment", + "valid": true + }, + { + "description": "Valid - with ZWJ", + "data": "ele‍ment", + "valid": true + }, + { + "description": "Valid - starting with ZWNJ", + "data": "‌start", + "valid": true + }, + { + "description": "Valid - starting with ZWJ", + "data": "‍start", + "valid": true + }, + { + "description": "Invalid: contains carriage return", + "data": "data\rvalue", + "valid": false + }, + { + "description": "Invalid: contains null character", + "data": "data\u0000value", + "valid": false + }, + { + "description": "Invalid: contains vertical tab", + "data": "data\u000Bvalue", + "valid": false + }, + { + "description": "Invalid: contains form feed", + "data": "data\fvalue", + "valid": false + }, + { + "description": "Invalid: contains bell character", + "data": "data\u0007value", + "valid": false + }, + { + "description": "Invalid: contains escape character", + "data": "data\u001Bvalue", + "valid": false + }, + { + "description": "Invalid: starts with null", + "data": "\u0000data", + "valid": false + }, + { + "description": "Valid - U+00C0 (À) start of Latin-1 Supplement", + "data": "À", + "valid": true + }, + { + "description": "Valid - U+D7FF last before surrogate block", + "data": "퟿", + "valid": true + }, + { + "description": "Valid - U+F900 start of CJK Compatibility", + "data": "豈", + "valid": true + }, + { + "description": "Valid - U+FDCF end of Arabic Presentation", + "data": "﷏", + "valid": true + }, + { + "description": "Valid - U+FDF0 start of Arabic Presentation-B", + "data": "ﷰ", + "valid": true + }, + { + "description": "Valid - U+FFFD replacement character", + "data": "�", + "valid": true + }, + { + "description": "Valid - multiple colons", + "data": "a:b:c:d", + "valid": true + }, + { + "description": "Valid - consecutive colons", + "data": "a::b", + "valid": true + }, + { + "description": "Valid - colon only", + "data": ":", + "valid": true + }, + { + "description": "Valid - multiple underscores", + "data": "___test___", + "valid": true + }, + { + "description": "Valid - alternating special chars", + "data": "a-b.c_d:e", + "valid": true + }, + { + "description": "Valid - starting with middle dot", + "data": "·test", + "valid": true + }, + { + "description": "Valid - ending with middle dot", + "data": "test·", + "valid": true + }, + { + "description": "Valid - multiple middle dots", + "data": "a·b·c", + "valid": true + }, + { + "description": "Valid - very long ASCII", + "data": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "valid": true + }, + { + "description": "Valid - very long Unicode", + "data": "中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中中", + "valid": true + }, + { + "description": "Valid - very long with all allowed chars", + "data": "aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·aZ09-._:·", + "valid": true + }, + { + "description": "Valid - mixed Latin and Greek", + "data": "testδοκιμή123", + "valid": true + }, + { + "description": "Valid - mixed Arabic and digits", + "data": "test123بيانات456", + "valid": true + }, + { + "description": "Valid - mixed scripts with special chars", + "data": "test_中文_データ_тест", + "valid": true + }, + { + "description": "Valid - hyphen only", + "data": "-", + "valid": true + }, + { + "description": "Valid - period only", + "data": ".", + "valid": true + }, + { + "description": "Valid - middle dot only", + "data": "·", + "valid": true + }, + { + "description": "Invalid: contains DEL character", + "data": "datavalue", + "valid": false + } + ] +}