2021-08-12 22:03:24 +03:00
package urn
import (
"fmt"
2024-03-11 13:12:06 +03:00
scimschema "github.com/leodido/go-urn/scim/schema"
2021-08-12 22:03:24 +03:00
)
var (
2024-03-11 13:12:06 +03:00
errPrefix = "expecting the prefix to be the \"urn\" string (whatever case) [col %d]"
errIdentifier = "expecting the identifier to be string (1..31 alnum chars, also containing dashes but not at its beginning) [col %d]"
errSpecificString = "expecting the specific string to be a string containing alnum, hex, or others ([()+,-.:=@;$_!*']) chars [col %d]"
errNoUrnWithinID = "expecting the identifier to not contain the \"urn\" reserved string [col %d]"
errHex = "expecting the percent encoded chars to be well-formed (%%alnum{2}) [col %d]"
errSCIMNamespace = "expecing the SCIM namespace identifier (ietf:params:scim) [col %d]"
errSCIMType = "expecting a correct SCIM type (schemas, api, param) [col %d]"
errSCIMName = "expecting one or more alnum char in the SCIM name part [col %d]"
errSCIMOther = "expecting a well-formed other SCIM part [col %d]"
errSCIMOtherIncomplete = "expecting a not empty SCIM other part after colon [col %d]"
err8141InformalID = "informal URN namespace must be in the form urn-[1-9][0-9] [col %d]"
err8141SpecificString = "expecting the specific string to contain alnum, hex, or others ([~&()+,-.:=@;$_!*'] or [/?] not in first position) chars [col %d]"
err8141Identifier = "expecting the indentifier to be a string with (length 2 to 32 chars) containing alnum (or dashes) not starting or ending with a dash [col %d]"
err8141RComponentStart = "expecting only one r-component (starting with the ?+ sequence) [col %d]"
err8141QComponentStart = "expecting only one q-component (starting with the ?= sequence) [col %d]"
err8141MalformedRComp = "expecting a non-empty r-component containing alnum, hex, or others ([~&()+,-.:=@;$_!*'] or [/?] but not at its beginning) [col %d]"
err8141MalformedQComp = "expecting a non-empty q-component containing alnum, hex, or others ([~&()+,-.:=@;$_!*'] or [/?] but not at its beginning) [col %d]"
2021-08-12 22:03:24 +03:00
)
2024-03-11 13:12:06 +03:00
var _toStateActions [ ] byte = [ ] byte {
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
0 , 0 , 0 , 33 , 0 , 0 , 0 , 0 ,
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
0 , 0 ,
}
var _eofActions [ ] byte = [ ] byte {
0 , 1 , 1 , 1 , 1 , 4 , 6 , 6 ,
6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 ,
6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 ,
6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 ,
6 , 6 , 6 , 6 , 6 , 6 , 8 , 9 ,
9 , 4 , 4 , 11 , 1 , 1 , 1 , 1 ,
12 , 12 , 12 , 12 , 12 , 12 , 12 , 12 ,
12 , 12 , 12 , 12 , 12 , 12 , 12 , 12 ,
12 , 14 , 14 , 14 , 14 , 16 , 18 , 20 ,
20 , 14 , 14 , 14 , 14 , 14 , 14 , 14 ,
14 , 14 , 14 , 1 , 1 , 1 , 1 , 21 ,
22 , 22 , 22 , 22 , 22 , 22 , 22 , 22 ,
22 , 22 , 22 , 22 , 22 , 22 , 22 , 22 ,
22 , 22 , 22 , 22 , 22 , 22 , 22 , 22 ,
22 , 22 , 22 , 22 , 22 , 22 , 22 , 22 ,
23 , 24 , 24 , 25 , 25 , 0 , 26 , 28 ,
28 , 29 , 29 , 30 , 30 , 26 , 26 , 31 ,
31 , 22 , 22 , 22 , 22 , 22 , 22 , 22 ,
22 , 22 , 22 , 22 , 22 , 22 , 22 , 22 ,
22 , 22 , 22 , 22 , 22 , 22 , 22 , 22 ,
22 , 22 , 22 , 22 , 22 , 22 , 22 , 21 ,
21 , 22 , 22 , 22 , 34 , 34 , 35 , 37 ,
37 , 38 , 40 , 41 , 41 , 38 , 42 , 42 ,
42 , 44 , 42 , 48 , 48 , 48 , 50 , 44 ,
50 , 0 ,
}
2021-08-12 22:03:24 +03:00
const start int = 1
2024-03-11 13:12:06 +03:00
const firstFinal int = 172
2021-08-12 22:03:24 +03:00
2024-03-11 13:12:06 +03:00
const enScimOnly int = 44
const enRfc8141Only int = 83
const enFail int = 193
2021-08-12 22:03:24 +03:00
const enMain int = 1
// Machine is the interface representing the FSM
type Machine interface {
Error ( ) error
Parse ( input [ ] byte ) ( * URN , error )
2024-03-11 13:12:06 +03:00
WithParsingMode ( ParsingMode )
2021-08-12 22:03:24 +03:00
}
type machine struct {
data [ ] byte
cs int
p , pe , eof , pb int
err error
2024-03-11 13:12:06 +03:00
startParsingAt int
parsingMode ParsingMode
parsingModeSet bool
2021-08-12 22:03:24 +03:00
}
// NewMachine creates a new FSM able to parse RFC 2141 strings.
2024-03-11 13:12:06 +03:00
func NewMachine ( options ... Option ) Machine {
m := & machine {
parsingModeSet : false ,
}
for _ , o := range options {
o ( m )
}
// Set default parsing mode
if ! m . parsingModeSet {
m . WithParsingMode ( DefaultParsingMode )
}
2021-08-12 22:03:24 +03:00
return m
}
// Err returns the error that occurred on the last call to Parse.
//
// If the result is nil, then the line was parsed successfully.
func ( m * machine ) Error ( ) error {
return m . err
}
func ( m * machine ) text ( ) [ ] byte {
return m . data [ m . pb : m . p ]
}
2024-03-11 13:12:06 +03:00
// Parse parses the input byte array as a RFC 2141 or RFC7643 string.
2021-08-12 22:03:24 +03:00
func ( m * machine ) Parse ( input [ ] byte ) ( * URN , error ) {
m . data = input
m . p = 0
m . pb = 0
m . pe = len ( input )
m . eof = len ( input )
m . err = nil
2024-03-11 13:12:06 +03:00
m . cs = m . startParsingAt
output := & URN {
tolower : [ ] int { } ,
2021-08-12 22:03:24 +03:00
}
{
if ( m . p ) == ( m . pe ) {
goto _testEof
}
2024-03-11 13:12:06 +03:00
if m . cs == 0 {
goto _out
}
_resume :
2021-08-12 22:03:24 +03:00
switch m . cs {
case 1 :
2024-03-11 13:12:06 +03:00
switch ( m . data ) [ ( m . p ) ] {
case 85 :
goto tr1
case 117 :
goto tr1
}
goto tr0
2021-08-12 22:03:24 +03:00
case 0 :
2024-03-11 13:12:06 +03:00
goto _out
2021-08-12 22:03:24 +03:00
case 2 :
2024-03-11 13:12:06 +03:00
switch ( m . data ) [ ( m . p ) ] {
case 82 :
goto tr2
case 114 :
goto tr2
}
goto tr0
2021-08-12 22:03:24 +03:00
case 3 :
2024-03-11 13:12:06 +03:00
switch ( m . data ) [ ( m . p ) ] {
case 78 :
goto tr3
case 110 :
goto tr3
}
goto tr0
2021-08-12 22:03:24 +03:00
case 4 :
2024-03-11 13:12:06 +03:00
if ( m . data ) [ ( m . p ) ] == 58 {
goto tr4
}
goto tr0
2021-08-12 22:03:24 +03:00
case 5 :
2024-03-11 13:12:06 +03:00
switch ( m . data ) [ ( m . p ) ] {
case 85 :
goto tr7
case 117 :
goto tr7
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr6
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr6
}
default :
goto tr6
}
goto tr5
2021-08-12 22:03:24 +03:00
case 6 :
2024-03-11 13:12:06 +03:00
switch ( m . data ) [ ( m . p ) ] {
case 45 :
goto tr9
case 58 :
goto tr10
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr9
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr9
}
default :
goto tr9
}
goto tr8
2021-08-12 22:03:24 +03:00
case 7 :
2024-03-11 13:12:06 +03:00
switch ( m . data ) [ ( m . p ) ] {
case 45 :
goto tr11
case 58 :
goto tr10
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr11
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr11
}
default :
goto tr11
}
goto tr8
2021-08-12 22:03:24 +03:00
case 8 :
2024-03-11 13:12:06 +03:00
switch ( m . data ) [ ( m . p ) ] {
case 45 :
goto tr12
case 58 :
goto tr10
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr12
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr12
}
default :
goto tr12
}
goto tr8
2021-08-12 22:03:24 +03:00
case 9 :
2024-03-11 13:12:06 +03:00
switch ( m . data ) [ ( m . p ) ] {
case 45 :
goto tr13
case 58 :
goto tr10
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr13
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr13
}
default :
goto tr13
}
goto tr8
2021-08-12 22:03:24 +03:00
case 10 :
2024-03-11 13:12:06 +03:00
switch ( m . data ) [ ( m . p ) ] {
case 45 :
goto tr14
case 58 :
goto tr10
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr14
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr14
}
default :
goto tr14
}
goto tr8
2021-08-12 22:03:24 +03:00
case 11 :
2024-03-11 13:12:06 +03:00
switch ( m . data ) [ ( m . p ) ] {
case 45 :
goto tr15
case 58 :
goto tr10
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr15
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr15
}
default :
goto tr15
}
goto tr8
2021-08-12 22:03:24 +03:00
case 12 :
2024-03-11 13:12:06 +03:00
switch ( m . data ) [ ( m . p ) ] {
case 45 :
goto tr16
case 58 :
goto tr10
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr16
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr16
}
default :
goto tr16
}
goto tr8
2021-08-12 22:03:24 +03:00
case 13 :
2024-03-11 13:12:06 +03:00
switch ( m . data ) [ ( m . p ) ] {
case 45 :
goto tr17
case 58 :
goto tr10
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr17
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr17
}
default :
goto tr17
}
goto tr8
2021-08-12 22:03:24 +03:00
case 14 :
2024-03-11 13:12:06 +03:00
switch ( m . data ) [ ( m . p ) ] {
case 45 :
goto tr18
case 58 :
goto tr10
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr18
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr18
}
default :
goto tr18
}
goto tr8
2021-08-12 22:03:24 +03:00
case 15 :
2024-03-11 13:12:06 +03:00
switch ( m . data ) [ ( m . p ) ] {
case 45 :
goto tr19
case 58 :
goto tr10
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr19
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr19
}
default :
goto tr19
}
goto tr8
2021-08-12 22:03:24 +03:00
case 16 :
2024-03-11 13:12:06 +03:00
switch ( m . data ) [ ( m . p ) ] {
case 45 :
goto tr20
case 58 :
goto tr10
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr20
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr20
}
default :
goto tr20
}
goto tr8
2021-08-12 22:03:24 +03:00
case 17 :
2024-03-11 13:12:06 +03:00
switch ( m . data ) [ ( m . p ) ] {
case 45 :
goto tr21
case 58 :
goto tr10
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr21
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr21
}
default :
goto tr21
}
goto tr8
2021-08-12 22:03:24 +03:00
case 18 :
2024-03-11 13:12:06 +03:00
switch ( m . data ) [ ( m . p ) ] {
case 45 :
goto tr22
case 58 :
goto tr10
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr22
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr22
}
default :
goto tr22
}
goto tr8
2021-08-12 22:03:24 +03:00
case 19 :
2024-03-11 13:12:06 +03:00
switch ( m . data ) [ ( m . p ) ] {
case 45 :
goto tr23
case 58 :
goto tr10
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr23
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr23
}
default :
goto tr23
}
goto tr8
2021-08-12 22:03:24 +03:00
case 20 :
2024-03-11 13:12:06 +03:00
switch ( m . data ) [ ( m . p ) ] {
case 45 :
goto tr24
case 58 :
goto tr10
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr24
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr24
}
default :
goto tr24
}
goto tr8
2021-08-12 22:03:24 +03:00
case 21 :
2024-03-11 13:12:06 +03:00
switch ( m . data ) [ ( m . p ) ] {
case 45 :
goto tr25
case 58 :
goto tr10
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr25
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr25
}
default :
goto tr25
}
goto tr8
2021-08-12 22:03:24 +03:00
case 22 :
2024-03-11 13:12:06 +03:00
switch ( m . data ) [ ( m . p ) ] {
case 45 :
goto tr26
case 58 :
goto tr10
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr26
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr26
}
default :
goto tr26
}
goto tr8
2021-08-12 22:03:24 +03:00
case 23 :
2024-03-11 13:12:06 +03:00
switch ( m . data ) [ ( m . p ) ] {
case 45 :
goto tr27
case 58 :
goto tr10
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr27
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr27
}
default :
goto tr27
}
goto tr8
2021-08-12 22:03:24 +03:00
case 24 :
2024-03-11 13:12:06 +03:00
switch ( m . data ) [ ( m . p ) ] {
case 45 :
goto tr28
case 58 :
goto tr10
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr28
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr28
}
default :
goto tr28
}
goto tr8
2021-08-12 22:03:24 +03:00
case 25 :
2024-03-11 13:12:06 +03:00
switch ( m . data ) [ ( m . p ) ] {
case 45 :
goto tr29
case 58 :
goto tr10
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr29
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr29
}
default :
goto tr29
}
goto tr8
2021-08-12 22:03:24 +03:00
case 26 :
2024-03-11 13:12:06 +03:00
switch ( m . data ) [ ( m . p ) ] {
case 45 :
goto tr30
case 58 :
goto tr10
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr30
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr30
}
default :
goto tr30
}
goto tr8
2021-08-12 22:03:24 +03:00
case 27 :
2024-03-11 13:12:06 +03:00
switch ( m . data ) [ ( m . p ) ] {
case 45 :
goto tr31
case 58 :
goto tr10
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr31
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr31
}
default :
goto tr31
}
goto tr8
2021-08-12 22:03:24 +03:00
case 28 :
2024-03-11 13:12:06 +03:00
switch ( m . data ) [ ( m . p ) ] {
case 45 :
goto tr32
case 58 :
goto tr10
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr32
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr32
}
default :
goto tr32
}
goto tr8
2021-08-12 22:03:24 +03:00
case 29 :
2024-03-11 13:12:06 +03:00
switch ( m . data ) [ ( m . p ) ] {
case 45 :
goto tr33
case 58 :
goto tr10
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr33
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr33
}
default :
goto tr33
}
goto tr8
2021-08-12 22:03:24 +03:00
case 30 :
2024-03-11 13:12:06 +03:00
switch ( m . data ) [ ( m . p ) ] {
case 45 :
goto tr34
case 58 :
goto tr10
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr34
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr34
}
default :
goto tr34
}
goto tr8
2021-08-12 22:03:24 +03:00
case 31 :
2024-03-11 13:12:06 +03:00
switch ( m . data ) [ ( m . p ) ] {
case 45 :
goto tr35
case 58 :
goto tr10
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr35
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr35
}
default :
goto tr35
}
goto tr8
2021-08-12 22:03:24 +03:00
case 32 :
2024-03-11 13:12:06 +03:00
switch ( m . data ) [ ( m . p ) ] {
case 45 :
goto tr36
case 58 :
goto tr10
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr36
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr36
}
default :
goto tr36
}
goto tr8
2021-08-12 22:03:24 +03:00
case 33 :
2024-03-11 13:12:06 +03:00
switch ( m . data ) [ ( m . p ) ] {
case 45 :
goto tr37
case 58 :
goto tr10
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr37
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr37
}
default :
goto tr37
}
goto tr8
2021-08-12 22:03:24 +03:00
case 34 :
2024-03-11 13:12:06 +03:00
switch ( m . data ) [ ( m . p ) ] {
case 45 :
goto tr38
case 58 :
goto tr10
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr38
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr38
}
default :
goto tr38
}
goto tr8
2021-08-12 22:03:24 +03:00
case 35 :
2024-03-11 13:12:06 +03:00
switch ( m . data ) [ ( m . p ) ] {
case 45 :
goto tr39
case 58 :
goto tr10
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr39
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr39
}
default :
goto tr39
}
goto tr8
2021-08-12 22:03:24 +03:00
case 36 :
2024-03-11 13:12:06 +03:00
switch ( m . data ) [ ( m . p ) ] {
case 45 :
goto tr40
case 58 :
goto tr10
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr40
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr40
}
default :
goto tr40
}
goto tr8
2021-08-12 22:03:24 +03:00
case 37 :
2024-03-11 13:12:06 +03:00
if ( m . data ) [ ( m . p ) ] == 58 {
goto tr10
}
goto tr8
2021-08-12 22:03:24 +03:00
case 38 :
2024-03-11 13:12:06 +03:00
switch ( m . data ) [ ( m . p ) ] {
case 33 :
goto tr42
case 36 :
goto tr42
case 37 :
goto tr43
case 61 :
goto tr42
case 95 :
goto tr42
}
switch {
case ( m . data ) [ ( m . p ) ] < 48 :
if 39 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 46 {
goto tr42
}
case ( m . data ) [ ( m . p ) ] > 59 :
switch {
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr42
}
case ( m . data ) [ ( m . p ) ] >= 64 :
goto tr42
}
default :
goto tr42
}
goto tr41
case 172 :
switch ( m . data ) [ ( m . p ) ] {
case 33 :
goto tr212
case 36 :
goto tr212
case 37 :
goto tr213
case 61 :
goto tr212
case 95 :
goto tr212
}
switch {
case ( m . data ) [ ( m . p ) ] < 48 :
if 39 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 46 {
goto tr212
}
case ( m . data ) [ ( m . p ) ] > 59 :
switch {
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr212
}
case ( m . data ) [ ( m . p ) ] >= 64 :
goto tr212
}
default :
goto tr212
}
goto tr41
2021-08-12 22:03:24 +03:00
case 39 :
2024-03-11 13:12:06 +03:00
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr45
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr45
}
default :
goto tr46
}
goto tr44
2021-08-12 22:03:24 +03:00
case 40 :
2024-03-11 13:12:06 +03:00
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr47
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr47
}
default :
goto tr48
}
goto tr44
case 173 :
switch ( m . data ) [ ( m . p ) ] {
case 33 :
goto tr212
case 36 :
goto tr212
case 37 :
goto tr213
case 61 :
goto tr212
case 95 :
goto tr212
}
switch {
case ( m . data ) [ ( m . p ) ] < 48 :
if 39 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 46 {
goto tr212
}
case ( m . data ) [ ( m . p ) ] > 59 :
switch {
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr212
}
case ( m . data ) [ ( m . p ) ] >= 64 :
goto tr212
}
default :
goto tr212
}
goto tr44
2021-08-12 22:03:24 +03:00
case 41 :
2024-03-11 13:12:06 +03:00
switch ( m . data ) [ ( m . p ) ] {
case 45 :
goto tr9
case 58 :
goto tr10
case 82 :
goto tr49
case 114 :
goto tr49
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr9
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr9
}
default :
goto tr9
}
2021-08-12 22:03:24 +03:00
goto tr5
2024-03-11 13:12:06 +03:00
case 42 :
switch ( m . data ) [ ( m . p ) ] {
case 45 :
goto tr11
case 58 :
goto tr10
case 78 :
goto tr50
case 110 :
goto tr50
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr11
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr11
}
default :
goto tr11
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
goto tr5
case 43 :
if ( m . data ) [ ( m . p ) ] == 45 {
goto tr12
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr12
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr12
}
default :
goto tr12
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
goto tr51
case 44 :
switch ( m . data ) [ ( m . p ) ] {
case 85 :
goto tr52
case 117 :
goto tr52
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
goto tr0
2021-08-12 22:03:24 +03:00
case 45 :
2024-03-11 13:12:06 +03:00
switch ( m . data ) [ ( m . p ) ] {
case 82 :
goto tr53
case 114 :
goto tr53
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
goto tr0
case 46 :
switch ( m . data ) [ ( m . p ) ] {
case 78 :
goto tr54
case 110 :
goto tr54
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
goto tr0
case 47 :
if ( m . data ) [ ( m . p ) ] == 58 {
goto tr55
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
goto tr0
case 48 :
if ( m . data ) [ ( m . p ) ] == 105 {
goto tr57
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
goto tr56
case 49 :
if ( m . data ) [ ( m . p ) ] == 101 {
goto tr58
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
goto tr56
case 50 :
if ( m . data ) [ ( m . p ) ] == 116 {
goto tr59
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
goto tr56
case 51 :
if ( m . data ) [ ( m . p ) ] == 102 {
goto tr60
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
goto tr56
case 52 :
if ( m . data ) [ ( m . p ) ] == 58 {
goto tr61
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
goto tr56
case 53 :
if ( m . data ) [ ( m . p ) ] == 112 {
goto tr62
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
goto tr56
case 54 :
if ( m . data ) [ ( m . p ) ] == 97 {
goto tr63
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
goto tr56
case 55 :
if ( m . data ) [ ( m . p ) ] == 114 {
goto tr64
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
goto tr56
case 56 :
if ( m . data ) [ ( m . p ) ] == 97 {
goto tr65
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
goto tr56
case 57 :
if ( m . data ) [ ( m . p ) ] == 109 {
goto tr66
}
goto tr56
2021-08-12 22:03:24 +03:00
case 58 :
2024-03-11 13:12:06 +03:00
if ( m . data ) [ ( m . p ) ] == 115 {
goto tr67
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
goto tr56
case 59 :
if ( m . data ) [ ( m . p ) ] == 58 {
goto tr68
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
goto tr56
case 60 :
if ( m . data ) [ ( m . p ) ] == 115 {
goto tr69
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
goto tr56
case 61 :
if ( m . data ) [ ( m . p ) ] == 99 {
goto tr70
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
goto tr56
case 62 :
if ( m . data ) [ ( m . p ) ] == 105 {
goto tr71
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
goto tr56
case 63 :
if ( m . data ) [ ( m . p ) ] == 109 {
goto tr72
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
goto tr56
case 64 :
if ( m . data ) [ ( m . p ) ] == 58 {
goto tr73
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
goto tr56
case 65 :
switch ( m . data ) [ ( m . p ) ] {
case 97 :
goto tr75
case 112 :
goto tr76
case 115 :
goto tr77
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
goto tr74
case 66 :
if ( m . data ) [ ( m . p ) ] == 112 {
goto tr78
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
goto tr74
case 67 :
if ( m . data ) [ ( m . p ) ] == 105 {
goto tr79
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
goto tr74
case 68 :
if ( m . data ) [ ( m . p ) ] == 58 {
goto tr80
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
goto tr74
case 69 :
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr82
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr82
}
default :
goto tr82
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
goto tr81
case 174 :
if ( m . data ) [ ( m . p ) ] == 58 {
goto tr215
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr214
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr214
}
default :
goto tr214
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
goto tr81
case 70 :
switch ( m . data ) [ ( m . p ) ] {
case 33 :
goto tr84
case 36 :
goto tr84
case 37 :
goto tr85
case 61 :
goto tr84
case 95 :
goto tr84
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
switch {
case ( m . data ) [ ( m . p ) ] < 48 :
if 39 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 46 {
goto tr84
}
case ( m . data ) [ ( m . p ) ] > 59 :
switch {
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr84
}
case ( m . data ) [ ( m . p ) ] >= 64 :
goto tr84
}
default :
goto tr84
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
goto tr83
case 175 :
switch ( m . data ) [ ( m . p ) ] {
case 33 :
goto tr216
case 36 :
goto tr216
case 37 :
goto tr217
case 61 :
goto tr216
case 95 :
goto tr216
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
switch {
case ( m . data ) [ ( m . p ) ] < 48 :
if 39 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 46 {
goto tr216
}
case ( m . data ) [ ( m . p ) ] > 59 :
switch {
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr216
}
case ( m . data ) [ ( m . p ) ] >= 64 :
goto tr216
}
default :
goto tr216
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
goto tr83
case 71 :
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr87
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr87
}
default :
goto tr88
}
goto tr86
case 72 :
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr89
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr89
}
default :
goto tr90
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
goto tr86
case 176 :
switch ( m . data ) [ ( m . p ) ] {
case 33 :
goto tr216
case 36 :
goto tr216
case 37 :
goto tr217
case 61 :
goto tr216
case 95 :
goto tr216
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
switch {
case ( m . data ) [ ( m . p ) ] < 48 :
if 39 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 46 {
goto tr216
}
case ( m . data ) [ ( m . p ) ] > 59 :
switch {
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr216
}
case ( m . data ) [ ( m . p ) ] >= 64 :
goto tr216
}
default :
goto tr216
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
goto tr86
case 73 :
if ( m . data ) [ ( m . p ) ] == 97 {
goto tr91
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
goto tr74
case 74 :
if ( m . data ) [ ( m . p ) ] == 114 {
goto tr92
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
goto tr74
case 75 :
if ( m . data ) [ ( m . p ) ] == 97 {
goto tr93
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
goto tr74
case 76 :
if ( m . data ) [ ( m . p ) ] == 109 {
goto tr79
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
goto tr74
case 77 :
if ( m . data ) [ ( m . p ) ] == 99 {
goto tr94
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
goto tr74
case 78 :
if ( m . data ) [ ( m . p ) ] == 104 {
goto tr95
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
goto tr74
case 79 :
if ( m . data ) [ ( m . p ) ] == 101 {
goto tr96
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
goto tr74
case 80 :
if ( m . data ) [ ( m . p ) ] == 109 {
goto tr97
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
goto tr74
case 81 :
if ( m . data ) [ ( m . p ) ] == 97 {
goto tr98
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
goto tr74
case 82 :
if ( m . data ) [ ( m . p ) ] == 115 {
goto tr79
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
goto tr74
case 83 :
switch ( m . data ) [ ( m . p ) ] {
case 85 :
goto tr99
case 117 :
goto tr99
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
goto tr0
case 84 :
switch ( m . data ) [ ( m . p ) ] {
case 82 :
goto tr100
case 114 :
goto tr100
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
goto tr0
case 85 :
switch ( m . data ) [ ( m . p ) ] {
case 78 :
goto tr101
case 110 :
goto tr101
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
goto tr0
case 86 :
if ( m . data ) [ ( m . p ) ] == 58 {
goto tr102
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
goto tr0
case 87 :
switch ( m . data ) [ ( m . p ) ] {
case 85 :
goto tr105
case 117 :
goto tr105
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr104
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr104
}
default :
goto tr104
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
goto tr103
case 88 :
if ( m . data ) [ ( m . p ) ] == 45 {
goto tr107
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr108
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr108
}
default :
goto tr108
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
goto tr106
case 89 :
if ( m . data ) [ ( m . p ) ] == 45 {
goto tr109
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr110
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr110
}
default :
goto tr110
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
goto tr106
case 90 :
if ( m . data ) [ ( m . p ) ] == 45 {
goto tr111
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr112
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr112
}
default :
goto tr112
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
goto tr106
case 91 :
if ( m . data ) [ ( m . p ) ] == 45 {
goto tr113
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr114
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr114
}
default :
goto tr114
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
goto tr106
case 92 :
if ( m . data ) [ ( m . p ) ] == 45 {
goto tr115
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr116
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr116
}
default :
goto tr116
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
goto tr106
case 93 :
if ( m . data ) [ ( m . p ) ] == 45 {
goto tr117
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr118
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr118
}
default :
goto tr118
}
goto tr106
case 94 :
if ( m . data ) [ ( m . p ) ] == 45 {
goto tr119
2021-08-12 22:03:24 +03:00
}
switch {
2024-03-11 13:12:06 +03:00
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr120
}
2021-08-12 22:03:24 +03:00
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
2024-03-11 13:12:06 +03:00
goto tr120
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
default :
goto tr120
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
goto tr106
2021-08-12 22:03:24 +03:00
case 95 :
2024-03-11 13:12:06 +03:00
if ( m . data ) [ ( m . p ) ] == 45 {
goto tr121
2021-08-12 22:03:24 +03:00
}
switch {
2024-03-11 13:12:06 +03:00
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr122
}
2021-08-12 22:03:24 +03:00
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
2024-03-11 13:12:06 +03:00
goto tr122
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
default :
goto tr122
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
goto tr106
case 96 :
if ( m . data ) [ ( m . p ) ] == 45 {
goto tr123
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr124
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr124
}
default :
goto tr124
}
goto tr106
case 97 :
if ( m . data ) [ ( m . p ) ] == 45 {
goto tr125
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr126
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr126
}
default :
goto tr126
}
goto tr106
case 98 :
if ( m . data ) [ ( m . p ) ] == 45 {
goto tr127
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr128
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr128
}
default :
goto tr128
}
goto tr106
case 99 :
if ( m . data ) [ ( m . p ) ] == 45 {
goto tr129
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr130
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr130
}
default :
goto tr130
}
goto tr106
case 100 :
if ( m . data ) [ ( m . p ) ] == 45 {
goto tr131
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr132
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr132
}
default :
goto tr132
}
goto tr106
case 101 :
if ( m . data ) [ ( m . p ) ] == 45 {
goto tr133
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr134
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr134
}
default :
goto tr134
}
goto tr106
case 102 :
if ( m . data ) [ ( m . p ) ] == 45 {
goto tr135
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr136
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr136
}
default :
goto tr136
}
goto tr106
case 103 :
if ( m . data ) [ ( m . p ) ] == 45 {
goto tr137
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr138
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr138
}
default :
goto tr138
}
goto tr106
case 104 :
if ( m . data ) [ ( m . p ) ] == 45 {
goto tr139
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr140
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr140
}
default :
goto tr140
}
goto tr106
case 105 :
if ( m . data ) [ ( m . p ) ] == 45 {
goto tr141
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr142
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr142
}
default :
goto tr142
}
goto tr106
case 106 :
if ( m . data ) [ ( m . p ) ] == 45 {
goto tr143
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr144
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr144
}
default :
goto tr144
}
goto tr106
case 107 :
if ( m . data ) [ ( m . p ) ] == 45 {
goto tr145
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr146
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr146
}
default :
goto tr146
}
goto tr106
case 108 :
if ( m . data ) [ ( m . p ) ] == 45 {
goto tr147
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr148
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr148
}
default :
goto tr148
}
goto tr106
case 109 :
if ( m . data ) [ ( m . p ) ] == 45 {
goto tr149
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr150
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr150
}
default :
goto tr150
}
goto tr106
case 110 :
if ( m . data ) [ ( m . p ) ] == 45 {
goto tr151
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr152
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr152
}
default :
goto tr152
}
goto tr106
case 111 :
if ( m . data ) [ ( m . p ) ] == 45 {
goto tr153
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr154
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr154
}
default :
goto tr154
}
goto tr106
case 112 :
if ( m . data ) [ ( m . p ) ] == 45 {
goto tr155
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr156
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr156
}
default :
goto tr156
}
goto tr106
case 113 :
if ( m . data ) [ ( m . p ) ] == 45 {
goto tr157
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr158
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr158
}
default :
goto tr158
}
goto tr106
case 114 :
if ( m . data ) [ ( m . p ) ] == 45 {
goto tr159
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr160
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr160
}
default :
goto tr160
}
goto tr106
case 115 :
if ( m . data ) [ ( m . p ) ] == 45 {
goto tr161
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr162
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr162
}
default :
goto tr162
}
goto tr106
case 116 :
if ( m . data ) [ ( m . p ) ] == 45 {
goto tr163
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr164
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr164
}
default :
goto tr164
}
goto tr106
case 117 :
if ( m . data ) [ ( m . p ) ] == 45 {
goto tr165
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr166
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr166
}
default :
goto tr166
}
goto tr106
case 118 :
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr167
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr167
}
default :
goto tr167
}
goto tr106
case 119 :
if ( m . data ) [ ( m . p ) ] == 58 {
goto tr168
}
goto tr106
case 120 :
switch ( m . data ) [ ( m . p ) ] {
case 33 :
goto tr170
case 37 :
goto tr171
case 61 :
goto tr170
case 95 :
goto tr170
case 126 :
goto tr170
}
switch {
case ( m . data ) [ ( m . p ) ] < 48 :
if 36 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 46 {
goto tr170
}
case ( m . data ) [ ( m . p ) ] > 59 :
switch {
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr170
}
case ( m . data ) [ ( m . p ) ] >= 64 :
goto tr170
}
default :
goto tr170
}
goto tr169
case 177 :
switch ( m . data ) [ ( m . p ) ] {
case 33 :
goto tr218
case 35 :
goto tr219
case 37 :
goto tr220
case 61 :
goto tr218
case 63 :
goto tr221
case 95 :
goto tr218
case 126 :
goto tr218
}
switch {
case ( m . data ) [ ( m . p ) ] < 64 :
if 36 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 59 {
goto tr218
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr218
}
default :
goto tr218
}
goto tr169
case 178 :
switch ( m . data ) [ ( m . p ) ] {
case 33 :
goto tr222
case 37 :
goto tr223
case 61 :
goto tr222
case 95 :
goto tr222
case 126 :
goto tr222
}
switch {
case ( m . data ) [ ( m . p ) ] < 63 :
if 36 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 59 {
goto tr222
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr222
}
default :
goto tr222
}
goto tr183
case 179 :
switch ( m . data ) [ ( m . p ) ] {
case 33 :
goto tr224
case 37 :
goto tr225
case 61 :
goto tr224
case 95 :
goto tr224
case 126 :
goto tr224
}
switch {
case ( m . data ) [ ( m . p ) ] < 63 :
if 36 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 59 {
goto tr224
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr224
}
default :
goto tr224
}
goto tr183
case 121 :
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr173
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr173
}
default :
goto tr174
}
goto tr172
case 122 :
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr175
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr175
}
default :
goto tr176
}
goto tr172
case 180 :
switch ( m . data ) [ ( m . p ) ] {
case 33 :
goto tr224
case 37 :
goto tr225
case 61 :
goto tr224
case 95 :
goto tr224
case 126 :
goto tr224
}
switch {
case ( m . data ) [ ( m . p ) ] < 63 :
if 36 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 59 {
goto tr224
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr224
}
default :
goto tr224
}
goto tr172
case 123 :
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr178
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr178
}
default :
goto tr179
}
goto tr177
case 124 :
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr180
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr180
}
default :
goto tr181
}
goto tr177
case 181 :
switch ( m . data ) [ ( m . p ) ] {
case 33 :
goto tr218
case 35 :
goto tr219
case 37 :
goto tr220
case 61 :
goto tr218
case 63 :
goto tr221
case 95 :
goto tr218
case 126 :
goto tr218
}
switch {
case ( m . data ) [ ( m . p ) ] < 64 :
if 36 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 59 {
goto tr218
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr218
}
default :
goto tr218
}
goto tr177
case 125 :
switch ( m . data ) [ ( m . p ) ] {
case 43 :
goto tr182
case 61 :
goto tr184
}
goto tr183
case 126 :
switch ( m . data ) [ ( m . p ) ] {
case 33 :
goto tr186
case 37 :
goto tr187
case 61 :
goto tr186
case 63 :
goto tr188
case 95 :
goto tr186
case 126 :
goto tr186
}
switch {
case ( m . data ) [ ( m . p ) ] < 48 :
if 36 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 46 {
goto tr186
}
case ( m . data ) [ ( m . p ) ] > 59 :
switch {
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr186
}
case ( m . data ) [ ( m . p ) ] >= 64 :
goto tr186
}
default :
goto tr186
}
goto tr185
case 182 :
switch ( m . data ) [ ( m . p ) ] {
case 33 :
goto tr226
case 35 :
goto tr227
case 37 :
goto tr228
case 61 :
goto tr226
case 63 :
goto tr229
case 95 :
goto tr226
case 126 :
goto tr226
}
switch {
case ( m . data ) [ ( m . p ) ] < 64 :
if 36 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 59 {
goto tr226
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr226
}
default :
goto tr226
}
goto tr185
case 127 :
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr190
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr190
}
default :
goto tr191
}
goto tr189
case 128 :
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr192
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr192
}
default :
goto tr193
}
goto tr189
case 183 :
switch ( m . data ) [ ( m . p ) ] {
case 33 :
goto tr226
case 35 :
goto tr227
case 37 :
goto tr228
case 61 :
goto tr226
case 63 :
goto tr229
case 95 :
goto tr226
case 126 :
goto tr226
}
switch {
case ( m . data ) [ ( m . p ) ] < 64 :
if 36 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 59 {
goto tr226
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr226
}
default :
goto tr226
}
goto tr189
case 184 :
switch ( m . data ) [ ( m . p ) ] {
case 33 :
goto tr226
case 35 :
goto tr227
case 37 :
goto tr228
case 43 :
goto tr230
case 61 :
goto tr231
case 63 :
goto tr229
case 95 :
goto tr226
case 126 :
goto tr226
}
switch {
case ( m . data ) [ ( m . p ) ] < 64 :
if 36 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 59 {
goto tr226
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr226
}
default :
goto tr226
}
goto tr185
case 185 :
switch ( m . data ) [ ( m . p ) ] {
case 33 :
goto tr232
case 35 :
goto tr233
case 37 :
goto tr234
case 47 :
goto tr226
case 61 :
goto tr232
case 63 :
goto tr235
case 95 :
goto tr232
case 126 :
goto tr232
}
switch {
case ( m . data ) [ ( m . p ) ] < 64 :
if 36 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 59 {
goto tr232
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr232
}
default :
goto tr232
}
goto tr185
case 186 :
switch ( m . data ) [ ( m . p ) ] {
case 33 :
goto tr204
case 35 :
goto tr227
case 37 :
goto tr237
case 47 :
goto tr226
case 61 :
goto tr204
case 63 :
goto tr229
case 95 :
goto tr204
case 126 :
goto tr204
}
switch {
case ( m . data ) [ ( m . p ) ] < 64 :
if 36 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 59 {
goto tr204
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr204
}
default :
goto tr204
}
goto tr236
case 187 :
switch ( m . data ) [ ( m . p ) ] {
case 33 :
goto tr238
case 35 :
goto tr239
case 37 :
goto tr240
case 61 :
goto tr238
case 63 :
goto tr241
case 95 :
goto tr238
case 126 :
goto tr238
}
switch {
case ( m . data ) [ ( m . p ) ] < 64 :
if 36 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 59 {
goto tr238
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr238
}
default :
goto tr238
}
goto tr203
case 129 :
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr195
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr195
}
default :
goto tr196
}
goto tr194
case 130 :
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr197
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr197
}
default :
goto tr198
}
goto tr194
case 188 :
switch ( m . data ) [ ( m . p ) ] {
case 33 :
goto tr238
case 35 :
goto tr239
case 37 :
goto tr240
case 61 :
goto tr238
case 63 :
goto tr241
case 95 :
goto tr238
case 126 :
goto tr238
}
switch {
case ( m . data ) [ ( m . p ) ] < 64 :
if 36 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 59 {
goto tr238
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr238
}
default :
goto tr238
}
goto tr194
case 189 :
switch ( m . data ) [ ( m . p ) ] {
case 33 :
goto tr238
case 35 :
goto tr239
case 37 :
goto tr240
case 61 :
goto tr242
case 63 :
goto tr241
case 95 :
goto tr238
case 126 :
goto tr238
}
switch {
case ( m . data ) [ ( m . p ) ] < 64 :
if 36 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 59 {
goto tr238
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr238
}
default :
goto tr238
}
goto tr203
case 190 :
switch ( m . data ) [ ( m . p ) ] {
case 33 :
goto tr243
case 35 :
goto tr244
case 37 :
goto tr245
case 47 :
goto tr238
case 61 :
goto tr243
case 63 :
goto tr246
case 95 :
goto tr243
case 126 :
goto tr243
}
switch {
case ( m . data ) [ ( m . p ) ] < 64 :
if 36 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 59 {
goto tr243
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr243
}
default :
goto tr243
}
goto tr203
case 131 :
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr200
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr200
}
default :
goto tr201
}
goto tr199
case 132 :
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr197
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr197
}
default :
goto tr198
}
goto tr199
case 133 :
if ( m . data ) [ ( m . p ) ] == 43 {
goto tr202
}
goto tr185
case 191 :
switch ( m . data ) [ ( m . p ) ] {
case 33 :
goto tr232
case 35 :
goto tr233
case 37 :
goto tr234
case 61 :
goto tr232
case 63 :
goto tr247
case 95 :
goto tr232
case 126 :
goto tr232
}
switch {
case ( m . data ) [ ( m . p ) ] < 48 :
if 36 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 46 {
goto tr232
}
case ( m . data ) [ ( m . p ) ] > 59 :
switch {
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr232
}
case ( m . data ) [ ( m . p ) ] >= 64 :
goto tr232
}
default :
goto tr232
}
goto tr185
case 134 :
switch ( m . data ) [ ( m . p ) ] {
case 43 :
goto tr202
case 61 :
goto tr184
}
goto tr185
case 135 :
switch ( m . data ) [ ( m . p ) ] {
case 33 :
goto tr204
case 37 :
goto tr205
case 61 :
goto tr204
case 63 :
goto tr206
case 95 :
goto tr204
case 126 :
goto tr204
}
switch {
case ( m . data ) [ ( m . p ) ] < 48 :
if 36 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 46 {
goto tr204
}
case ( m . data ) [ ( m . p ) ] > 59 :
switch {
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr204
}
case ( m . data ) [ ( m . p ) ] >= 64 :
goto tr204
}
default :
goto tr204
}
goto tr203
case 136 :
if ( m . data ) [ ( m . p ) ] == 61 {
goto tr207
}
goto tr203
case 192 :
switch ( m . data ) [ ( m . p ) ] {
case 33 :
goto tr243
case 35 :
goto tr244
case 37 :
goto tr245
case 61 :
goto tr243
case 63 :
goto tr248
case 95 :
goto tr243
case 126 :
goto tr243
}
switch {
case ( m . data ) [ ( m . p ) ] < 48 :
if 36 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 46 {
goto tr243
}
case ( m . data ) [ ( m . p ) ] > 59 :
switch {
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr243
}
case ( m . data ) [ ( m . p ) ] >= 64 :
goto tr243
}
default :
goto tr243
}
goto tr203
case 137 :
if ( m . data ) [ ( m . p ) ] == 58 {
goto tr168
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr167
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr167
}
default :
goto tr167
}
goto tr106
case 138 :
switch ( m . data ) [ ( m . p ) ] {
case 45 :
goto tr165
case 58 :
goto tr168
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr166
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr166
}
default :
goto tr166
}
goto tr106
case 139 :
switch ( m . data ) [ ( m . p ) ] {
case 45 :
goto tr163
case 58 :
goto tr168
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr164
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr164
}
default :
goto tr164
}
goto tr106
case 140 :
switch ( m . data ) [ ( m . p ) ] {
case 45 :
goto tr161
case 58 :
goto tr168
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr162
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr162
}
default :
goto tr162
}
goto tr106
case 141 :
switch ( m . data ) [ ( m . p ) ] {
case 45 :
goto tr159
case 58 :
goto tr168
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr160
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr160
}
default :
goto tr160
}
goto tr106
case 142 :
switch ( m . data ) [ ( m . p ) ] {
case 45 :
goto tr157
case 58 :
goto tr168
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr158
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr158
}
default :
goto tr158
}
goto tr106
case 143 :
switch ( m . data ) [ ( m . p ) ] {
case 45 :
goto tr155
case 58 :
goto tr168
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr156
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr156
}
default :
goto tr156
}
goto tr106
case 144 :
switch ( m . data ) [ ( m . p ) ] {
case 45 :
goto tr153
case 58 :
goto tr168
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr154
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr154
}
default :
goto tr154
}
goto tr106
case 145 :
switch ( m . data ) [ ( m . p ) ] {
case 45 :
goto tr151
case 58 :
goto tr168
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr152
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr152
}
default :
goto tr152
}
goto tr106
case 146 :
switch ( m . data ) [ ( m . p ) ] {
case 45 :
goto tr149
case 58 :
goto tr168
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr150
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr150
}
default :
goto tr150
}
goto tr106
case 147 :
switch ( m . data ) [ ( m . p ) ] {
case 45 :
goto tr147
case 58 :
goto tr168
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr148
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr148
}
default :
goto tr148
}
goto tr106
case 148 :
switch ( m . data ) [ ( m . p ) ] {
case 45 :
goto tr145
case 58 :
goto tr168
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr146
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr146
}
default :
goto tr146
}
goto tr106
case 149 :
switch ( m . data ) [ ( m . p ) ] {
case 45 :
goto tr143
case 58 :
goto tr168
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr144
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr144
}
default :
goto tr144
}
goto tr106
case 150 :
switch ( m . data ) [ ( m . p ) ] {
case 45 :
goto tr141
case 58 :
goto tr168
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr142
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr142
}
default :
goto tr142
}
goto tr106
case 151 :
switch ( m . data ) [ ( m . p ) ] {
case 45 :
goto tr139
case 58 :
goto tr168
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr140
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr140
}
default :
goto tr140
}
goto tr106
case 152 :
switch ( m . data ) [ ( m . p ) ] {
case 45 :
goto tr137
case 58 :
goto tr168
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr138
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr138
}
default :
goto tr138
}
goto tr106
case 153 :
switch ( m . data ) [ ( m . p ) ] {
case 45 :
goto tr135
case 58 :
goto tr168
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr136
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr136
}
default :
goto tr136
}
goto tr106
case 154 :
switch ( m . data ) [ ( m . p ) ] {
case 45 :
goto tr133
case 58 :
goto tr168
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr134
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr134
}
default :
goto tr134
}
goto tr106
case 155 :
switch ( m . data ) [ ( m . p ) ] {
case 45 :
goto tr131
case 58 :
goto tr168
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr132
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr132
}
default :
goto tr132
}
goto tr106
case 156 :
switch ( m . data ) [ ( m . p ) ] {
case 45 :
goto tr129
case 58 :
goto tr168
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr130
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr130
}
default :
goto tr130
}
goto tr106
case 157 :
switch ( m . data ) [ ( m . p ) ] {
case 45 :
goto tr127
case 58 :
goto tr168
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr128
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr128
}
default :
goto tr128
}
goto tr106
case 158 :
switch ( m . data ) [ ( m . p ) ] {
case 45 :
goto tr125
case 58 :
goto tr168
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr126
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr126
}
default :
goto tr126
}
goto tr106
case 159 :
switch ( m . data ) [ ( m . p ) ] {
case 45 :
goto tr123
case 58 :
goto tr168
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr124
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr124
}
default :
goto tr124
}
goto tr106
case 160 :
switch ( m . data ) [ ( m . p ) ] {
case 45 :
goto tr121
case 58 :
goto tr168
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr122
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr122
}
default :
goto tr122
}
goto tr106
case 161 :
switch ( m . data ) [ ( m . p ) ] {
case 45 :
goto tr119
case 58 :
goto tr168
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr120
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr120
}
default :
goto tr120
}
goto tr106
case 162 :
switch ( m . data ) [ ( m . p ) ] {
case 45 :
goto tr117
case 58 :
goto tr168
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr118
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr118
}
default :
goto tr118
}
goto tr106
case 163 :
switch ( m . data ) [ ( m . p ) ] {
case 45 :
goto tr115
case 58 :
goto tr168
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr116
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr116
}
default :
goto tr116
}
goto tr106
case 164 :
switch ( m . data ) [ ( m . p ) ] {
case 45 :
goto tr113
case 58 :
goto tr168
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr114
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr114
}
default :
goto tr114
}
goto tr106
case 165 :
switch ( m . data ) [ ( m . p ) ] {
case 45 :
goto tr111
case 58 :
goto tr168
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr112
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr112
}
default :
goto tr112
}
goto tr106
case 166 :
switch ( m . data ) [ ( m . p ) ] {
case 45 :
goto tr109
case 58 :
goto tr168
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr110
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr110
}
default :
goto tr110
}
goto tr106
case 167 :
switch ( m . data ) [ ( m . p ) ] {
case 45 :
goto tr107
case 82 :
goto tr208
case 114 :
goto tr208
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr108
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr108
}
default :
goto tr108
}
goto tr103
case 168 :
switch ( m . data ) [ ( m . p ) ] {
case 45 :
goto tr109
case 58 :
goto tr168
case 78 :
goto tr209
case 110 :
goto tr209
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr110
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr110
}
default :
goto tr110
}
goto tr103
case 169 :
switch ( m . data ) [ ( m . p ) ] {
case 45 :
goto tr210
case 58 :
goto tr168
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr112
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr112
}
default :
goto tr112
}
goto tr106
case 170 :
switch ( m . data ) [ ( m . p ) ] {
case 45 :
goto tr113
case 48 :
goto tr211
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 49 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr114
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr211
}
default :
goto tr211
}
goto tr106
case 171 :
if ( m . data ) [ ( m . p ) ] == 45 {
goto tr115
}
switch {
case ( m . data ) [ ( m . p ) ] < 65 :
if 48 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 57 {
goto tr116
}
case ( m . data ) [ ( m . p ) ] > 90 :
if 97 <= ( m . data ) [ ( m . p ) ] && ( m . data ) [ ( m . p ) ] <= 122 {
goto tr116
}
default :
goto tr116
}
goto tr106
case 193 :
switch ( m . data ) [ ( m . p ) ] {
case 10 :
goto tr183
case 13 :
goto tr183
}
goto tr249
}
tr183 :
m . cs = 0
goto _again
tr0 :
m . cs = 0
goto f0
tr5 :
m . cs = 0
goto f3
tr8 :
m . cs = 0
goto f5
tr41 :
m . cs = 0
goto f7
tr44 :
m . cs = 0
goto f8
tr51 :
m . cs = 0
goto f10
tr56 :
m . cs = 0
goto f11
tr74 :
m . cs = 0
goto f13
tr81 :
m . cs = 0
goto f15
tr83 :
m . cs = 0
goto f17
tr86 :
m . cs = 0
goto f19
tr103 :
m . cs = 0
goto f20
tr106 :
m . cs = 0
goto f21
tr169 :
m . cs = 0
goto f22
tr172 :
m . cs = 0
goto f23
tr177 :
m . cs = 0
goto f24
tr185 :
m . cs = 0
goto f25
tr189 :
m . cs = 0
goto f27
tr194 :
m . cs = 0
goto f28
tr199 :
m . cs = 0
goto f29
tr203 :
m . cs = 0
goto f30
tr236 :
m . cs = 0
goto f46
tr1 :
m . cs = 2
goto f1
tr2 :
m . cs = 3
goto _again
tr3 :
m . cs = 4
goto _again
tr4 :
m . cs = 5
goto f2
tr6 :
m . cs = 6
goto f4
tr9 :
m . cs = 7
goto _again
tr11 :
m . cs = 8
goto _again
tr12 :
m . cs = 9
goto _again
tr13 :
m . cs = 10
goto _again
tr14 :
m . cs = 11
goto _again
tr15 :
m . cs = 12
goto _again
tr16 :
m . cs = 13
goto _again
tr17 :
m . cs = 14
goto _again
tr18 :
m . cs = 15
goto _again
tr19 :
m . cs = 16
goto _again
tr20 :
m . cs = 17
goto _again
tr21 :
m . cs = 18
goto _again
tr22 :
m . cs = 19
goto _again
tr23 :
m . cs = 20
goto _again
tr24 :
m . cs = 21
goto _again
tr25 :
m . cs = 22
goto _again
tr26 :
m . cs = 23
goto _again
tr27 :
m . cs = 24
goto _again
tr28 :
m . cs = 25
goto _again
tr29 :
m . cs = 26
goto _again
tr30 :
m . cs = 27
goto _again
tr31 :
m . cs = 28
goto _again
tr32 :
m . cs = 29
goto _again
tr33 :
m . cs = 30
goto _again
tr34 :
m . cs = 31
goto _again
tr35 :
m . cs = 32
goto _again
tr36 :
m . cs = 33
goto _again
tr37 :
m . cs = 34
goto _again
tr38 :
m . cs = 35
goto _again
tr39 :
m . cs = 36
goto _again
tr40 :
m . cs = 37
goto _again
tr10 :
m . cs = 38
goto f6
tr213 :
m . cs = 39
goto _again
tr43 :
m . cs = 39
goto f4
tr45 :
m . cs = 40
goto _again
tr46 :
m . cs = 40
goto f9
tr7 :
m . cs = 41
goto f1
tr49 :
m . cs = 42
goto _again
tr50 :
m . cs = 43
goto _again
tr52 :
m . cs = 45
goto f1
tr53 :
m . cs = 46
goto _again
tr54 :
m . cs = 47
goto _again
tr55 :
m . cs = 48
goto f2
tr57 :
m . cs = 49
goto f4
tr58 :
m . cs = 50
goto _again
tr59 :
m . cs = 51
goto _again
tr60 :
m . cs = 52
goto _again
tr61 :
m . cs = 53
goto _again
tr62 :
m . cs = 54
goto _again
tr63 :
m . cs = 55
goto _again
tr64 :
m . cs = 56
goto _again
tr65 :
m . cs = 57
goto _again
tr66 :
m . cs = 58
goto _again
tr67 :
m . cs = 59
goto _again
tr68 :
m . cs = 60
goto _again
tr69 :
m . cs = 61
goto _again
tr70 :
m . cs = 62
goto _again
tr71 :
m . cs = 63
goto _again
tr72 :
m . cs = 64
goto _again
tr73 :
m . cs = 65
goto f12
tr75 :
m . cs = 66
goto f4
tr78 :
m . cs = 67
goto _again
tr79 :
m . cs = 68
goto _again
tr80 :
m . cs = 69
goto f14
tr215 :
m . cs = 70
goto f35
tr217 :
m . cs = 71
goto _again
tr85 :
m . cs = 71
goto f18
tr87 :
m . cs = 72
goto _again
tr88 :
m . cs = 72
goto f9
tr76 :
m . cs = 73
goto f4
tr91 :
m . cs = 74
goto _again
tr92 :
m . cs = 75
goto _again
tr93 :
m . cs = 76
goto _again
tr77 :
m . cs = 77
goto f4
tr94 :
m . cs = 78
goto _again
tr95 :
m . cs = 79
goto _again
tr96 :
m . cs = 80
goto _again
tr97 :
m . cs = 81
goto _again
tr98 :
m . cs = 82
goto _again
tr99 :
m . cs = 84
goto f1
tr100 :
m . cs = 85
goto _again
tr101 :
m . cs = 86
goto _again
tr102 :
m . cs = 87
goto f2
tr104 :
m . cs = 88
goto f4
tr107 :
m . cs = 89
goto _again
tr109 :
m . cs = 90
goto _again
tr111 :
m . cs = 91
goto _again
tr113 :
m . cs = 92
goto _again
tr115 :
m . cs = 93
goto _again
tr117 :
m . cs = 94
goto _again
tr119 :
m . cs = 95
goto _again
tr121 :
m . cs = 96
goto _again
tr123 :
m . cs = 97
goto _again
tr125 :
m . cs = 98
goto _again
tr127 :
m . cs = 99
goto _again
tr129 :
m . cs = 100
goto _again
tr131 :
m . cs = 101
goto _again
tr133 :
m . cs = 102
goto _again
tr135 :
m . cs = 103
goto _again
tr137 :
m . cs = 104
goto _again
tr139 :
m . cs = 105
goto _again
tr141 :
m . cs = 106
goto _again
tr143 :
m . cs = 107
goto _again
tr145 :
m . cs = 108
goto _again
tr147 :
m . cs = 109
goto _again
tr149 :
m . cs = 110
goto _again
tr151 :
m . cs = 111
goto _again
tr153 :
m . cs = 112
goto _again
tr155 :
m . cs = 113
goto _again
tr157 :
m . cs = 114
goto _again
tr159 :
m . cs = 115
goto _again
tr161 :
m . cs = 116
goto _again
tr163 :
m . cs = 117
goto _again
tr165 :
m . cs = 118
goto _again
tr167 :
m . cs = 119
goto _again
tr168 :
m . cs = 120
goto f6
tr225 :
m . cs = 121
goto _again
tr223 :
m . cs = 121
goto f4
tr173 :
m . cs = 122
goto _again
tr174 :
m . cs = 122
goto f9
tr220 :
m . cs = 123
goto _again
tr171 :
m . cs = 123
goto f4
tr178 :
m . cs = 124
goto _again
tr179 :
m . cs = 124
goto f9
tr221 :
m . cs = 125
goto f38
tr182 :
m . cs = 126
goto _again
tr228 :
m . cs = 127
goto _again
tr187 :
m . cs = 127
goto f26
tr234 :
m . cs = 127
goto f44
tr190 :
m . cs = 128
goto _again
tr191 :
m . cs = 128
goto f9
tr240 :
m . cs = 129
goto _again
tr205 :
m . cs = 129
goto f31
tr245 :
m . cs = 129
goto f50
tr195 :
m . cs = 130
goto _again
tr196 :
m . cs = 130
goto f9
tr237 :
m . cs = 131
goto f31
tr200 :
m . cs = 132
goto _again
tr201 :
m . cs = 132
goto f9
tr188 :
m . cs = 133
goto f26
tr247 :
m . cs = 134
goto f45
tr184 :
m . cs = 135
goto _again
tr206 :
m . cs = 136
goto f31
tr248 :
m . cs = 136
goto f50
tr166 :
m . cs = 137
goto _again
tr164 :
m . cs = 138
goto _again
tr162 :
m . cs = 139
goto _again
tr160 :
m . cs = 140
goto _again
tr158 :
m . cs = 141
goto _again
tr156 :
m . cs = 142
goto _again
tr154 :
m . cs = 143
goto _again
tr152 :
m . cs = 144
goto _again
tr150 :
m . cs = 145
goto _again
tr148 :
m . cs = 146
goto _again
tr146 :
m . cs = 147
goto _again
tr144 :
m . cs = 148
goto _again
tr142 :
m . cs = 149
goto _again
tr140 :
m . cs = 150
goto _again
tr138 :
m . cs = 151
goto _again
tr136 :
m . cs = 152
goto _again
tr134 :
m . cs = 153
goto _again
tr132 :
m . cs = 154
goto _again
tr130 :
m . cs = 155
goto _again
tr128 :
m . cs = 156
goto _again
tr126 :
m . cs = 157
goto _again
tr124 :
m . cs = 158
goto _again
tr122 :
m . cs = 159
goto _again
tr120 :
m . cs = 160
goto _again
tr118 :
m . cs = 161
goto _again
tr116 :
m . cs = 162
goto _again
tr114 :
m . cs = 163
goto _again
tr112 :
m . cs = 164
goto _again
tr110 :
m . cs = 165
goto _again
tr108 :
m . cs = 166
goto _again
tr105 :
m . cs = 167
goto f1
tr208 :
m . cs = 168
goto _again
tr209 :
m . cs = 169
goto _again
tr210 :
m . cs = 170
goto f2
tr211 :
m . cs = 171
goto _again
tr212 :
m . cs = 172
goto _again
tr42 :
m . cs = 172
goto f4
tr47 :
m . cs = 173
goto _again
tr48 :
m . cs = 173
goto f9
tr214 :
m . cs = 174
goto _again
tr82 :
m . cs = 174
goto f16
tr216 :
m . cs = 175
goto _again
tr84 :
m . cs = 175
goto f18
tr89 :
m . cs = 176
goto _again
tr90 :
m . cs = 176
goto f9
tr218 :
m . cs = 177
goto _again
tr170 :
m . cs = 177
goto f4
tr219 :
m . cs = 178
goto f38
tr227 :
m . cs = 178
goto f42
tr233 :
m . cs = 178
goto f45
tr239 :
m . cs = 178
goto f48
tr244 :
m . cs = 178
goto f51
tr224 :
m . cs = 179
goto _again
tr222 :
m . cs = 179
goto f4
tr175 :
m . cs = 180
goto _again
tr176 :
m . cs = 180
goto f9
tr180 :
m . cs = 181
goto _again
tr181 :
m . cs = 181
goto f9
tr226 :
m . cs = 182
goto _again
tr186 :
m . cs = 182
goto f26
tr232 :
m . cs = 182
goto f44
tr192 :
m . cs = 183
goto _again
tr193 :
m . cs = 183
goto f9
tr229 :
m . cs = 184
goto f42
tr235 :
m . cs = 184
goto f45
tr230 :
m . cs = 185
goto _again
tr231 :
m . cs = 186
goto _again
tr238 :
m . cs = 187
goto _again
tr204 :
m . cs = 187
goto f31
tr243 :
m . cs = 187
goto f50
tr197 :
m . cs = 188
goto _again
tr198 :
m . cs = 188
goto f9
tr241 :
m . cs = 189
goto _again
tr246 :
m . cs = 189
goto f50
tr242 :
m . cs = 190
goto _again
tr202 :
m . cs = 191
goto _again
tr207 :
m . cs = 192
goto _again
tr249 :
m . cs = 193
goto _again
f4 :
m . pb = m . p
goto _again
f9 :
// List of positions in the buffer to later lowercase
output . tolower = append ( output . tolower , m . p - m . pb )
goto _again
f2 :
output . prefix = string ( m . text ( ) )
goto _again
f6 :
output . ID = string ( m . text ( ) )
goto _again
f38 :
output . SS = string ( m . text ( ) )
// Iterate upper letters lowering them
for _ , i := range output . tolower {
m . data [ m . pb + i ] = m . data [ m . pb + i ] + 32
}
output . norm = string ( m . text ( ) )
// Revert the buffer to the original
for _ , i := range output . tolower {
m . data [ m . pb + i ] = m . data [ m . pb + i ] - 32
}
goto _again
f0 :
m . err = fmt . Errorf ( errPrefix , m . p )
( m . p ) --
m . cs = 193
goto _again
goto _again
f5 :
m . err = fmt . Errorf ( errIdentifier , m . p )
( m . p ) --
m . cs = 193
goto _again
goto _again
f7 :
m . err = fmt . Errorf ( errSpecificString , m . p )
( m . p ) --
m . cs = 193
goto _again
goto _again
f23 :
if m . parsingMode == RFC2141Only || m . parsingMode == RFC8141Only {
m . err = fmt . Errorf ( errHex , m . p )
( m . p ) --
m . cs = 193
goto _again
}
goto _again
f11 :
m . err = fmt . Errorf ( errSCIMNamespace , m . p )
( m . p ) --
m . cs = 193
goto _again
goto _again
f13 :
m . err = fmt . Errorf ( errSCIMType , m . p )
( m . p ) --
m . cs = 193
goto _again
goto _again
f15 :
m . err = fmt . Errorf ( errSCIMName , m . p )
( m . p ) --
m . cs = 193
goto _again
goto _again
f17 :
if m . p == m . pe {
m . err = fmt . Errorf ( errSCIMOtherIncomplete , m . p - 1 )
} else {
m . err = fmt . Errorf ( errSCIMOther , m . p )
}
( m . p ) --
m . cs = 193
goto _again
goto _again
f14 :
output . scim . Type = scimschema . TypeFromString ( string ( m . text ( ) ) )
goto _again
f16 :
output . scim . pos = m . p
goto _again
f35 :
output . scim . Name = string ( m . data [ output . scim . pos : m . p ] )
goto _again
f18 :
output . scim . pos = m . p
goto _again
f22 :
m . err = fmt . Errorf ( err8141SpecificString , m . p )
( m . p ) --
m . cs = 193
goto _again
goto _again
f21 :
m . err = fmt . Errorf ( err8141Identifier , m . p )
( m . p ) --
m . cs = 193
goto _again
goto _again
f42 :
output . rComponent = string ( m . text ( ) )
goto _again
f48 :
output . qComponent = string ( m . text ( ) )
goto _again
f44 :
if output . rStart {
m . err = fmt . Errorf ( err8141RComponentStart , m . p )
( m . p ) --
m . cs = 193
goto _again
}
output . rStart = true
goto _again
f50 :
if output . qStart {
m . err = fmt . Errorf ( err8141QComponentStart , m . p )
( m . p ) --
m . cs = 193
goto _again
}
output . qStart = true
goto _again
f25 :
m . err = fmt . Errorf ( err8141MalformedRComp , m . p )
( m . p ) --
m . cs = 193
goto _again
goto _again
f30 :
m . err = fmt . Errorf ( err8141MalformedQComp , m . p )
( m . p ) --
m . cs = 193
goto _again
goto _again
f1 :
m . pb = m . p
if m . parsingMode != RFC8141Only {
// Throw an error when:
// - we are entering here matching the the prefix in the namespace identifier part
// - looking ahead (3 chars) we find a colon
if pos := m . p + 3 ; pos < m . pe && m . data [ pos ] == 58 && output . prefix != "" {
m . err = fmt . Errorf ( errNoUrnWithinID , pos )
( m . p ) --
m . cs = 193
goto _again
}
}
goto _again
f12 :
output . ID = string ( m . text ( ) )
output . scim = & SCIM { }
goto _again
f3 :
m . err = fmt . Errorf ( errIdentifier , m . p )
( m . p ) --
m . cs = 193
goto _again
m . err = fmt . Errorf ( errPrefix , m . p )
( m . p ) --
m . cs = 193
goto _again
goto _again
f10 :
m . err = fmt . Errorf ( errIdentifier , m . p )
( m . p ) --
m . cs = 193
goto _again
m . err = fmt . Errorf ( errNoUrnWithinID , m . p )
( m . p ) --
m . cs = 193
goto _again
goto _again
f8 :
if m . parsingMode == RFC2141Only || m . parsingMode == RFC8141Only {
m . err = fmt . Errorf ( errHex , m . p )
( m . p ) --
m . cs = 193
goto _again
}
m . err = fmt . Errorf ( errSpecificString , m . p )
( m . p ) --
m . cs = 193
goto _again
goto _again
f19 :
if m . parsingMode == RFC2141Only || m . parsingMode == RFC8141Only {
m . err = fmt . Errorf ( errHex , m . p )
( m . p ) --
m . cs = 193
goto _again
}
if m . p == m . pe {
m . err = fmt . Errorf ( errSCIMOtherIncomplete , m . p - 1 )
} else {
m . err = fmt . Errorf ( errSCIMOther , m . p )
}
( m . p ) --
m . cs = 193
goto _again
goto _again
f24 :
if m . parsingMode == RFC2141Only || m . parsingMode == RFC8141Only {
m . err = fmt . Errorf ( errHex , m . p )
( m . p ) --
m . cs = 193
goto _again
}
m . err = fmt . Errorf ( err8141SpecificString , m . p )
( m . p ) --
m . cs = 193
goto _again
goto _again
f27 :
if m . parsingMode == RFC2141Only || m . parsingMode == RFC8141Only {
m . err = fmt . Errorf ( errHex , m . p )
( m . p ) --
m . cs = 193
goto _again
}
m . err = fmt . Errorf ( err8141MalformedRComp , m . p )
( m . p ) --
m . cs = 193
goto _again
goto _again
f28 :
if m . parsingMode == RFC2141Only || m . parsingMode == RFC8141Only {
m . err = fmt . Errorf ( errHex , m . p )
( m . p ) --
m . cs = 193
goto _again
}
m . err = fmt . Errorf ( err8141MalformedQComp , m . p )
( m . p ) --
m . cs = 193
goto _again
goto _again
f20 :
m . err = fmt . Errorf ( err8141Identifier , m . p )
( m . p ) --
m . cs = 193
goto _again
m . err = fmt . Errorf ( errPrefix , m . p )
( m . p ) --
m . cs = 193
goto _again
goto _again
f26 :
if output . rStart {
m . err = fmt . Errorf ( err8141RComponentStart , m . p )
( m . p ) --
m . cs = 193
goto _again
}
output . rStart = true
m . pb = m . p
goto _again
f45 :
2021-08-12 22:03:24 +03:00
2024-03-11 13:12:06 +03:00
if output . rStart {
m . err = fmt . Errorf ( err8141RComponentStart , m . p )
( m . p ) --
m . cs = 193
goto _again
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
output . rStart = true
2021-08-12 22:03:24 +03:00
2024-03-11 13:12:06 +03:00
output . rComponent = string ( m . text ( ) )
2021-08-12 22:03:24 +03:00
2024-03-11 13:12:06 +03:00
goto _again
f31 :
2021-08-12 22:03:24 +03:00
2024-03-11 13:12:06 +03:00
if output . qStart {
m . err = fmt . Errorf ( err8141QComponentStart , m . p )
( m . p ) --
m . cs = 193
goto _again
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
output . qStart = true
2021-08-12 22:03:24 +03:00
m . pb = m . p
2024-03-11 13:12:06 +03:00
goto _again
f51 :
if output . qStart {
m . err = fmt . Errorf ( err8141QComponentStart , m . p )
( m . p ) --
m . cs = 193
goto _again
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
output . qStart = true
output . qComponent = string ( m . text ( ) )
goto _again
f46 :
m . err = fmt . Errorf ( err8141MalformedRComp , m . p )
( m . p ) --
m . cs = 193
goto _again
m . err = fmt . Errorf ( err8141MalformedQComp , m . p )
( m . p ) --
m . cs = 193
goto _again
goto _again
f29 :
if m . parsingMode == RFC2141Only || m . parsingMode == RFC8141Only {
m . err = fmt . Errorf ( errHex , m . p )
( m . p ) --
m . cs = 193
goto _again
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
m . err = fmt . Errorf ( err8141MalformedRComp , m . p )
( m . p ) --
m . cs = 193
goto _again
m . err = fmt . Errorf ( err8141MalformedQComp , m . p )
( m . p ) --
m . cs = 193
goto _again
goto _again
_again :
switch _toStateActions [ m . cs ] {
case 33 :
( m . p ) --
m . err = fmt . Errorf ( err8141InformalID , m . p )
m . cs = 193
goto _again
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
if m . cs == 0 {
goto _out
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
if ( m . p ) ++ ; ( m . p ) != ( m . pe ) {
goto _resume
2021-08-12 22:03:24 +03:00
}
_testEof :
{
}
if ( m . p ) == ( m . eof ) {
2024-03-11 13:12:06 +03:00
switch _eofActions [ m . cs ] {
case 1 :
2021-08-12 22:03:24 +03:00
2024-03-11 13:12:06 +03:00
m . err = fmt . Errorf ( errPrefix , m . p )
( m . p ) --
2021-08-12 22:03:24 +03:00
2024-03-11 13:12:06 +03:00
m . cs = 193
goto _again
2021-08-12 22:03:24 +03:00
2024-03-11 13:12:06 +03:00
case 6 :
m . err = fmt . Errorf ( errIdentifier , m . p )
2021-08-12 22:03:24 +03:00
( m . p ) --
2024-03-11 13:12:06 +03:00
m . cs = 193
goto _again
2021-08-12 22:03:24 +03:00
2024-03-11 13:12:06 +03:00
case 8 :
2021-08-12 22:03:24 +03:00
2024-03-11 13:12:06 +03:00
m . err = fmt . Errorf ( errSpecificString , m . p )
2021-08-12 22:03:24 +03:00
( m . p ) --
2024-03-11 13:12:06 +03:00
m . cs = 193
goto _again
case 24 :
if m . parsingMode == RFC2141Only || m . parsingMode == RFC8141Only {
m . err = fmt . Errorf ( errHex , m . p )
( m . p ) --
m . cs = 193
goto _again
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
case 12 :
m . err = fmt . Errorf ( errSCIMNamespace , m . p )
2021-08-12 22:03:24 +03:00
( m . p ) --
2024-03-11 13:12:06 +03:00
m . cs = 193
goto _again
2021-08-12 22:03:24 +03:00
2024-03-11 13:12:06 +03:00
case 14 :
2021-08-12 22:03:24 +03:00
2024-03-11 13:12:06 +03:00
m . err = fmt . Errorf ( errSCIMType , m . p )
2021-08-12 22:03:24 +03:00
( m . p ) --
2024-03-11 13:12:06 +03:00
m . cs = 193
goto _again
case 16 :
2021-08-12 22:03:24 +03:00
2024-03-11 13:12:06 +03:00
m . err = fmt . Errorf ( errSCIMName , m . p )
2021-08-12 22:03:24 +03:00
( m . p ) --
2024-03-11 13:12:06 +03:00
m . cs = 193
goto _again
case 18 :
if m . p == m . pe {
m . err = fmt . Errorf ( errSCIMOtherIncomplete , m . p - 1 )
} else {
m . err = fmt . Errorf ( errSCIMOther , m . p )
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
( m . p ) --
2021-08-12 22:03:24 +03:00
2024-03-11 13:12:06 +03:00
m . cs = 193
goto _again
2021-08-12 22:03:24 +03:00
2024-03-11 13:12:06 +03:00
case 23 :
m . err = fmt . Errorf ( err8141SpecificString , m . p )
2021-08-12 22:03:24 +03:00
( m . p ) --
2024-03-11 13:12:06 +03:00
m . cs = 193
goto _again
case 22 :
2021-08-12 22:03:24 +03:00
2024-03-11 13:12:06 +03:00
m . err = fmt . Errorf ( err8141Identifier , m . p )
2021-08-12 22:03:24 +03:00
( m . p ) --
2024-03-11 13:12:06 +03:00
m . cs = 193
goto _again
2021-08-12 22:03:24 +03:00
2024-03-11 13:12:06 +03:00
case 26 :
2021-08-12 22:03:24 +03:00
2024-03-11 13:12:06 +03:00
m . err = fmt . Errorf ( err8141MalformedRComp , m . p )
( m . p ) --
m . cs = 193
goto _again
case 31 :
m . err = fmt . Errorf ( err8141MalformedQComp , m . p )
2021-08-12 22:03:24 +03:00
( m . p ) --
2024-03-11 13:12:06 +03:00
m . cs = 193
goto _again
case 34 :
output . SS = string ( m . text ( ) )
// Iterate upper letters lowering them
for _ , i := range output . tolower {
m . data [ m . pb + i ] = m . data [ m . pb + i ] + 32
}
output . norm = string ( m . text ( ) )
// Revert the buffer to the original
for _ , i := range output . tolower {
m . data [ m . pb + i ] = m . data [ m . pb + i ] - 32
}
output . kind = RFC2141
case 38 :
output . SS = string ( m . text ( ) )
// Iterate upper letters lowering them
for _ , i := range output . tolower {
m . data [ m . pb + i ] = m . data [ m . pb + i ] + 32
}
output . norm = string ( m . text ( ) )
// Revert the buffer to the original
for _ , i := range output . tolower {
m . data [ m . pb + i ] = m . data [ m . pb + i ] - 32
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
output . kind = RFC8141
case 4 :
2021-08-12 22:03:24 +03:00
m . err = fmt . Errorf ( errIdentifier , m . p )
( m . p ) --
2024-03-11 13:12:06 +03:00
m . cs = 193
goto _again
2021-08-12 22:03:24 +03:00
2024-03-11 13:12:06 +03:00
m . err = fmt . Errorf ( errPrefix , m . p )
2021-08-12 22:03:24 +03:00
( m . p ) --
2024-03-11 13:12:06 +03:00
m . cs = 193
goto _again
2021-08-12 22:03:24 +03:00
2024-03-11 13:12:06 +03:00
case 11 :
m . err = fmt . Errorf ( errIdentifier , m . p )
( m . p ) --
m . cs = 193
goto _again
2021-08-12 22:03:24 +03:00
m . err = fmt . Errorf ( errNoUrnWithinID , m . p )
( m . p ) --
2024-03-11 13:12:06 +03:00
m . cs = 193
goto _again
case 9 :
if m . parsingMode == RFC2141Only || m . parsingMode == RFC8141Only {
m . err = fmt . Errorf ( errHex , m . p )
( m . p ) --
m . cs = 193
goto _again
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
m . err = fmt . Errorf ( errSpecificString , m . p )
2021-08-12 22:03:24 +03:00
( m . p ) --
2024-03-11 13:12:06 +03:00
m . cs = 193
goto _again
case 20 :
if m . parsingMode == RFC2141Only || m . parsingMode == RFC8141Only {
m . err = fmt . Errorf ( errHex , m . p )
( m . p ) --
m . cs = 193
goto _again
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
if m . p == m . pe {
m . err = fmt . Errorf ( errSCIMOtherIncomplete , m . p - 1 )
} else {
m . err = fmt . Errorf ( errSCIMOther , m . p )
}
2021-08-12 22:03:24 +03:00
( m . p ) --
2024-03-11 13:12:06 +03:00
m . cs = 193
goto _again
case 25 :
if m . parsingMode == RFC2141Only || m . parsingMode == RFC8141Only {
m . err = fmt . Errorf ( errHex , m . p )
( m . p ) --
m . cs = 193
goto _again
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
m . err = fmt . Errorf ( err8141SpecificString , m . p )
( m . p ) --
m . cs = 193
goto _again
case 28 :
if m . parsingMode == RFC2141Only || m . parsingMode == RFC8141Only {
m . err = fmt . Errorf ( errHex , m . p )
( m . p ) --
m . cs = 193
goto _again
}
2021-08-12 22:03:24 +03:00
2024-03-11 13:12:06 +03:00
m . err = fmt . Errorf ( err8141MalformedRComp , m . p )
2021-08-12 22:03:24 +03:00
( m . p ) --
2024-03-11 13:12:06 +03:00
m . cs = 193
goto _again
case 29 :
if m . parsingMode == RFC2141Only || m . parsingMode == RFC8141Only {
m . err = fmt . Errorf ( errHex , m . p )
( m . p ) --
m . cs = 193
goto _again
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
m . err = fmt . Errorf ( err8141MalformedQComp , m . p )
( m . p ) --
m . cs = 193
goto _again
case 21 :
m . err = fmt . Errorf ( err8141Identifier , m . p )
( m . p ) --
m . cs = 193
goto _again
m . err = fmt . Errorf ( errPrefix , m . p )
2021-08-12 22:03:24 +03:00
( m . p ) --
2024-03-11 13:12:06 +03:00
m . cs = 193
goto _again
case 42 :
output . rComponent = string ( m . text ( ) )
output . kind = RFC8141
case 48 :
output . qComponent = string ( m . text ( ) )
output . kind = RFC8141
case 41 :
output . fComponent = string ( m . text ( ) )
output . kind = RFC8141
case 40 :
m . pb = m . p
output . fComponent = string ( m . text ( ) )
output . kind = RFC8141
case 30 :
if m . parsingMode == RFC2141Only || m . parsingMode == RFC8141Only {
m . err = fmt . Errorf ( errHex , m . p )
( m . p ) --
m . cs = 193
goto _again
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
m . err = fmt . Errorf ( err8141MalformedRComp , m . p )
( m . p ) --
m . cs = 193
goto _again
m . err = fmt . Errorf ( err8141MalformedQComp , m . p )
2021-08-12 22:03:24 +03:00
( m . p ) --
2024-03-11 13:12:06 +03:00
m . cs = 193
goto _again
case 35 :
output . scim . Name = string ( m . data [ output . scim . pos : m . p ] )
output . SS = string ( m . text ( ) )
// Iterate upper letters lowering them
for _ , i := range output . tolower {
m . data [ m . pb + i ] = m . data [ m . pb + i ] + 32
}
output . norm = string ( m . text ( ) )
// Revert the buffer to the original
for _ , i := range output . tolower {
m . data [ m . pb + i ] = m . data [ m . pb + i ] - 32
}
output . kind = RFC7643
case 37 :
output . scim . Other = string ( m . data [ output . scim . pos : m . p ] )
output . SS = string ( m . text ( ) )
// Iterate upper letters lowering them
for _ , i := range output . tolower {
m . data [ m . pb + i ] = m . data [ m . pb + i ] + 32
}
output . norm = string ( m . text ( ) )
// Revert the buffer to the original
for _ , i := range output . tolower {
m . data [ m . pb + i ] = m . data [ m . pb + i ] - 32
}
output . kind = RFC7643
case 44 :
if output . rStart {
m . err = fmt . Errorf ( err8141RComponentStart , m . p )
( m . p ) --
m . cs = 193
goto _again
}
output . rStart = true
output . rComponent = string ( m . text ( ) )
output . kind = RFC8141
case 50 :
if output . qStart {
m . err = fmt . Errorf ( err8141QComponentStart , m . p )
( m . p ) --
m . cs = 193
goto _again
2021-08-12 22:03:24 +03:00
}
2024-03-11 13:12:06 +03:00
output . qStart = true
output . qComponent = string ( m . text ( ) )
output . kind = RFC8141
2021-08-12 22:03:24 +03:00
}
}
_out :
{
}
}
if m . cs < firstFinal || m . cs == enFail {
return nil , m . err
}
return output , nil
}
2024-03-11 13:12:06 +03:00
func ( m * machine ) WithParsingMode ( x ParsingMode ) {
m . parsingMode = x
switch m . parsingMode {
case RFC2141Only :
m . startParsingAt = enMain
case RFC8141Only :
m . startParsingAt = enRfc8141Only
case RFC7643Only :
m . startParsingAt = enScimOnly
}
m . parsingModeSet = true
}