Codebase list golang-github-influxdata-go-syslog / b0b44cb
New upstream version 2.0.0 Michael Prokop 5 years ago
47 changed file(s) with 36294 addition(s) and 0 deletion(s). Raw diff Collapse all Expand all
0 version: 2
1 jobs:
2 test:
3 docker:
4 - image: circleci/golang:1.11
5 environment:
6 GOCACHE: /tmp/go-cache
7 GOFLAGS: "-mod=readonly -p=4"
8 working_directory: "/go/src/github.com/influxdata/go-syslog"
9 steps:
10 - checkout
11 - restore_cache:
12 name: Restoring caches
13 keys:
14 - go-syslog-gocache-{{ .Branch }}-{{ .Revision }}
15 - go-syslog-modules-{{ checksum "go.sum" }}
16 - run: make GO_ARGS="-timeout 20s -coverprofile cover.out -race -v" tests
17 - save_cache:
18 name: Caching GOCACHE
19 key: go-syslog-gocache-{{ .Branch }}-{{ .Revision }}
20 paths:
21 - /tmp/go-cache
22 when: always
23 - save_cache:
24 name: Caching modules
25 key: go-syslog-modules-{{ checksum "go.sum" }}
26 paths:
27 - /go/pkg/mod
28 when: always
29
30 workflows:
31 version: 2
32 testing:
33 jobs:
34 - test
0 debug.test
1
2 docs/*.png
3
4 .vscode/
5
6 *.out
7 *.html
0 The MIT License
1
2 Copyright (c) 2018, InfluxData Inc.
3
4 Permission is hereby granted, free of charge, to any person obtaining a copy
5 of this software and associated documentation files (the "Software"), to deal
6 in the Software without restriction, including without limitation the rights
7 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 copies of the Software, and to permit persons to whom the Software is
9 furnished to do so, subject to the following conditions:
10
11 The above copyright notice and this permission notice shall be included in
12 all copies or substantial portions of the Software.
13
14 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20 THE SOFTWARE.
0 [![MIT License](http://img.shields.io/badge/license-MIT-blue.svg?style=for-the-badge)](LICENSE)
1
2 **A parser for syslog messages**.
3
4 > [Blazing fast](#Performances) RFC5424-compliant parsers
5
6 To wrap up, this package provides:
7
8 - a RFC5424-compliant parser
9 - a RFC5424-compliant builder
10 - a parser which works on streams for syslog with [octet counting](https://tools.ietf.org/html/rfc5425#section-4.3) framing technique
11 - a parser which works on streams for syslog with [non-transparent](https://tools.ietf.org/html/rfc6587#section-3.4.2) framing technique
12
13 This library provides the pieces to parse syslog messages transported following various RFCs.
14
15 For example:
16
17 - TLS with octet count ([RFC5425](https://tools.ietf.org/html/rfc5425))
18 - TCP with non-transparent framing or with octet count ([RFC 6587](https://tools.ietf.org/html/rfc6587))
19 - UDP carrying one message per packet ([RFC5426](https://tools.ietf.org/html/rfc5426))
20
21 ## Installation
22
23 ```
24 go get github.com/influxdata/go-syslog
25 ```
26
27 ## Docs
28
29 [![Documentation](https://img.shields.io/badge/godoc-reference-blue.svg?style=for-the-badge)](http://godoc.org/github.com/influxdata/go-syslog)
30
31 The [docs](docs/) directory contains `.dot` files representing the FSM parts of a [RFC5424](https://tools.ietf.org/html/rfc5424) syslog message and also the ones representing the other transport parsers.
32
33 ## Usage
34
35 Suppose you want to parse a given sequence of bytes as a RFC5424 message.
36
37 ```go
38 i := []byte(`<165>4 2018-10-11T22:14:15.003Z mymach.it e - 1 [ex@32473 iut="3"] An application event log entry...`)
39 p := rfc5424.NewParser()
40 m, e := p.Parse(i, nil)
41 ```
42
43 This results in `m` being equal to:
44
45 ```go
46 // (*rfc5424.SyslogMessage)({
47 // priority: (*uint8)(165),
48 // facility: (*uint8)(20),
49 // severity: (*uint8)(5),
50 // version: (uint16) 4,
51 // timestamp: (*time.Time)(2018-10-11 22:14:15.003 +0000 UTC),
52 // hostname: (*string)((len=9) "mymach.it"),
53 // appname: (*string)((len=1) "e"),
54 // procID: (*string)(<nil>),
55 // msgID: (*string)((len=1) "1"),
56 // structuredData: (*map[string]map[string]string)((len=1) {
57 // (string) (len=8) "ex@32473": (map[string]string) (len=1) {
58 // (string) (len=3) "iut": (string) (len=1) "3"
59 // }
60 // }),
61 // message: (*string)((len=33) "An application event log entry...")
62 // })
63 ```
64
65 And `e` being equal to `nil`, since the `i` is a perfectly valid RFC5424 message.
66
67 ### Best effort mode
68
69 RFC5424 parser has the ability to perform partial matches (until it can).
70
71 With this mode enabled, when the parsing process errors out it returns the message collected until that position, and the error that caused the parser to stop.
72
73 Notice that in this modality the output is returned _iff_ it represents a minimally valid message - ie., a message containing almost a priority field in `[1,191]` within angular brackets, followed by a version in `]0,999]`.
74
75 Let's look at an example.
76
77 ```go
78 bestEffortOn := true
79 i := []byte("<1>1 A - - - - - -")
80 p := NewParser()
81 m, e := p.Parse(i, &bestEffortOn)
82 ```
83
84 This results in `m` being equal to the following `SyslogMessage` instance.
85
86 ```go
87 // (*rfc5424.SyslogMessage)({
88 // priority: (*uint8)(1),
89 // facility: (*uint8)(0),
90 // severity: (*uint8)(1),
91 // version: (uint16) 1,
92 // timestamp: (*time.Time)(<nil>),
93 // hostname: (*string)(<nil>),
94 // appname: (*string)(<nil>),
95 // procID: (*string)(<nil>),
96 // msgID: (*string)(<nil>),
97 // structuredData: (*map[string]map[string]string)(<nil>),
98 // message: (*string)(<nil>)
99 // })
100 ```
101
102 And, at the same time, in `e` reporting the error that actually stopped the parser.
103
104 ```go
105 expecting a RFC3339MICRO timestamp or a nil value [col 5]
106 ```
107
108 Both `m` and `e` have a value since at the column the parser stopped it already was able to construct a minimally valid `SyslogMessage`.
109
110 ### Builder
111
112 This library also provides a builder to construct valid syslog messages.
113
114 Notice that its API ignores input values that does not match the grammar.
115
116 Let's have a look to an example.
117
118 ```go
119 msg := &SyslogMessage{}
120 msg.SetTimestamp("not a RFC3339MICRO timestamp")
121 msg.Valid() // Not yet a valid message (try msg.Valid())
122 msg.SetPriority(191)
123 msg.SetVersion(1)
124 msg.Valid() // Now it is minimally valid
125 ```
126
127 Printing `msg` you will verify it contains a `nil` timestamp (since an invalid one has been given).
128
129 ```go
130 // (*rfc5424.SyslogMessage)({
131 // priority: (*uint8)(191),
132 // facility: (*uint8)(23),
133 // severity: (*uint8)(7),
134 // version: (uint16) 1,
135 // timestamp: (*time.Time)(<nil>),
136 // hostname: (*string)(<nil>),
137 // appname: (*string)(<nil>),
138 // procID: (*string)(<nil>),
139 // msgID: (*string)(<nil>),
140 // structuredData: (*map[string]map[string]string)(<nil>),
141 // message: (*string)(<nil>)
142 // })
143 ```
144
145 Finally you can serialize the message into a string.
146
147 ```go
148 str, _ := msg.String()
149 // <191>1 - - - - - -
150 ```
151
152 ## Message transfer
153
154 Excluding encapsulating one message for packet in packet protocols there are two ways to transfer syslog messages over streams.
155
156 The older - ie., the **non-transparent** framing - and the newer one - ie., the **octet counting** framing - which is reliable and has not been seen to cause problems noted with the non-transparent one.
157
158 This library provide stream parsers for both.
159
160 ### Octet counting
161
162 In short, [RFC5425](https://tools.ietf.org/html/rfc5425#section-4.3) and [RFC6587](), aside from the protocol considerations, describe a **transparent framing** technique for syslog messages that uses the **octect counting** technique - ie., the message lenght of the incoming message.
163
164 Each syslog message is sent with a prefix representing the number of bytes it is made of.
165
166 This [package](./octetcounting) parses messages stream following such rule.
167
168 To quickly understand how to use it please have a look at the [example file](./octetcounting/example_test.go).
169
170 ### Non transparent
171
172 The [RFC6587](https://tools.ietf.org/html/rfc6587#section-3.4.2) also describes the **non-transparent framing** transport of syslog messages.
173
174 In such case the messages are separated by a trailer, usually a line feed.
175
176 This [package](./nontransparent) parses message stream following such [technique](https://tools.ietf.org/html/rfc6587#section-3.4.2).
177
178 To quickly understand how to use it please have a look at the [example file](./nontransparent/example_test.go).
179
180 Things we do not support:
181
182 - trailers other than `LF` or `NUL`
183 - trailer which length is greater than 1 byte
184 - trailer change on a frame-by-frame basis
185
186 ## Performances
187
188 To run the benchmark execute the following command.
189
190 ```bash
191 make bench
192 ```
193
194 On my machine<sup>[1](#mymachine)</sup> this are the results obtained in best effort mode.
195
196 ```
197 [no]_empty_input__________________________________-4 30000000 253 ns/op 224 B/op 3 allocs/op
198 [no]_multiple_syslog_messages_on_multiple_lines___-4 20000000 433 ns/op 304 B/op 12 allocs/op
199 [no]_impossible_timestamp_________________________-4 10000000 1080 ns/op 528 B/op 11 allocs/op
200 [no]_malformed_structured_data____________________-4 20000000 552 ns/op 400 B/op 12 allocs/op
201 [no]_with_duplicated_structured_data_id___________-4 5000000 1246 ns/op 688 B/op 17 allocs/op
202 [ok]_minimal______________________________________-4 30000000 264 ns/op 247 B/op 9 allocs/op
203 [ok]_average_message______________________________-4 5000000 1984 ns/op 1536 B/op 26 allocs/op
204 [ok]_complicated_message__________________________-4 5000000 1644 ns/op 1280 B/op 25 allocs/op
205 [ok]_very_long_message____________________________-4 2000000 3826 ns/op 2464 B/op 28 allocs/op
206 [ok]_all_max_length_and_complete__________________-4 3000000 2792 ns/op 1888 B/op 28 allocs/op
207 [ok]_all_max_length_except_structured_data_and_mes-4 5000000 1830 ns/op 883 B/op 13 allocs/op
208 [ok]_minimal_with_message_containing_newline______-4 20000000 294 ns/op 250 B/op 10 allocs/op
209 [ok]_w/o_procid,_w/o_structured_data,_with_message-4 10000000 956 ns/op 364 B/op 11 allocs/op
210 [ok]_minimal_with_UTF-8_message___________________-4 20000000 586 ns/op 359 B/op 10 allocs/op
211 [ok]_with_structured_data_id,_w/o_structured_data_-4 10000000 998 ns/op 592 B/op 14 allocs/op
212 [ok]_with_multiple_structured_data________________-4 5000000 1538 ns/op 1232 B/op 22 allocs/op
213 [ok]_with_escaped_backslash_within_structured_data-4 5000000 1316 ns/op 920 B/op 20 allocs/op
214 [ok]_with_UTF-8_structured_data_param_value,_with_-4 5000000 1580 ns/op 1050 B/op 21 allocs/op
215 ```
216
217 As you can see it takes:
218
219 * ~250ns to parse the smallest legal message
220
221 * ~2µs to parse an average legal message
222
223 * ~4µs to parse a very long legal message
224
225 Other RFC5424 implementations, like this [one](https://github.com/roguelazer/rust-syslog-rfc5424) in Rust, spend 8µs to parse an average legal message.
226
227 _TBD: comparation against other golang parsers_.
228
229 ---
230
231 * <a name="mymachine">[1]</a>: Intel Core i7-7600U CPU @ 2.80GHz
0 digraph nontransparent {
1 rankdir=LR;
2 node [ shape = point ];
3 ENTRY;
4 en_1;
5 node [ shape = circle, height = 0.2 ];
6 node [ fixedsize = true, height = 0.65, shape = doublecircle ];
7 3;
8 node [ shape = circle ];
9 1 -> 2 [ label = "'<' / on_init" ];
10 2 -> 2 [ label = "1..'\\t', '\\v'..255, '\\n'(!27:13), 0(!27:13)" ];
11 2 -> 3 [ label = "'\\n'(27:13), 0(28:13) / on_trailer" ];
12 3 -> 2 [ label = "1..'\\t', '\\v'..';', '='..255, '\\n'(!27:13), 0(!27:13)" ];
13 3 -> 2 [ label = "'<' / on_init" ];
14 3 -> 3 [ label = "'\\n'(27:13), 0(28:13) / on_trailer" ];
15 ENTRY -> 1 [ label = "IN" ];
16 en_1 -> 1 [ label = "main" ];
17 }
0 digraph rfc5424 {
1 rankdir=LR;
2 node [ shape = point ];
3 ENTRY;
4 en_607;
5 en_1;
6 eof_1;
7 eof_2;
8 eof_3;
9 eof_4;
10 eof_5;
11 eof_6;
12 eof_7;
13 eof_8;
14 eof_9;
15 eof_10;
16 eof_11;
17 eof_12;
18 eof_13;
19 eof_14;
20 eof_15;
21 eof_16;
22 eof_17;
23 eof_18;
24 eof_19;
25 eof_20;
26 eof_21;
27 eof_22;
28 eof_23;
29 eof_24;
30 eof_25;
31 eof_26;
32 eof_27;
33 eof_28;
34 eof_29;
35 eof_30;
36 eof_31;
37 eof_32;
38 eof_33;
39 eof_34;
40 eof_35;
41 eof_36;
42 eof_37;
43 eof_38;
44 eof_39;
45 eof_40;
46 eof_41;
47 eof_42;
48 eof_43;
49 eof_44;
50 eof_45;
51 eof_46;
52 eof_47;
53 eof_48;
54 eof_49;
55 eof_50;
56 eof_51;
57 eof_52;
58 eof_53;
59 eof_54;
60 eof_55;
61 eof_56;
62 eof_57;
63 eof_58;
64 eof_59;
65 eof_60;
66 eof_61;
67 eof_62;
68 eof_63;
69 eof_64;
70 eof_65;
71 eof_66;
72 eof_67;
73 eof_68;
74 eof_69;
75 eof_70;
76 eof_71;
77 eof_72;
78 eof_73;
79 eof_74;
80 eof_75;
81 eof_76;
82 eof_77;
83 eof_78;
84 eof_79;
85 eof_80;
86 eof_81;
87 eof_82;
88 eof_83;
89 eof_84;
90 eof_85;
91 eof_86;
92 eof_87;
93 eof_88;
94 eof_89;
95 eof_90;
96 eof_91;
97 eof_92;
98 eof_93;
99 eof_94;
100 eof_95;
101 eof_96;
102 eof_97;
103 eof_98;
104 eof_99;
105 eof_100;
106 eof_101;
107 eof_102;
108 eof_103;
109 eof_104;
110 eof_105;
111 eof_106;
112 eof_107;
113 eof_108;
114 eof_109;
115 eof_110;
116 eof_111;
117 eof_112;
118 eof_113;
119 eof_114;
120 eof_115;
121 eof_116;
122 eof_117;
123 eof_118;
124 eof_119;
125 eof_120;
126 eof_121;
127 eof_122;
128 eof_123;
129 eof_124;
130 eof_125;
131 eof_126;
132 eof_127;
133 eof_128;
134 eof_129;
135 eof_130;
136 eof_131;
137 eof_132;
138 eof_133;
139 eof_134;
140 eof_135;
141 eof_136;
142 eof_137;
143 eof_138;
144 eof_139;
145 eof_140;
146 eof_141;
147 eof_142;
148 eof_143;
149 eof_144;
150 eof_145;
151 eof_146;
152 eof_147;
153 eof_148;
154 eof_149;
155 eof_150;
156 eof_151;
157 eof_152;
158 eof_153;
159 eof_154;
160 eof_155;
161 eof_156;
162 eof_157;
163 eof_158;
164 eof_159;
165 eof_160;
166 eof_161;
167 eof_162;
168 eof_163;
169 eof_164;
170 eof_165;
171 eof_166;
172 eof_167;
173 eof_168;
174 eof_169;
175 eof_170;
176 eof_171;
177 eof_172;
178 eof_173;
179 eof_174;
180 eof_175;
181 eof_176;
182 eof_177;
183 eof_178;
184 eof_179;
185 eof_180;
186 eof_181;
187 eof_182;
188 eof_183;
189 eof_184;
190 eof_185;
191 eof_186;
192 eof_187;
193 eof_188;
194 eof_189;
195 eof_190;
196 eof_191;
197 eof_192;
198 eof_193;
199 eof_194;
200 eof_195;
201 eof_196;
202 eof_197;
203 eof_198;
204 eof_199;
205 eof_200;
206 eof_201;
207 eof_202;
208 eof_203;
209 eof_204;
210 eof_205;
211 eof_206;
212 eof_207;
213 eof_208;
214 eof_209;
215 eof_210;
216 eof_211;
217 eof_212;
218 eof_213;
219 eof_214;
220 eof_215;
221 eof_216;
222 eof_217;
223 eof_218;
224 eof_219;
225 eof_220;
226 eof_221;
227 eof_222;
228 eof_223;
229 eof_224;
230 eof_225;
231 eof_226;
232 eof_227;
233 eof_228;
234 eof_229;
235 eof_230;
236 eof_231;
237 eof_232;
238 eof_233;
239 eof_234;
240 eof_235;
241 eof_236;
242 eof_237;
243 eof_238;
244 eof_239;
245 eof_240;
246 eof_241;
247 eof_242;
248 eof_243;
249 eof_244;
250 eof_245;
251 eof_246;
252 eof_247;
253 eof_248;
254 eof_249;
255 eof_250;
256 eof_251;
257 eof_252;
258 eof_253;
259 eof_254;
260 eof_255;
261 eof_256;
262 eof_257;
263 eof_258;
264 eof_259;
265 eof_260;
266 eof_261;
267 eof_262;
268 eof_263;
269 eof_264;
270 eof_265;
271 eof_266;
272 eof_267;
273 eof_268;
274 eof_269;
275 eof_270;
276 eof_271;
277 eof_272;
278 eof_273;
279 eof_274;
280 eof_275;
281 eof_276;
282 eof_277;
283 eof_278;
284 eof_279;
285 eof_280;
286 eof_281;
287 eof_282;
288 eof_283;
289 eof_284;
290 eof_285;
291 eof_286;
292 eof_287;
293 eof_288;
294 eof_289;
295 eof_290;
296 eof_291;
297 eof_292;
298 eof_293;
299 eof_294;
300 eof_295;
301 eof_296;
302 eof_297;
303 eof_298;
304 eof_299;
305 eof_300;
306 eof_301;
307 eof_302;
308 eof_303;
309 eof_304;
310 eof_305;
311 eof_306;
312 eof_307;
313 eof_308;
314 eof_309;
315 eof_310;
316 eof_311;
317 eof_312;
318 eof_313;
319 eof_314;
320 eof_315;
321 eof_316;
322 eof_317;
323 eof_318;
324 eof_319;
325 eof_320;
326 eof_321;
327 eof_322;
328 eof_323;
329 eof_324;
330 eof_325;
331 eof_326;
332 eof_327;
333 eof_328;
334 eof_329;
335 eof_330;
336 eof_331;
337 eof_332;
338 eof_333;
339 eof_334;
340 eof_335;
341 eof_336;
342 eof_337;
343 eof_338;
344 eof_339;
345 eof_340;
346 eof_341;
347 eof_342;
348 eof_343;
349 eof_344;
350 eof_345;
351 eof_346;
352 eof_347;
353 eof_348;
354 eof_349;
355 eof_350;
356 eof_351;
357 eof_352;
358 eof_353;
359 eof_354;
360 eof_355;
361 eof_356;
362 eof_357;
363 eof_358;
364 eof_359;
365 eof_360;
366 eof_361;
367 eof_362;
368 eof_363;
369 eof_364;
370 eof_365;
371 eof_366;
372 eof_367;
373 eof_368;
374 eof_369;
375 eof_370;
376 eof_371;
377 eof_372;
378 eof_373;
379 eof_374;
380 eof_375;
381 eof_376;
382 eof_377;
383 eof_378;
384 eof_379;
385 eof_380;
386 eof_381;
387 eof_382;
388 eof_383;
389 eof_384;
390 eof_385;
391 eof_386;
392 eof_387;
393 eof_388;
394 eof_389;
395 eof_390;
396 eof_391;
397 eof_392;
398 eof_393;
399 eof_394;
400 eof_395;
401 eof_396;
402 eof_397;
403 eof_398;
404 eof_399;
405 eof_400;
406 eof_401;
407 eof_402;
408 eof_403;
409 eof_404;
410 eof_405;
411 eof_406;
412 eof_407;
413 eof_408;
414 eof_409;
415 eof_410;
416 eof_411;
417 eof_412;
418 eof_413;
419 eof_414;
420 eof_415;
421 eof_416;
422 eof_417;
423 eof_418;
424 eof_419;
425 eof_420;
426 eof_421;
427 eof_422;
428 eof_423;
429 eof_424;
430 eof_425;
431 eof_426;
432 eof_427;
433 eof_428;
434 eof_429;
435 eof_430;
436 eof_431;
437 eof_432;
438 eof_433;
439 eof_434;
440 eof_435;
441 eof_436;
442 eof_437;
443 eof_438;
444 eof_439;
445 eof_440;
446 eof_441;
447 eof_442;
448 eof_443;
449 eof_444;
450 eof_445;
451 eof_446;
452 eof_447;
453 eof_448;
454 eof_449;
455 eof_450;
456 eof_451;
457 eof_452;
458 eof_453;
459 eof_454;
460 eof_455;
461 eof_456;
462 eof_457;
463 eof_458;
464 eof_459;
465 eof_460;
466 eof_461;
467 eof_462;
468 eof_463;
469 eof_464;
470 eof_465;
471 eof_466;
472 eof_467;
473 eof_468;
474 eof_469;
475 eof_470;
476 eof_471;
477 eof_472;
478 eof_473;
479 eof_474;
480 eof_475;
481 eof_476;
482 eof_477;
483 eof_478;
484 eof_479;
485 eof_480;
486 eof_481;
487 eof_482;
488 eof_483;
489 eof_484;
490 eof_485;
491 eof_486;
492 eof_487;
493 eof_488;
494 eof_489;
495 eof_490;
496 eof_491;
497 eof_492;
498 eof_493;
499 eof_494;
500 eof_495;
501 eof_496;
502 eof_497;
503 eof_498;
504 eof_499;
505 eof_500;
506 eof_501;
507 eof_502;
508 eof_503;
509 eof_504;
510 eof_505;
511 eof_506;
512 eof_507;
513 eof_508;
514 eof_509;
515 eof_510;
516 eof_511;
517 eof_512;
518 eof_513;
519 eof_514;
520 eof_515;
521 eof_516;
522 eof_517;
523 eof_518;
524 eof_519;
525 eof_520;
526 eof_521;
527 eof_522;
528 eof_523;
529 eof_524;
530 eof_525;
531 eof_526;
532 eof_527;
533 eof_528;
534 eof_529;
535 eof_530;
536 eof_531;
537 eof_532;
538 eof_533;
539 eof_534;
540 eof_535;
541 eof_536;
542 eof_537;
543 eof_538;
544 eof_539;
545 eof_540;
546 eof_541;
547 eof_542;
548 eof_543;
549 eof_544;
550 eof_545;
551 eof_546;
552 eof_547;
553 eof_548;
554 eof_549;
555 eof_550;
556 eof_551;
557 eof_552;
558 eof_553;
559 eof_554;
560 eof_555;
561 eof_556;
562 eof_557;
563 eof_558;
564 eof_559;
565 eof_560;
566 eof_561;
567 eof_562;
568 eof_563;
569 eof_564;
570 eof_565;
571 eof_566;
572 eof_567;
573 eof_568;
574 eof_569;
575 eof_570;
576 eof_571;
577 eof_572;
578 eof_573;
579 eof_574;
580 eof_575;
581 eof_576;
582 eof_577;
583 eof_578;
584 eof_579;
585 eof_580;
586 eof_581;
587 eof_582;
588 eof_583;
589 eof_584;
590 eof_585;
591 eof_586;
592 eof_587;
593 eof_588;
594 eof_589;
595 eof_590;
596 eof_591;
597 eof_592;
598 eof_593;
599 eof_594;
600 eof_595;
601 eof_596;
602 eof_597;
603 eof_598;
604 eof_599;
605 eof_600;
606 eof_601;
607 eof_602;
608 eof_604;
609 eof_605;
610 node [ shape = circle, height = 0.2 ];
611 err_1 [ label=""];
612 err_2 [ label=""];
613 err_3 [ label=""];
614 err_4 [ label=""];
615 err_5 [ label=""];
616 err_6 [ label=""];
617 err_7 [ label=""];
618 err_8 [ label=""];
619 err_9 [ label=""];
620 err_10 [ label=""];
621 err_11 [ label=""];
622 err_12 [ label=""];
623 err_13 [ label=""];
624 err_14 [ label=""];
625 err_15 [ label=""];
626 err_16 [ label=""];
627 err_17 [ label=""];
628 err_18 [ label=""];
629 err_19 [ label=""];
630 err_20 [ label=""];
631 err_21 [ label=""];
632 err_22 [ label=""];
633 err_23 [ label=""];
634 err_24 [ label=""];
635 err_25 [ label=""];
636 err_26 [ label=""];
637 err_27 [ label=""];
638 err_28 [ label=""];
639 err_29 [ label=""];
640 err_30 [ label=""];
641 err_31 [ label=""];
642 err_32 [ label=""];
643 err_33 [ label=""];
644 err_34 [ label=""];
645 err_35 [ label=""];
646 err_36 [ label=""];
647 err_37 [ label=""];
648 err_38 [ label=""];
649 err_39 [ label=""];
650 err_40 [ label=""];
651 err_41 [ label=""];
652 err_42 [ label=""];
653 err_43 [ label=""];
654 err_44 [ label=""];
655 err_45 [ label=""];
656 err_46 [ label=""];
657 err_47 [ label=""];
658 err_48 [ label=""];
659 err_49 [ label=""];
660 err_50 [ label=""];
661 err_51 [ label=""];
662 err_52 [ label=""];
663 err_53 [ label=""];
664 err_54 [ label=""];
665 err_55 [ label=""];
666 err_56 [ label=""];
667 err_57 [ label=""];
668 err_58 [ label=""];
669 err_59 [ label=""];
670 err_60 [ label=""];
671 err_61 [ label=""];
672 err_62 [ label=""];
673 err_63 [ label=""];
674 err_64 [ label=""];
675 err_65 [ label=""];
676 err_66 [ label=""];
677 err_67 [ label=""];
678 err_68 [ label=""];
679 err_69 [ label=""];
680 err_70 [ label=""];
681 err_71 [ label=""];
682 err_72 [ label=""];
683 err_73 [ label=""];
684 err_74 [ label=""];
685 err_75 [ label=""];
686 err_76 [ label=""];
687 err_77 [ label=""];
688 err_78 [ label=""];
689 err_79 [ label=""];
690 err_80 [ label=""];
691 err_81 [ label=""];
692 err_82 [ label=""];
693 err_83 [ label=""];
694 err_84 [ label=""];
695 err_85 [ label=""];
696 err_86 [ label=""];
697 err_87 [ label=""];
698 err_88 [ label=""];
699 err_89 [ label=""];
700 err_90 [ label=""];
701 err_91 [ label=""];
702 err_92 [ label=""];
703 err_93 [ label=""];
704 err_94 [ label=""];
705 err_95 [ label=""];
706 err_96 [ label=""];
707 err_97 [ label=""];
708 err_98 [ label=""];
709 err_99 [ label=""];
710 err_100 [ label=""];
711 err_101 [ label=""];
712 err_102 [ label=""];
713 err_103 [ label=""];
714 err_104 [ label=""];
715 err_105 [ label=""];
716 err_106 [ label=""];
717 err_107 [ label=""];
718 err_108 [ label=""];
719 err_109 [ label=""];
720 err_110 [ label=""];
721 err_111 [ label=""];
722 err_112 [ label=""];
723 err_113 [ label=""];
724 err_114 [ label=""];
725 err_115 [ label=""];
726 err_116 [ label=""];
727 err_117 [ label=""];
728 err_118 [ label=""];
729 err_119 [ label=""];
730 err_120 [ label=""];
731 err_121 [ label=""];
732 err_122 [ label=""];
733 err_123 [ label=""];
734 err_124 [ label=""];
735 err_125 [ label=""];
736 err_126 [ label=""];
737 err_127 [ label=""];
738 err_128 [ label=""];
739 err_129 [ label=""];
740 err_130 [ label=""];
741 err_131 [ label=""];
742 err_132 [ label=""];
743 err_133 [ label=""];
744 err_134 [ label=""];
745 err_135 [ label=""];
746 err_136 [ label=""];
747 err_137 [ label=""];
748 err_138 [ label=""];
749 err_139 [ label=""];
750 err_140 [ label=""];
751 err_141 [ label=""];
752 err_142 [ label=""];
753 err_143 [ label=""];
754 err_144 [ label=""];
755 err_145 [ label=""];
756 err_146 [ label=""];
757 err_147 [ label=""];
758 err_148 [ label=""];
759 err_149 [ label=""];
760 err_150 [ label=""];
761 err_151 [ label=""];
762 err_152 [ label=""];
763 err_153 [ label=""];
764 err_154 [ label=""];
765 err_155 [ label=""];
766 err_156 [ label=""];
767 err_157 [ label=""];
768 err_158 [ label=""];
769 err_159 [ label=""];
770 err_160 [ label=""];
771 err_161 [ label=""];
772 err_162 [ label=""];
773 err_163 [ label=""];
774 err_164 [ label=""];
775 err_165 [ label=""];
776 err_166 [ label=""];
777 err_167 [ label=""];
778 err_168 [ label=""];
779 err_169 [ label=""];
780 err_170 [ label=""];
781 err_171 [ label=""];
782 err_172 [ label=""];
783 err_173 [ label=""];
784 err_174 [ label=""];
785 err_175 [ label=""];
786 err_176 [ label=""];
787 err_177 [ label=""];
788 err_178 [ label=""];
789 err_179 [ label=""];
790 err_180 [ label=""];
791 err_181 [ label=""];
792 err_182 [ label=""];
793 err_183 [ label=""];
794 err_184 [ label=""];
795 err_185 [ label=""];
796 err_186 [ label=""];
797 err_187 [ label=""];
798 err_188 [ label=""];
799 err_189 [ label=""];
800 err_190 [ label=""];
801 err_191 [ label=""];
802 err_192 [ label=""];
803 err_193 [ label=""];
804 err_194 [ label=""];
805 err_195 [ label=""];
806 err_196 [ label=""];
807 err_197 [ label=""];
808 err_198 [ label=""];
809 err_199 [ label=""];
810 err_200 [ label=""];
811 err_201 [ label=""];
812 err_202 [ label=""];
813 err_203 [ label=""];
814 err_204 [ label=""];
815 err_205 [ label=""];
816 err_206 [ label=""];
817 err_207 [ label=""];
818 err_208 [ label=""];
819 err_209 [ label=""];
820 err_210 [ label=""];
821 err_211 [ label=""];
822 err_212 [ label=""];
823 err_213 [ label=""];
824 err_214 [ label=""];
825 err_215 [ label=""];
826 err_216 [ label=""];
827 err_217 [ label=""];
828 err_218 [ label=""];
829 err_219 [ label=""];
830 err_220 [ label=""];
831 err_221 [ label=""];
832 err_222 [ label=""];
833 err_223 [ label=""];
834 err_224 [ label=""];
835 err_225 [ label=""];
836 err_226 [ label=""];
837 err_227 [ label=""];
838 err_228 [ label=""];
839 err_229 [ label=""];
840 err_230 [ label=""];
841 err_231 [ label=""];
842 err_232 [ label=""];
843 err_233 [ label=""];
844 err_234 [ label=""];
845 err_235 [ label=""];
846 err_236 [ label=""];
847 err_237 [ label=""];
848 err_238 [ label=""];
849 err_239 [ label=""];
850 err_240 [ label=""];
851 err_241 [ label=""];
852 err_242 [ label=""];
853 err_243 [ label=""];
854 err_244 [ label=""];
855 err_245 [ label=""];
856 err_246 [ label=""];
857 err_247 [ label=""];
858 err_248 [ label=""];
859 err_249 [ label=""];
860 err_250 [ label=""];
861 err_251 [ label=""];
862 err_252 [ label=""];
863 err_253 [ label=""];
864 err_254 [ label=""];
865 err_255 [ label=""];
866 err_256 [ label=""];
867 err_257 [ label=""];
868 err_258 [ label=""];
869 err_259 [ label=""];
870 err_260 [ label=""];
871 err_261 [ label=""];
872 err_262 [ label=""];
873 err_263 [ label=""];
874 err_264 [ label=""];
875 err_265 [ label=""];
876 err_266 [ label=""];
877 err_267 [ label=""];
878 err_268 [ label=""];
879 err_269 [ label=""];
880 err_270 [ label=""];
881 err_271 [ label=""];
882 err_272 [ label=""];
883 err_273 [ label=""];
884 err_274 [ label=""];
885 err_275 [ label=""];
886 err_276 [ label=""];
887 err_277 [ label=""];
888 err_278 [ label=""];
889 err_279 [ label=""];
890 err_280 [ label=""];
891 err_281 [ label=""];
892 err_282 [ label=""];
893 err_283 [ label=""];
894 err_284 [ label=""];
895 err_285 [ label=""];
896 err_286 [ label=""];
897 err_287 [ label=""];
898 err_288 [ label=""];
899 err_289 [ label=""];
900 err_290 [ label=""];
901 err_291 [ label=""];
902 err_292 [ label=""];
903 err_293 [ label=""];
904 err_294 [ label=""];
905 err_295 [ label=""];
906 err_296 [ label=""];
907 err_297 [ label=""];
908 err_298 [ label=""];
909 err_299 [ label=""];
910 err_300 [ label=""];
911 err_301 [ label=""];
912 err_302 [ label=""];
913 err_303 [ label=""];
914 err_304 [ label=""];
915 err_305 [ label=""];
916 err_306 [ label=""];
917 err_307 [ label=""];
918 err_308 [ label=""];
919 err_309 [ label=""];
920 err_310 [ label=""];
921 err_311 [ label=""];
922 err_312 [ label=""];
923 err_313 [ label=""];
924 err_314 [ label=""];
925 err_315 [ label=""];
926 err_316 [ label=""];
927 err_317 [ label=""];
928 err_318 [ label=""];
929 err_319 [ label=""];
930 err_320 [ label=""];
931 err_321 [ label=""];
932 err_322 [ label=""];
933 err_323 [ label=""];
934 err_324 [ label=""];
935 err_325 [ label=""];
936 err_326 [ label=""];
937 err_327 [ label=""];
938 err_328 [ label=""];
939 err_329 [ label=""];
940 err_330 [ label=""];
941 err_331 [ label=""];
942 err_332 [ label=""];
943 err_333 [ label=""];
944 err_334 [ label=""];
945 err_335 [ label=""];
946 err_336 [ label=""];
947 err_337 [ label=""];
948 err_338 [ label=""];
949 err_339 [ label=""];
950 err_340 [ label=""];
951 err_341 [ label=""];
952 err_342 [ label=""];
953 err_343 [ label=""];
954 err_344 [ label=""];
955 err_345 [ label=""];
956 err_346 [ label=""];
957 err_347 [ label=""];
958 err_348 [ label=""];
959 err_349 [ label=""];
960 err_350 [ label=""];
961 err_351 [ label=""];
962 err_352 [ label=""];
963 err_353 [ label=""];
964 err_354 [ label=""];
965 err_355 [ label=""];
966 err_356 [ label=""];
967 err_357 [ label=""];
968 err_358 [ label=""];
969 err_359 [ label=""];
970 err_360 [ label=""];
971 err_361 [ label=""];
972 err_362 [ label=""];
973 err_363 [ label=""];
974 err_364 [ label=""];
975 err_365 [ label=""];
976 err_366 [ label=""];
977 err_367 [ label=""];
978 err_368 [ label=""];
979 err_369 [ label=""];
980 err_370 [ label=""];
981 err_371 [ label=""];
982 err_372 [ label=""];
983 err_373 [ label=""];
984 err_374 [ label=""];
985 err_375 [ label=""];
986 err_376 [ label=""];
987 err_377 [ label=""];
988 err_378 [ label=""];
989 err_379 [ label=""];
990 err_380 [ label=""];
991 err_381 [ label=""];
992 err_382 [ label=""];
993 err_383 [ label=""];
994 err_384 [ label=""];
995 err_385 [ label=""];
996 err_386 [ label=""];
997 err_387 [ label=""];
998 err_388 [ label=""];
999 err_389 [ label=""];
1000 err_390 [ label=""];
1001 err_391 [ label=""];
1002 err_392 [ label=""];
1003 err_393 [ label=""];
1004 err_394 [ label=""];
1005 err_395 [ label=""];
1006 err_396 [ label=""];
1007 err_397 [ label=""];
1008 err_398 [ label=""];
1009 err_399 [ label=""];
1010 err_400 [ label=""];
1011 err_401 [ label=""];
1012 err_402 [ label=""];
1013 err_403 [ label=""];
1014 err_404 [ label=""];
1015 err_405 [ label=""];
1016 err_406 [ label=""];
1017 err_407 [ label=""];
1018 err_408 [ label=""];
1019 err_409 [ label=""];
1020 err_410 [ label=""];
1021 err_411 [ label=""];
1022 err_412 [ label=""];
1023 err_413 [ label=""];
1024 err_414 [ label=""];
1025 err_415 [ label=""];
1026 err_416 [ label=""];
1027 err_417 [ label=""];
1028 err_418 [ label=""];
1029 err_419 [ label=""];
1030 err_420 [ label=""];
1031 err_421 [ label=""];
1032 err_422 [ label=""];
1033 err_423 [ label=""];
1034 err_424 [ label=""];
1035 err_425 [ label=""];
1036 err_426 [ label=""];
1037 err_427 [ label=""];
1038 err_428 [ label=""];
1039 err_429 [ label=""];
1040 err_430 [ label=""];
1041 err_431 [ label=""];
1042 err_432 [ label=""];
1043 err_433 [ label=""];
1044 err_434 [ label=""];
1045 err_435 [ label=""];
1046 err_436 [ label=""];
1047 err_437 [ label=""];
1048 err_438 [ label=""];
1049 err_439 [ label=""];
1050 err_440 [ label=""];
1051 err_441 [ label=""];
1052 err_442 [ label=""];
1053 err_443 [ label=""];
1054 err_444 [ label=""];
1055 err_445 [ label=""];
1056 err_446 [ label=""];
1057 err_447 [ label=""];
1058 err_448 [ label=""];
1059 err_449 [ label=""];
1060 err_450 [ label=""];
1061 err_451 [ label=""];
1062 err_452 [ label=""];
1063 err_453 [ label=""];
1064 err_454 [ label=""];
1065 err_455 [ label=""];
1066 err_456 [ label=""];
1067 err_457 [ label=""];
1068 err_458 [ label=""];
1069 err_459 [ label=""];
1070 err_460 [ label=""];
1071 err_461 [ label=""];
1072 err_462 [ label=""];
1073 err_463 [ label=""];
1074 err_464 [ label=""];
1075 err_465 [ label=""];
1076 err_466 [ label=""];
1077 err_467 [ label=""];
1078 err_468 [ label=""];
1079 err_469 [ label=""];
1080 err_470 [ label=""];
1081 err_471 [ label=""];
1082 err_472 [ label=""];
1083 err_473 [ label=""];
1084 err_474 [ label=""];
1085 err_475 [ label=""];
1086 err_476 [ label=""];
1087 err_477 [ label=""];
1088 err_478 [ label=""];
1089 err_479 [ label=""];
1090 err_480 [ label=""];
1091 err_481 [ label=""];
1092 err_482 [ label=""];
1093 err_483 [ label=""];
1094 err_484 [ label=""];
1095 err_485 [ label=""];
1096 err_486 [ label=""];
1097 err_487 [ label=""];
1098 err_488 [ label=""];
1099 err_489 [ label=""];
1100 err_490 [ label=""];
1101 err_491 [ label=""];
1102 err_492 [ label=""];
1103 err_493 [ label=""];
1104 err_494 [ label=""];
1105 err_495 [ label=""];
1106 err_496 [ label=""];
1107 err_497 [ label=""];
1108 err_498 [ label=""];
1109 err_499 [ label=""];
1110 err_500 [ label=""];
1111 err_501 [ label=""];
1112 err_502 [ label=""];
1113 err_503 [ label=""];
1114 err_504 [ label=""];
1115 err_505 [ label=""];
1116 err_506 [ label=""];
1117 err_507 [ label=""];
1118 err_508 [ label=""];
1119 err_509 [ label=""];
1120 err_510 [ label=""];
1121 err_511 [ label=""];
1122 err_512 [ label=""];
1123 err_513 [ label=""];
1124 err_514 [ label=""];
1125 err_515 [ label=""];
1126 err_516 [ label=""];
1127 err_517 [ label=""];
1128 err_518 [ label=""];
1129 err_519 [ label=""];
1130 err_520 [ label=""];
1131 err_521 [ label=""];
1132 err_522 [ label=""];
1133 err_523 [ label=""];
1134 err_524 [ label=""];
1135 err_525 [ label=""];
1136 err_526 [ label=""];
1137 err_527 [ label=""];
1138 err_528 [ label=""];
1139 err_529 [ label=""];
1140 err_530 [ label=""];
1141 err_531 [ label=""];
1142 err_532 [ label=""];
1143 err_533 [ label=""];
1144 err_534 [ label=""];
1145 err_535 [ label=""];
1146 err_536 [ label=""];
1147 err_537 [ label=""];
1148 err_538 [ label=""];
1149 err_539 [ label=""];
1150 err_540 [ label=""];
1151 err_541 [ label=""];
1152 err_542 [ label=""];
1153 err_543 [ label=""];
1154 err_544 [ label=""];
1155 err_545 [ label=""];
1156 err_546 [ label=""];
1157 err_547 [ label=""];
1158 err_548 [ label=""];
1159 err_549 [ label=""];
1160 err_550 [ label=""];
1161 err_551 [ label=""];
1162 err_552 [ label=""];
1163 err_553 [ label=""];
1164 err_554 [ label=""];
1165 err_555 [ label=""];
1166 err_556 [ label=""];
1167 err_557 [ label=""];
1168 err_558 [ label=""];
1169 err_559 [ label=""];
1170 err_560 [ label=""];
1171 err_561 [ label=""];
1172 err_562 [ label=""];
1173 err_563 [ label=""];
1174 err_564 [ label=""];
1175 err_565 [ label=""];
1176 err_566 [ label=""];
1177 err_567 [ label=""];
1178 err_568 [ label=""];
1179 err_569 [ label=""];
1180 err_570 [ label=""];
1181 err_571 [ label=""];
1182 err_572 [ label=""];
1183 err_573 [ label=""];
1184 err_574 [ label=""];
1185 err_575 [ label=""];
1186 err_576 [ label=""];
1187 err_577 [ label=""];
1188 err_578 [ label=""];
1189 err_579 [ label=""];
1190 err_580 [ label=""];
1191 err_581 [ label=""];
1192 err_582 [ label=""];
1193 err_583 [ label=""];
1194 err_584 [ label=""];
1195 err_585 [ label=""];
1196 err_586 [ label=""];
1197 err_587 [ label=""];
1198 err_588 [ label=""];
1199 err_589 [ label=""];
1200 err_590 [ label=""];
1201 err_591 [ label=""];
1202 err_592 [ label=""];
1203 err_593 [ label=""];
1204 err_594 [ label=""];
1205 err_595 [ label=""];
1206 err_596 [ label=""];
1207 err_597 [ label=""];
1208 err_598 [ label=""];
1209 err_599 [ label=""];
1210 err_600 [ label=""];
1211 err_601 [ label=""];
1212 err_602 [ label=""];
1213 err_603 [ label=""];
1214 err_604 [ label=""];
1215 err_605 [ label=""];
1216 err_606 [ label=""];
1217 node [ fixedsize = true, height = 0.65, shape = doublecircle ];
1218 603;
1219 604;
1220 605;
1221 606;
1222 607;
1223 node [ shape = circle ];
1224 1 -> 2 [ label = "'<'" ];
1225 1 -> err_1 [ label = "DEF / err_pri" ];
1226 2 -> 3 [ label = "'0' / mark" ];
1227 2 -> 600 [ label = "'1' / mark" ];
1228 2 -> 601 [ label = "'2'..'9' / mark" ];
1229 2 -> err_2 [ label = "DEF / err_prival, err_pri, err_parse" ];
1230 3 -> 4 [ label = "'>' / set_prival" ];
1231 3 -> err_3 [ label = "DEF / set_prival, err_prival, err_pri, err_parse" ];
1232 4 -> 5 [ label = "'1'..'9' / mark" ];
1233 4 -> err_4 [ label = "DEF / err_version, err_parse" ];
1234 5 -> 6 [ label = "SP / set_version" ];
1235 5 -> 598 [ label = "'0'..'9' / set_version" ];
1236 5 -> err_5 [ label = "DEF / set_version, err_parse" ];
1237 6 -> 7 [ label = "'-'" ];
1238 6 -> 561 [ label = "'0'..'9' / mark" ];
1239 6 -> err_6 [ label = "DEF / err_timestamp, err_parse" ];
1240 7 -> 8 [ label = "SP" ];
1241 7 -> err_7 [ label = "DEF / err_parse" ];
1242 8 -> 9 [ label = "'!'..'~' / mark" ];
1243 8 -> err_8 [ label = "DEF / err_hostname, err_parse" ];
1244 9 -> 10 [ label = "SP / set_hostname" ];
1245 9 -> 307 [ label = "'!'..'~'" ];
1246 9 -> err_9 [ label = "DEF / err_hostname, err_parse" ];
1247 10 -> 11 [ label = "'!'..'~' / mark" ];
1248 10 -> err_10 [ label = "DEF / err_appname, err_parse" ];
1249 11 -> 12 [ label = "SP / set_appname" ];
1250 11 -> 260 [ label = "'!'..'~'" ];
1251 11 -> err_11 [ label = "DEF / err_appname, err_parse" ];
1252 12 -> 13 [ label = "'!'..'~' / mark" ];
1253 12 -> err_12 [ label = "DEF / err_procid, err_parse" ];
1254 13 -> 14 [ label = "SP / set_procid" ];
1255 13 -> 133 [ label = "'!'..'~'" ];
1256 13 -> err_13 [ label = "DEF / err_procid, err_parse" ];
1257 14 -> 15 [ label = "'!'..'~' / mark" ];
1258 14 -> err_14 [ label = "DEF / err_msgid, err_parse" ];
1259 15 -> 16 [ label = "SP / set_msgid" ];
1260 15 -> 102 [ label = "'!'..'~'" ];
1261 15 -> err_15 [ label = "DEF / err_msgid" ];
1262 16 -> 603 [ label = "'-'" ];
1263 16 -> 24 [ label = "'[' / ini_elements" ];
1264 16 -> err_16 [ label = "DEF / err_structureddata" ];
1265 17 -> 605 [ label = "128..191" ];
1266 17 -> err_17 [ label = "DEF / err_msg, err_parse" ];
1267 18 -> 17 [ label = "160..191" ];
1268 18 -> err_18 [ label = "DEF / err_msg, err_parse" ];
1269 19 -> 17 [ label = "128..191" ];
1270 19 -> err_19 [ label = "DEF / err_msg, err_parse" ];
1271 20 -> 17 [ label = "128..159" ];
1272 20 -> err_20 [ label = "DEF / err_msg, err_parse" ];
1273 21 -> 19 [ label = "144..191" ];
1274 21 -> err_21 [ label = "DEF / err_msg, err_parse" ];
1275 22 -> 19 [ label = "128..191" ];
1276 22 -> err_22 [ label = "DEF / err_msg, err_parse" ];
1277 23 -> 19 [ label = "128..143" ];
1278 23 -> err_23 [ label = "DEF / err_msg, err_parse" ];
1279 24 -> 25 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~' / mark" ];
1280 24 -> err_24 [ label = "DEF / err_sdid, err_structureddata" ];
1281 25 -> 26 [ label = "SP / set_id" ];
1282 25 -> 71 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
1283 25 -> 606 [ label = "']' / set_id" ];
1284 25 -> err_25 [ label = "DEF / set_id, err_sdid, err_structureddata" ];
1285 26 -> 27 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~' / ini_sdparam, mark" ];
1286 26 -> err_26 [ label = "DEF / err_sdparam, err_structureddata" ];
1287 27 -> 28 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
1288 27 -> 59 [ label = "'=' / set_paramname" ];
1289 27 -> err_27 [ label = "DEF / err_sdparam, err_structureddata" ];
1290 28 -> 29 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
1291 28 -> 59 [ label = "'=' / set_paramname" ];
1292 28 -> err_28 [ label = "DEF / err_sdparam, err_structureddata" ];
1293 29 -> 30 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
1294 29 -> 59 [ label = "'=' / set_paramname" ];
1295 29 -> err_29 [ label = "DEF / err_sdparam, err_structureddata" ];
1296 30 -> 31 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
1297 30 -> 59 [ label = "'=' / set_paramname" ];
1298 30 -> err_30 [ label = "DEF / err_sdparam, err_structureddata" ];
1299 31 -> 32 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
1300 31 -> 59 [ label = "'=' / set_paramname" ];
1301 31 -> err_31 [ label = "DEF / err_sdparam, err_structureddata" ];
1302 32 -> 33 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
1303 32 -> 59 [ label = "'=' / set_paramname" ];
1304 32 -> err_32 [ label = "DEF / err_sdparam, err_structureddata" ];
1305 33 -> 34 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
1306 33 -> 59 [ label = "'=' / set_paramname" ];
1307 33 -> err_33 [ label = "DEF / err_sdparam, err_structureddata" ];
1308 34 -> 35 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
1309 34 -> 59 [ label = "'=' / set_paramname" ];
1310 34 -> err_34 [ label = "DEF / err_sdparam, err_structureddata" ];
1311 35 -> 36 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
1312 35 -> 59 [ label = "'=' / set_paramname" ];
1313 35 -> err_35 [ label = "DEF / err_sdparam, err_structureddata" ];
1314 36 -> 37 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
1315 36 -> 59 [ label = "'=' / set_paramname" ];
1316 36 -> err_36 [ label = "DEF / err_sdparam, err_structureddata" ];
1317 37 -> 38 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
1318 37 -> 59 [ label = "'=' / set_paramname" ];
1319 37 -> err_37 [ label = "DEF / err_sdparam, err_structureddata" ];
1320 38 -> 39 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
1321 38 -> 59 [ label = "'=' / set_paramname" ];
1322 38 -> err_38 [ label = "DEF / err_sdparam, err_structureddata" ];
1323 39 -> 40 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
1324 39 -> 59 [ label = "'=' / set_paramname" ];
1325 39 -> err_39 [ label = "DEF / err_sdparam, err_structureddata" ];
1326 40 -> 41 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
1327 40 -> 59 [ label = "'=' / set_paramname" ];
1328 40 -> err_40 [ label = "DEF / err_sdparam, err_structureddata" ];
1329 41 -> 42 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
1330 41 -> 59 [ label = "'=' / set_paramname" ];
1331 41 -> err_41 [ label = "DEF / err_sdparam, err_structureddata" ];
1332 42 -> 43 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
1333 42 -> 59 [ label = "'=' / set_paramname" ];
1334 42 -> err_42 [ label = "DEF / err_sdparam, err_structureddata" ];
1335 43 -> 44 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
1336 43 -> 59 [ label = "'=' / set_paramname" ];
1337 43 -> err_43 [ label = "DEF / err_sdparam, err_structureddata" ];
1338 44 -> 45 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
1339 44 -> 59 [ label = "'=' / set_paramname" ];
1340 44 -> err_44 [ label = "DEF / err_sdparam, err_structureddata" ];
1341 45 -> 46 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
1342 45 -> 59 [ label = "'=' / set_paramname" ];
1343 45 -> err_45 [ label = "DEF / err_sdparam, err_structureddata" ];
1344 46 -> 47 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
1345 46 -> 59 [ label = "'=' / set_paramname" ];
1346 46 -> err_46 [ label = "DEF / err_sdparam, err_structureddata" ];
1347 47 -> 48 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
1348 47 -> 59 [ label = "'=' / set_paramname" ];
1349 47 -> err_47 [ label = "DEF / err_sdparam, err_structureddata" ];
1350 48 -> 49 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
1351 48 -> 59 [ label = "'=' / set_paramname" ];
1352 48 -> err_48 [ label = "DEF / err_sdparam, err_structureddata" ];
1353 49 -> 50 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
1354 49 -> 59 [ label = "'=' / set_paramname" ];
1355 49 -> err_49 [ label = "DEF / err_sdparam, err_structureddata" ];
1356 50 -> 51 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
1357 50 -> 59 [ label = "'=' / set_paramname" ];
1358 50 -> err_50 [ label = "DEF / err_sdparam, err_structureddata" ];
1359 51 -> 52 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
1360 51 -> 59 [ label = "'=' / set_paramname" ];
1361 51 -> err_51 [ label = "DEF / err_sdparam, err_structureddata" ];
1362 52 -> 53 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
1363 52 -> 59 [ label = "'=' / set_paramname" ];
1364 52 -> err_52 [ label = "DEF / err_sdparam, err_structureddata" ];
1365 53 -> 54 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
1366 53 -> 59 [ label = "'=' / set_paramname" ];
1367 53 -> err_53 [ label = "DEF / err_sdparam, err_structureddata" ];
1368 54 -> 55 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
1369 54 -> 59 [ label = "'=' / set_paramname" ];
1370 54 -> err_54 [ label = "DEF / err_sdparam, err_structureddata" ];
1371 55 -> 56 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
1372 55 -> 59 [ label = "'=' / set_paramname" ];
1373 55 -> err_55 [ label = "DEF / err_sdparam, err_structureddata" ];
1374 56 -> 57 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
1375 56 -> 59 [ label = "'=' / set_paramname" ];
1376 56 -> err_56 [ label = "DEF / err_sdparam, err_structureddata" ];
1377 57 -> 58 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
1378 57 -> 59 [ label = "'=' / set_paramname" ];
1379 57 -> err_57 [ label = "DEF / err_sdparam, err_structureddata" ];
1380 58 -> 59 [ label = "'=' / set_paramname" ];
1381 58 -> err_58 [ label = "DEF / err_sdparam, err_structureddata" ];
1382 59 -> 60 [ label = "'\"'" ];
1383 59 -> err_59 [ label = "DEF / err_sdparam, err_structureddata" ];
1384 60 -> 62 [ label = "'\"' / mark, set_paramvalue" ];
1385 60 -> 63 [ label = "'\\' / mark, add_slash" ];
1386 60 -> err_60 [ label = "']', 128..193, 245..255 / err_escape, err_sdparam, err_structureddata" ];
1387 60 -> 64 [ label = "194..223 / mark" ];
1388 60 -> 65 [ label = "224 / mark" ];
1389 60 -> 66 [ label = "225..236, 238..239 / mark" ];
1390 60 -> 67 [ label = "237 / mark" ];
1391 60 -> 68 [ label = "240 / mark" ];
1392 60 -> 69 [ label = "241..243 / mark" ];
1393 60 -> 70 [ label = "244 / mark" ];
1394 60 -> 61 [ label = "DEF / mark" ];
1395 61 -> 62 [ label = "'\"' / set_paramvalue" ];
1396 61 -> 63 [ label = "'\\' / add_slash" ];
1397 61 -> err_61 [ label = "']', 128..193, 245..255 / err_escape, err_sdparam, err_structureddata" ];
1398 61 -> 64 [ label = "194..223" ];
1399 61 -> 65 [ label = "224" ];
1400 61 -> 66 [ label = "225..236, 238..239" ];
1401 61 -> 67 [ label = "237" ];
1402 61 -> 68 [ label = "240" ];
1403 61 -> 69 [ label = "241..243" ];
1404 61 -> 70 [ label = "244" ];
1405 61 -> 61 [ label = "DEF" ];
1406 62 -> 26 [ label = "SP" ];
1407 62 -> 606 [ label = "']'" ];
1408 62 -> err_62 [ label = "DEF / err_sdparam, err_structureddata" ];
1409 63 -> 61 [ label = "'\"', '\\'..']'" ];
1410 63 -> err_63 [ label = "DEF / err_escape, err_sdparam, err_structureddata" ];
1411 64 -> 61 [ label = "128..191" ];
1412 64 -> err_64 [ label = "DEF / err_sdparam, err_structureddata" ];
1413 65 -> 64 [ label = "160..191" ];
1414 65 -> err_65 [ label = "DEF / err_sdparam, err_structureddata" ];
1415 66 -> 64 [ label = "128..191" ];
1416 66 -> err_66 [ label = "DEF / err_sdparam, err_structureddata" ];
1417 67 -> 64 [ label = "128..159" ];
1418 67 -> err_67 [ label = "DEF / err_sdparam, err_structureddata" ];
1419 68 -> 66 [ label = "144..191" ];
1420 68 -> err_68 [ label = "DEF / err_sdparam, err_structureddata" ];
1421 69 -> 66 [ label = "128..191" ];
1422 69 -> err_69 [ label = "DEF / err_sdparam, err_structureddata" ];
1423 70 -> 66 [ label = "128..143" ];
1424 70 -> err_70 [ label = "DEF / err_sdparam, err_structureddata" ];
1425 71 -> 26 [ label = "SP / set_id" ];
1426 71 -> 72 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
1427 71 -> 606 [ label = "']' / set_id" ];
1428 71 -> err_71 [ label = "DEF / set_id, err_sdid, err_structureddata" ];
1429 72 -> 26 [ label = "SP / set_id" ];
1430 72 -> 73 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
1431 72 -> 606 [ label = "']' / set_id" ];
1432 72 -> err_72 [ label = "DEF / set_id, err_sdid, err_structureddata" ];
1433 73 -> 26 [ label = "SP / set_id" ];
1434 73 -> 74 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
1435 73 -> 606 [ label = "']' / set_id" ];
1436 73 -> err_73 [ label = "DEF / set_id, err_sdid, err_structureddata" ];
1437 74 -> 26 [ label = "SP / set_id" ];
1438 74 -> 75 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
1439 74 -> 606 [ label = "']' / set_id" ];
1440 74 -> err_74 [ label = "DEF / set_id, err_sdid, err_structureddata" ];
1441 75 -> 26 [ label = "SP / set_id" ];
1442 75 -> 76 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
1443 75 -> 606 [ label = "']' / set_id" ];
1444 75 -> err_75 [ label = "DEF / set_id, err_sdid, err_structureddata" ];
1445 76 -> 26 [ label = "SP / set_id" ];
1446 76 -> 77 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
1447 76 -> 606 [ label = "']' / set_id" ];
1448 76 -> err_76 [ label = "DEF / set_id, err_sdid, err_structureddata" ];
1449 77 -> 26 [ label = "SP / set_id" ];
1450 77 -> 78 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
1451 77 -> 606 [ label = "']' / set_id" ];
1452 77 -> err_77 [ label = "DEF / set_id, err_sdid, err_structureddata" ];
1453 78 -> 26 [ label = "SP / set_id" ];
1454 78 -> 79 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
1455 78 -> 606 [ label = "']' / set_id" ];
1456 78 -> err_78 [ label = "DEF / set_id, err_sdid, err_structureddata" ];
1457 79 -> 26 [ label = "SP / set_id" ];
1458 79 -> 80 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
1459 79 -> 606 [ label = "']' / set_id" ];
1460 79 -> err_79 [ label = "DEF / set_id, err_sdid, err_structureddata" ];
1461 80 -> 26 [ label = "SP / set_id" ];
1462 80 -> 81 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
1463 80 -> 606 [ label = "']' / set_id" ];
1464 80 -> err_80 [ label = "DEF / set_id, err_sdid, err_structureddata" ];
1465 81 -> 26 [ label = "SP / set_id" ];
1466 81 -> 82 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
1467 81 -> 606 [ label = "']' / set_id" ];
1468 81 -> err_81 [ label = "DEF / set_id, err_sdid, err_structureddata" ];
1469 82 -> 26 [ label = "SP / set_id" ];
1470 82 -> 83 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
1471 82 -> 606 [ label = "']' / set_id" ];
1472 82 -> err_82 [ label = "DEF / set_id, err_sdid, err_structureddata" ];
1473 83 -> 26 [ label = "SP / set_id" ];
1474 83 -> 84 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
1475 83 -> 606 [ label = "']' / set_id" ];
1476 83 -> err_83 [ label = "DEF / set_id, err_sdid, err_structureddata" ];
1477 84 -> 26 [ label = "SP / set_id" ];
1478 84 -> 85 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
1479 84 -> 606 [ label = "']' / set_id" ];
1480 84 -> err_84 [ label = "DEF / set_id, err_sdid, err_structureddata" ];
1481 85 -> 26 [ label = "SP / set_id" ];
1482 85 -> 86 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
1483 85 -> 606 [ label = "']' / set_id" ];
1484 85 -> err_85 [ label = "DEF / set_id, err_sdid, err_structureddata" ];
1485 86 -> 26 [ label = "SP / set_id" ];
1486 86 -> 87 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
1487 86 -> 606 [ label = "']' / set_id" ];
1488 86 -> err_86 [ label = "DEF / set_id, err_sdid, err_structureddata" ];
1489 87 -> 26 [ label = "SP / set_id" ];
1490 87 -> 88 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
1491 87 -> 606 [ label = "']' / set_id" ];
1492 87 -> err_87 [ label = "DEF / set_id, err_sdid, err_structureddata" ];
1493 88 -> 26 [ label = "SP / set_id" ];
1494 88 -> 89 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
1495 88 -> 606 [ label = "']' / set_id" ];
1496 88 -> err_88 [ label = "DEF / set_id, err_sdid, err_structureddata" ];
1497 89 -> 26 [ label = "SP / set_id" ];
1498 89 -> 90 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
1499 89 -> 606 [ label = "']' / set_id" ];
1500 89 -> err_89 [ label = "DEF / set_id, err_sdid, err_structureddata" ];
1501 90 -> 26 [ label = "SP / set_id" ];
1502 90 -> 91 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
1503 90 -> 606 [ label = "']' / set_id" ];
1504 90 -> err_90 [ label = "DEF / set_id, err_sdid, err_structureddata" ];
1505 91 -> 26 [ label = "SP / set_id" ];
1506 91 -> 92 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
1507 91 -> 606 [ label = "']' / set_id" ];
1508 91 -> err_91 [ label = "DEF / set_id, err_sdid, err_structureddata" ];
1509 92 -> 26 [ label = "SP / set_id" ];
1510 92 -> 93 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
1511 92 -> 606 [ label = "']' / set_id" ];
1512 92 -> err_92 [ label = "DEF / set_id, err_sdid, err_structureddata" ];
1513 93 -> 26 [ label = "SP / set_id" ];
1514 93 -> 94 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
1515 93 -> 606 [ label = "']' / set_id" ];
1516 93 -> err_93 [ label = "DEF / set_id, err_sdid, err_structureddata" ];
1517 94 -> 26 [ label = "SP / set_id" ];
1518 94 -> 95 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
1519 94 -> 606 [ label = "']' / set_id" ];
1520 94 -> err_94 [ label = "DEF / set_id, err_sdid, err_structureddata" ];
1521 95 -> 26 [ label = "SP / set_id" ];
1522 95 -> 96 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
1523 95 -> 606 [ label = "']' / set_id" ];
1524 95 -> err_95 [ label = "DEF / set_id, err_sdid, err_structureddata" ];
1525 96 -> 26 [ label = "SP / set_id" ];
1526 96 -> 97 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
1527 96 -> 606 [ label = "']' / set_id" ];
1528 96 -> err_96 [ label = "DEF / set_id, err_sdid, err_structureddata" ];
1529 97 -> 26 [ label = "SP / set_id" ];
1530 97 -> 98 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
1531 97 -> 606 [ label = "']' / set_id" ];
1532 97 -> err_97 [ label = "DEF / set_id, err_sdid, err_structureddata" ];
1533 98 -> 26 [ label = "SP / set_id" ];
1534 98 -> 99 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
1535 98 -> 606 [ label = "']' / set_id" ];
1536 98 -> err_98 [ label = "DEF / set_id, err_sdid, err_structureddata" ];
1537 99 -> 26 [ label = "SP / set_id" ];
1538 99 -> 100 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
1539 99 -> 606 [ label = "']' / set_id" ];
1540 99 -> err_99 [ label = "DEF / set_id, err_sdid, err_structureddata" ];
1541 100 -> 26 [ label = "SP / set_id" ];
1542 100 -> 101 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
1543 100 -> 606 [ label = "']' / set_id" ];
1544 100 -> err_100 [ label = "DEF / set_id, err_sdid, err_structureddata" ];
1545 101 -> 26 [ label = "SP / set_id" ];
1546 101 -> 606 [ label = "']' / set_id" ];
1547 101 -> err_101 [ label = "DEF / set_id, err_sdid, err_structureddata" ];
1548 102 -> 16 [ label = "SP / set_msgid" ];
1549 102 -> 103 [ label = "'!'..'~'" ];
1550 102 -> err_102 [ label = "DEF / err_msgid" ];
1551 103 -> 16 [ label = "SP / set_msgid" ];
1552 103 -> 104 [ label = "'!'..'~'" ];
1553 103 -> err_103 [ label = "DEF / err_msgid" ];
1554 104 -> 16 [ label = "SP / set_msgid" ];
1555 104 -> 105 [ label = "'!'..'~'" ];
1556 104 -> err_104 [ label = "DEF / err_msgid" ];
1557 105 -> 16 [ label = "SP / set_msgid" ];
1558 105 -> 106 [ label = "'!'..'~'" ];
1559 105 -> err_105 [ label = "DEF / err_msgid" ];
1560 106 -> 16 [ label = "SP / set_msgid" ];
1561 106 -> 107 [ label = "'!'..'~'" ];
1562 106 -> err_106 [ label = "DEF / err_msgid" ];
1563 107 -> 16 [ label = "SP / set_msgid" ];
1564 107 -> 108 [ label = "'!'..'~'" ];
1565 107 -> err_107 [ label = "DEF / err_msgid" ];
1566 108 -> 16 [ label = "SP / set_msgid" ];
1567 108 -> 109 [ label = "'!'..'~'" ];
1568 108 -> err_108 [ label = "DEF / err_msgid" ];
1569 109 -> 16 [ label = "SP / set_msgid" ];
1570 109 -> 110 [ label = "'!'..'~'" ];
1571 109 -> err_109 [ label = "DEF / err_msgid" ];
1572 110 -> 16 [ label = "SP / set_msgid" ];
1573 110 -> 111 [ label = "'!'..'~'" ];
1574 110 -> err_110 [ label = "DEF / err_msgid" ];
1575 111 -> 16 [ label = "SP / set_msgid" ];
1576 111 -> 112 [ label = "'!'..'~'" ];
1577 111 -> err_111 [ label = "DEF / err_msgid" ];
1578 112 -> 16 [ label = "SP / set_msgid" ];
1579 112 -> 113 [ label = "'!'..'~'" ];
1580 112 -> err_112 [ label = "DEF / err_msgid" ];
1581 113 -> 16 [ label = "SP / set_msgid" ];
1582 113 -> 114 [ label = "'!'..'~'" ];
1583 113 -> err_113 [ label = "DEF / err_msgid" ];
1584 114 -> 16 [ label = "SP / set_msgid" ];
1585 114 -> 115 [ label = "'!'..'~'" ];
1586 114 -> err_114 [ label = "DEF / err_msgid" ];
1587 115 -> 16 [ label = "SP / set_msgid" ];
1588 115 -> 116 [ label = "'!'..'~'" ];
1589 115 -> err_115 [ label = "DEF / err_msgid" ];
1590 116 -> 16 [ label = "SP / set_msgid" ];
1591 116 -> 117 [ label = "'!'..'~'" ];
1592 116 -> err_116 [ label = "DEF / err_msgid" ];
1593 117 -> 16 [ label = "SP / set_msgid" ];
1594 117 -> 118 [ label = "'!'..'~'" ];
1595 117 -> err_117 [ label = "DEF / err_msgid" ];
1596 118 -> 16 [ label = "SP / set_msgid" ];
1597 118 -> 119 [ label = "'!'..'~'" ];
1598 118 -> err_118 [ label = "DEF / err_msgid" ];
1599 119 -> 16 [ label = "SP / set_msgid" ];
1600 119 -> 120 [ label = "'!'..'~'" ];
1601 119 -> err_119 [ label = "DEF / err_msgid" ];
1602 120 -> 16 [ label = "SP / set_msgid" ];
1603 120 -> 121 [ label = "'!'..'~'" ];
1604 120 -> err_120 [ label = "DEF / err_msgid" ];
1605 121 -> 16 [ label = "SP / set_msgid" ];
1606 121 -> 122 [ label = "'!'..'~'" ];
1607 121 -> err_121 [ label = "DEF / err_msgid" ];
1608 122 -> 16 [ label = "SP / set_msgid" ];
1609 122 -> 123 [ label = "'!'..'~'" ];
1610 122 -> err_122 [ label = "DEF / err_msgid" ];
1611 123 -> 16 [ label = "SP / set_msgid" ];
1612 123 -> 124 [ label = "'!'..'~'" ];
1613 123 -> err_123 [ label = "DEF / err_msgid" ];
1614 124 -> 16 [ label = "SP / set_msgid" ];
1615 124 -> 125 [ label = "'!'..'~'" ];
1616 124 -> err_124 [ label = "DEF / err_msgid" ];
1617 125 -> 16 [ label = "SP / set_msgid" ];
1618 125 -> 126 [ label = "'!'..'~'" ];
1619 125 -> err_125 [ label = "DEF / err_msgid" ];
1620 126 -> 16 [ label = "SP / set_msgid" ];
1621 126 -> 127 [ label = "'!'..'~'" ];
1622 126 -> err_126 [ label = "DEF / err_msgid" ];
1623 127 -> 16 [ label = "SP / set_msgid" ];
1624 127 -> 128 [ label = "'!'..'~'" ];
1625 127 -> err_127 [ label = "DEF / err_msgid" ];
1626 128 -> 16 [ label = "SP / set_msgid" ];
1627 128 -> 129 [ label = "'!'..'~'" ];
1628 128 -> err_128 [ label = "DEF / err_msgid" ];
1629 129 -> 16 [ label = "SP / set_msgid" ];
1630 129 -> 130 [ label = "'!'..'~'" ];
1631 129 -> err_129 [ label = "DEF / err_msgid" ];
1632 130 -> 16 [ label = "SP / set_msgid" ];
1633 130 -> 131 [ label = "'!'..'~'" ];
1634 130 -> err_130 [ label = "DEF / err_msgid" ];
1635 131 -> 16 [ label = "SP / set_msgid" ];
1636 131 -> 132 [ label = "'!'..'~'" ];
1637 131 -> err_131 [ label = "DEF / err_msgid" ];
1638 132 -> 16 [ label = "SP / set_msgid" ];
1639 132 -> err_132 [ label = "DEF / err_msgid" ];
1640 133 -> 14 [ label = "SP / set_procid" ];
1641 133 -> 134 [ label = "'!'..'~'" ];
1642 133 -> err_133 [ label = "DEF / err_procid, err_parse" ];
1643 134 -> 14 [ label = "SP / set_procid" ];
1644 134 -> 135 [ label = "'!'..'~'" ];
1645 134 -> err_134 [ label = "DEF / err_procid, err_parse" ];
1646 135 -> 14 [ label = "SP / set_procid" ];
1647 135 -> 136 [ label = "'!'..'~'" ];
1648 135 -> err_135 [ label = "DEF / err_procid, err_parse" ];
1649 136 -> 14 [ label = "SP / set_procid" ];
1650 136 -> 137 [ label = "'!'..'~'" ];
1651 136 -> err_136 [ label = "DEF / err_procid, err_parse" ];
1652 137 -> 14 [ label = "SP / set_procid" ];
1653 137 -> 138 [ label = "'!'..'~'" ];
1654 137 -> err_137 [ label = "DEF / err_procid, err_parse" ];
1655 138 -> 14 [ label = "SP / set_procid" ];
1656 138 -> 139 [ label = "'!'..'~'" ];
1657 138 -> err_138 [ label = "DEF / err_procid, err_parse" ];
1658 139 -> 14 [ label = "SP / set_procid" ];
1659 139 -> 140 [ label = "'!'..'~'" ];
1660 139 -> err_139 [ label = "DEF / err_procid, err_parse" ];
1661 140 -> 14 [ label = "SP / set_procid" ];
1662 140 -> 141 [ label = "'!'..'~'" ];
1663 140 -> err_140 [ label = "DEF / err_procid, err_parse" ];
1664 141 -> 14 [ label = "SP / set_procid" ];
1665 141 -> 142 [ label = "'!'..'~'" ];
1666 141 -> err_141 [ label = "DEF / err_procid, err_parse" ];
1667 142 -> 14 [ label = "SP / set_procid" ];
1668 142 -> 143 [ label = "'!'..'~'" ];
1669 142 -> err_142 [ label = "DEF / err_procid, err_parse" ];
1670 143 -> 14 [ label = "SP / set_procid" ];
1671 143 -> 144 [ label = "'!'..'~'" ];
1672 143 -> err_143 [ label = "DEF / err_procid, err_parse" ];
1673 144 -> 14 [ label = "SP / set_procid" ];
1674 144 -> 145 [ label = "'!'..'~'" ];
1675 144 -> err_144 [ label = "DEF / err_procid, err_parse" ];
1676 145 -> 14 [ label = "SP / set_procid" ];
1677 145 -> 146 [ label = "'!'..'~'" ];
1678 145 -> err_145 [ label = "DEF / err_procid, err_parse" ];
1679 146 -> 14 [ label = "SP / set_procid" ];
1680 146 -> 147 [ label = "'!'..'~'" ];
1681 146 -> err_146 [ label = "DEF / err_procid, err_parse" ];
1682 147 -> 14 [ label = "SP / set_procid" ];
1683 147 -> 148 [ label = "'!'..'~'" ];
1684 147 -> err_147 [ label = "DEF / err_procid, err_parse" ];
1685 148 -> 14 [ label = "SP / set_procid" ];
1686 148 -> 149 [ label = "'!'..'~'" ];
1687 148 -> err_148 [ label = "DEF / err_procid, err_parse" ];
1688 149 -> 14 [ label = "SP / set_procid" ];
1689 149 -> 150 [ label = "'!'..'~'" ];
1690 149 -> err_149 [ label = "DEF / err_procid, err_parse" ];
1691 150 -> 14 [ label = "SP / set_procid" ];
1692 150 -> 151 [ label = "'!'..'~'" ];
1693 150 -> err_150 [ label = "DEF / err_procid, err_parse" ];
1694 151 -> 14 [ label = "SP / set_procid" ];
1695 151 -> 152 [ label = "'!'..'~'" ];
1696 151 -> err_151 [ label = "DEF / err_procid, err_parse" ];
1697 152 -> 14 [ label = "SP / set_procid" ];
1698 152 -> 153 [ label = "'!'..'~'" ];
1699 152 -> err_152 [ label = "DEF / err_procid, err_parse" ];
1700 153 -> 14 [ label = "SP / set_procid" ];
1701 153 -> 154 [ label = "'!'..'~'" ];
1702 153 -> err_153 [ label = "DEF / err_procid, err_parse" ];
1703 154 -> 14 [ label = "SP / set_procid" ];
1704 154 -> 155 [ label = "'!'..'~'" ];
1705 154 -> err_154 [ label = "DEF / err_procid, err_parse" ];
1706 155 -> 14 [ label = "SP / set_procid" ];
1707 155 -> 156 [ label = "'!'..'~'" ];
1708 155 -> err_155 [ label = "DEF / err_procid, err_parse" ];
1709 156 -> 14 [ label = "SP / set_procid" ];
1710 156 -> 157 [ label = "'!'..'~'" ];
1711 156 -> err_156 [ label = "DEF / err_procid, err_parse" ];
1712 157 -> 14 [ label = "SP / set_procid" ];
1713 157 -> 158 [ label = "'!'..'~'" ];
1714 157 -> err_157 [ label = "DEF / err_procid, err_parse" ];
1715 158 -> 14 [ label = "SP / set_procid" ];
1716 158 -> 159 [ label = "'!'..'~'" ];
1717 158 -> err_158 [ label = "DEF / err_procid, err_parse" ];
1718 159 -> 14 [ label = "SP / set_procid" ];
1719 159 -> 160 [ label = "'!'..'~'" ];
1720 159 -> err_159 [ label = "DEF / err_procid, err_parse" ];
1721 160 -> 14 [ label = "SP / set_procid" ];
1722 160 -> 161 [ label = "'!'..'~'" ];
1723 160 -> err_160 [ label = "DEF / err_procid, err_parse" ];
1724 161 -> 14 [ label = "SP / set_procid" ];
1725 161 -> 162 [ label = "'!'..'~'" ];
1726 161 -> err_161 [ label = "DEF / err_procid, err_parse" ];
1727 162 -> 14 [ label = "SP / set_procid" ];
1728 162 -> 163 [ label = "'!'..'~'" ];
1729 162 -> err_162 [ label = "DEF / err_procid, err_parse" ];
1730 163 -> 14 [ label = "SP / set_procid" ];
1731 163 -> 164 [ label = "'!'..'~'" ];
1732 163 -> err_163 [ label = "DEF / err_procid, err_parse" ];
1733 164 -> 14 [ label = "SP / set_procid" ];
1734 164 -> 165 [ label = "'!'..'~'" ];
1735 164 -> err_164 [ label = "DEF / err_procid, err_parse" ];
1736 165 -> 14 [ label = "SP / set_procid" ];
1737 165 -> 166 [ label = "'!'..'~'" ];
1738 165 -> err_165 [ label = "DEF / err_procid, err_parse" ];
1739 166 -> 14 [ label = "SP / set_procid" ];
1740 166 -> 167 [ label = "'!'..'~'" ];
1741 166 -> err_166 [ label = "DEF / err_procid, err_parse" ];
1742 167 -> 14 [ label = "SP / set_procid" ];
1743 167 -> 168 [ label = "'!'..'~'" ];
1744 167 -> err_167 [ label = "DEF / err_procid, err_parse" ];
1745 168 -> 14 [ label = "SP / set_procid" ];
1746 168 -> 169 [ label = "'!'..'~'" ];
1747 168 -> err_168 [ label = "DEF / err_procid, err_parse" ];
1748 169 -> 14 [ label = "SP / set_procid" ];
1749 169 -> 170 [ label = "'!'..'~'" ];
1750 169 -> err_169 [ label = "DEF / err_procid, err_parse" ];
1751 170 -> 14 [ label = "SP / set_procid" ];
1752 170 -> 171 [ label = "'!'..'~'" ];
1753 170 -> err_170 [ label = "DEF / err_procid, err_parse" ];
1754 171 -> 14 [ label = "SP / set_procid" ];
1755 171 -> 172 [ label = "'!'..'~'" ];
1756 171 -> err_171 [ label = "DEF / err_procid, err_parse" ];
1757 172 -> 14 [ label = "SP / set_procid" ];
1758 172 -> 173 [ label = "'!'..'~'" ];
1759 172 -> err_172 [ label = "DEF / err_procid, err_parse" ];
1760 173 -> 14 [ label = "SP / set_procid" ];
1761 173 -> 174 [ label = "'!'..'~'" ];
1762 173 -> err_173 [ label = "DEF / err_procid, err_parse" ];
1763 174 -> 14 [ label = "SP / set_procid" ];
1764 174 -> 175 [ label = "'!'..'~'" ];
1765 174 -> err_174 [ label = "DEF / err_procid, err_parse" ];
1766 175 -> 14 [ label = "SP / set_procid" ];
1767 175 -> 176 [ label = "'!'..'~'" ];
1768 175 -> err_175 [ label = "DEF / err_procid, err_parse" ];
1769 176 -> 14 [ label = "SP / set_procid" ];
1770 176 -> 177 [ label = "'!'..'~'" ];
1771 176 -> err_176 [ label = "DEF / err_procid, err_parse" ];
1772 177 -> 14 [ label = "SP / set_procid" ];
1773 177 -> 178 [ label = "'!'..'~'" ];
1774 177 -> err_177 [ label = "DEF / err_procid, err_parse" ];
1775 178 -> 14 [ label = "SP / set_procid" ];
1776 178 -> 179 [ label = "'!'..'~'" ];
1777 178 -> err_178 [ label = "DEF / err_procid, err_parse" ];
1778 179 -> 14 [ label = "SP / set_procid" ];
1779 179 -> 180 [ label = "'!'..'~'" ];
1780 179 -> err_179 [ label = "DEF / err_procid, err_parse" ];
1781 180 -> 14 [ label = "SP / set_procid" ];
1782 180 -> 181 [ label = "'!'..'~'" ];
1783 180 -> err_180 [ label = "DEF / err_procid, err_parse" ];
1784 181 -> 14 [ label = "SP / set_procid" ];
1785 181 -> 182 [ label = "'!'..'~'" ];
1786 181 -> err_181 [ label = "DEF / err_procid, err_parse" ];
1787 182 -> 14 [ label = "SP / set_procid" ];
1788 182 -> 183 [ label = "'!'..'~'" ];
1789 182 -> err_182 [ label = "DEF / err_procid, err_parse" ];
1790 183 -> 14 [ label = "SP / set_procid" ];
1791 183 -> 184 [ label = "'!'..'~'" ];
1792 183 -> err_183 [ label = "DEF / err_procid, err_parse" ];
1793 184 -> 14 [ label = "SP / set_procid" ];
1794 184 -> 185 [ label = "'!'..'~'" ];
1795 184 -> err_184 [ label = "DEF / err_procid, err_parse" ];
1796 185 -> 14 [ label = "SP / set_procid" ];
1797 185 -> 186 [ label = "'!'..'~'" ];
1798 185 -> err_185 [ label = "DEF / err_procid, err_parse" ];
1799 186 -> 14 [ label = "SP / set_procid" ];
1800 186 -> 187 [ label = "'!'..'~'" ];
1801 186 -> err_186 [ label = "DEF / err_procid, err_parse" ];
1802 187 -> 14 [ label = "SP / set_procid" ];
1803 187 -> 188 [ label = "'!'..'~'" ];
1804 187 -> err_187 [ label = "DEF / err_procid, err_parse" ];
1805 188 -> 14 [ label = "SP / set_procid" ];
1806 188 -> 189 [ label = "'!'..'~'" ];
1807 188 -> err_188 [ label = "DEF / err_procid, err_parse" ];
1808 189 -> 14 [ label = "SP / set_procid" ];
1809 189 -> 190 [ label = "'!'..'~'" ];
1810 189 -> err_189 [ label = "DEF / err_procid, err_parse" ];
1811 190 -> 14 [ label = "SP / set_procid" ];
1812 190 -> 191 [ label = "'!'..'~'" ];
1813 190 -> err_190 [ label = "DEF / err_procid, err_parse" ];
1814 191 -> 14 [ label = "SP / set_procid" ];
1815 191 -> 192 [ label = "'!'..'~'" ];
1816 191 -> err_191 [ label = "DEF / err_procid, err_parse" ];
1817 192 -> 14 [ label = "SP / set_procid" ];
1818 192 -> 193 [ label = "'!'..'~'" ];
1819 192 -> err_192 [ label = "DEF / err_procid, err_parse" ];
1820 193 -> 14 [ label = "SP / set_procid" ];
1821 193 -> 194 [ label = "'!'..'~'" ];
1822 193 -> err_193 [ label = "DEF / err_procid, err_parse" ];
1823 194 -> 14 [ label = "SP / set_procid" ];
1824 194 -> 195 [ label = "'!'..'~'" ];
1825 194 -> err_194 [ label = "DEF / err_procid, err_parse" ];
1826 195 -> 14 [ label = "SP / set_procid" ];
1827 195 -> 196 [ label = "'!'..'~'" ];
1828 195 -> err_195 [ label = "DEF / err_procid, err_parse" ];
1829 196 -> 14 [ label = "SP / set_procid" ];
1830 196 -> 197 [ label = "'!'..'~'" ];
1831 196 -> err_196 [ label = "DEF / err_procid, err_parse" ];
1832 197 -> 14 [ label = "SP / set_procid" ];
1833 197 -> 198 [ label = "'!'..'~'" ];
1834 197 -> err_197 [ label = "DEF / err_procid, err_parse" ];
1835 198 -> 14 [ label = "SP / set_procid" ];
1836 198 -> 199 [ label = "'!'..'~'" ];
1837 198 -> err_198 [ label = "DEF / err_procid, err_parse" ];
1838 199 -> 14 [ label = "SP / set_procid" ];
1839 199 -> 200 [ label = "'!'..'~'" ];
1840 199 -> err_199 [ label = "DEF / err_procid, err_parse" ];
1841 200 -> 14 [ label = "SP / set_procid" ];
1842 200 -> 201 [ label = "'!'..'~'" ];
1843 200 -> err_200 [ label = "DEF / err_procid, err_parse" ];
1844 201 -> 14 [ label = "SP / set_procid" ];
1845 201 -> 202 [ label = "'!'..'~'" ];
1846 201 -> err_201 [ label = "DEF / err_procid, err_parse" ];
1847 202 -> 14 [ label = "SP / set_procid" ];
1848 202 -> 203 [ label = "'!'..'~'" ];
1849 202 -> err_202 [ label = "DEF / err_procid, err_parse" ];
1850 203 -> 14 [ label = "SP / set_procid" ];
1851 203 -> 204 [ label = "'!'..'~'" ];
1852 203 -> err_203 [ label = "DEF / err_procid, err_parse" ];
1853 204 -> 14 [ label = "SP / set_procid" ];
1854 204 -> 205 [ label = "'!'..'~'" ];
1855 204 -> err_204 [ label = "DEF / err_procid, err_parse" ];
1856 205 -> 14 [ label = "SP / set_procid" ];
1857 205 -> 206 [ label = "'!'..'~'" ];
1858 205 -> err_205 [ label = "DEF / err_procid, err_parse" ];
1859 206 -> 14 [ label = "SP / set_procid" ];
1860 206 -> 207 [ label = "'!'..'~'" ];
1861 206 -> err_206 [ label = "DEF / err_procid, err_parse" ];
1862 207 -> 14 [ label = "SP / set_procid" ];
1863 207 -> 208 [ label = "'!'..'~'" ];
1864 207 -> err_207 [ label = "DEF / err_procid, err_parse" ];
1865 208 -> 14 [ label = "SP / set_procid" ];
1866 208 -> 209 [ label = "'!'..'~'" ];
1867 208 -> err_208 [ label = "DEF / err_procid, err_parse" ];
1868 209 -> 14 [ label = "SP / set_procid" ];
1869 209 -> 210 [ label = "'!'..'~'" ];
1870 209 -> err_209 [ label = "DEF / err_procid, err_parse" ];
1871 210 -> 14 [ label = "SP / set_procid" ];
1872 210 -> 211 [ label = "'!'..'~'" ];
1873 210 -> err_210 [ label = "DEF / err_procid, err_parse" ];
1874 211 -> 14 [ label = "SP / set_procid" ];
1875 211 -> 212 [ label = "'!'..'~'" ];
1876 211 -> err_211 [ label = "DEF / err_procid, err_parse" ];
1877 212 -> 14 [ label = "SP / set_procid" ];
1878 212 -> 213 [ label = "'!'..'~'" ];
1879 212 -> err_212 [ label = "DEF / err_procid, err_parse" ];
1880 213 -> 14 [ label = "SP / set_procid" ];
1881 213 -> 214 [ label = "'!'..'~'" ];
1882 213 -> err_213 [ label = "DEF / err_procid, err_parse" ];
1883 214 -> 14 [ label = "SP / set_procid" ];
1884 214 -> 215 [ label = "'!'..'~'" ];
1885 214 -> err_214 [ label = "DEF / err_procid, err_parse" ];
1886 215 -> 14 [ label = "SP / set_procid" ];
1887 215 -> 216 [ label = "'!'..'~'" ];
1888 215 -> err_215 [ label = "DEF / err_procid, err_parse" ];
1889 216 -> 14 [ label = "SP / set_procid" ];
1890 216 -> 217 [ label = "'!'..'~'" ];
1891 216 -> err_216 [ label = "DEF / err_procid, err_parse" ];
1892 217 -> 14 [ label = "SP / set_procid" ];
1893 217 -> 218 [ label = "'!'..'~'" ];
1894 217 -> err_217 [ label = "DEF / err_procid, err_parse" ];
1895 218 -> 14 [ label = "SP / set_procid" ];
1896 218 -> 219 [ label = "'!'..'~'" ];
1897 218 -> err_218 [ label = "DEF / err_procid, err_parse" ];
1898 219 -> 14 [ label = "SP / set_procid" ];
1899 219 -> 220 [ label = "'!'..'~'" ];
1900 219 -> err_219 [ label = "DEF / err_procid, err_parse" ];
1901 220 -> 14 [ label = "SP / set_procid" ];
1902 220 -> 221 [ label = "'!'..'~'" ];
1903 220 -> err_220 [ label = "DEF / err_procid, err_parse" ];
1904 221 -> 14 [ label = "SP / set_procid" ];
1905 221 -> 222 [ label = "'!'..'~'" ];
1906 221 -> err_221 [ label = "DEF / err_procid, err_parse" ];
1907 222 -> 14 [ label = "SP / set_procid" ];
1908 222 -> 223 [ label = "'!'..'~'" ];
1909 222 -> err_222 [ label = "DEF / err_procid, err_parse" ];
1910 223 -> 14 [ label = "SP / set_procid" ];
1911 223 -> 224 [ label = "'!'..'~'" ];
1912 223 -> err_223 [ label = "DEF / err_procid, err_parse" ];
1913 224 -> 14 [ label = "SP / set_procid" ];
1914 224 -> 225 [ label = "'!'..'~'" ];
1915 224 -> err_224 [ label = "DEF / err_procid, err_parse" ];
1916 225 -> 14 [ label = "SP / set_procid" ];
1917 225 -> 226 [ label = "'!'..'~'" ];
1918 225 -> err_225 [ label = "DEF / err_procid, err_parse" ];
1919 226 -> 14 [ label = "SP / set_procid" ];
1920 226 -> 227 [ label = "'!'..'~'" ];
1921 226 -> err_226 [ label = "DEF / err_procid, err_parse" ];
1922 227 -> 14 [ label = "SP / set_procid" ];
1923 227 -> 228 [ label = "'!'..'~'" ];
1924 227 -> err_227 [ label = "DEF / err_procid, err_parse" ];
1925 228 -> 14 [ label = "SP / set_procid" ];
1926 228 -> 229 [ label = "'!'..'~'" ];
1927 228 -> err_228 [ label = "DEF / err_procid, err_parse" ];
1928 229 -> 14 [ label = "SP / set_procid" ];
1929 229 -> 230 [ label = "'!'..'~'" ];
1930 229 -> err_229 [ label = "DEF / err_procid, err_parse" ];
1931 230 -> 14 [ label = "SP / set_procid" ];
1932 230 -> 231 [ label = "'!'..'~'" ];
1933 230 -> err_230 [ label = "DEF / err_procid, err_parse" ];
1934 231 -> 14 [ label = "SP / set_procid" ];
1935 231 -> 232 [ label = "'!'..'~'" ];
1936 231 -> err_231 [ label = "DEF / err_procid, err_parse" ];
1937 232 -> 14 [ label = "SP / set_procid" ];
1938 232 -> 233 [ label = "'!'..'~'" ];
1939 232 -> err_232 [ label = "DEF / err_procid, err_parse" ];
1940 233 -> 14 [ label = "SP / set_procid" ];
1941 233 -> 234 [ label = "'!'..'~'" ];
1942 233 -> err_233 [ label = "DEF / err_procid, err_parse" ];
1943 234 -> 14 [ label = "SP / set_procid" ];
1944 234 -> 235 [ label = "'!'..'~'" ];
1945 234 -> err_234 [ label = "DEF / err_procid, err_parse" ];
1946 235 -> 14 [ label = "SP / set_procid" ];
1947 235 -> 236 [ label = "'!'..'~'" ];
1948 235 -> err_235 [ label = "DEF / err_procid, err_parse" ];
1949 236 -> 14 [ label = "SP / set_procid" ];
1950 236 -> 237 [ label = "'!'..'~'" ];
1951 236 -> err_236 [ label = "DEF / err_procid, err_parse" ];
1952 237 -> 14 [ label = "SP / set_procid" ];
1953 237 -> 238 [ label = "'!'..'~'" ];
1954 237 -> err_237 [ label = "DEF / err_procid, err_parse" ];
1955 238 -> 14 [ label = "SP / set_procid" ];
1956 238 -> 239 [ label = "'!'..'~'" ];
1957 238 -> err_238 [ label = "DEF / err_procid, err_parse" ];
1958 239 -> 14 [ label = "SP / set_procid" ];
1959 239 -> 240 [ label = "'!'..'~'" ];
1960 239 -> err_239 [ label = "DEF / err_procid, err_parse" ];
1961 240 -> 14 [ label = "SP / set_procid" ];
1962 240 -> 241 [ label = "'!'..'~'" ];
1963 240 -> err_240 [ label = "DEF / err_procid, err_parse" ];
1964 241 -> 14 [ label = "SP / set_procid" ];
1965 241 -> 242 [ label = "'!'..'~'" ];
1966 241 -> err_241 [ label = "DEF / err_procid, err_parse" ];
1967 242 -> 14 [ label = "SP / set_procid" ];
1968 242 -> 243 [ label = "'!'..'~'" ];
1969 242 -> err_242 [ label = "DEF / err_procid, err_parse" ];
1970 243 -> 14 [ label = "SP / set_procid" ];
1971 243 -> 244 [ label = "'!'..'~'" ];
1972 243 -> err_243 [ label = "DEF / err_procid, err_parse" ];
1973 244 -> 14 [ label = "SP / set_procid" ];
1974 244 -> 245 [ label = "'!'..'~'" ];
1975 244 -> err_244 [ label = "DEF / err_procid, err_parse" ];
1976 245 -> 14 [ label = "SP / set_procid" ];
1977 245 -> 246 [ label = "'!'..'~'" ];
1978 245 -> err_245 [ label = "DEF / err_procid, err_parse" ];
1979 246 -> 14 [ label = "SP / set_procid" ];
1980 246 -> 247 [ label = "'!'..'~'" ];
1981 246 -> err_246 [ label = "DEF / err_procid, err_parse" ];
1982 247 -> 14 [ label = "SP / set_procid" ];
1983 247 -> 248 [ label = "'!'..'~'" ];
1984 247 -> err_247 [ label = "DEF / err_procid, err_parse" ];
1985 248 -> 14 [ label = "SP / set_procid" ];
1986 248 -> 249 [ label = "'!'..'~'" ];
1987 248 -> err_248 [ label = "DEF / err_procid, err_parse" ];
1988 249 -> 14 [ label = "SP / set_procid" ];
1989 249 -> 250 [ label = "'!'..'~'" ];
1990 249 -> err_249 [ label = "DEF / err_procid, err_parse" ];
1991 250 -> 14 [ label = "SP / set_procid" ];
1992 250 -> 251 [ label = "'!'..'~'" ];
1993 250 -> err_250 [ label = "DEF / err_procid, err_parse" ];
1994 251 -> 14 [ label = "SP / set_procid" ];
1995 251 -> 252 [ label = "'!'..'~'" ];
1996 251 -> err_251 [ label = "DEF / err_procid, err_parse" ];
1997 252 -> 14 [ label = "SP / set_procid" ];
1998 252 -> 253 [ label = "'!'..'~'" ];
1999 252 -> err_252 [ label = "DEF / err_procid, err_parse" ];
2000 253 -> 14 [ label = "SP / set_procid" ];
2001 253 -> 254 [ label = "'!'..'~'" ];
2002 253 -> err_253 [ label = "DEF / err_procid, err_parse" ];
2003 254 -> 14 [ label = "SP / set_procid" ];
2004 254 -> 255 [ label = "'!'..'~'" ];
2005 254 -> err_254 [ label = "DEF / err_procid, err_parse" ];
2006 255 -> 14 [ label = "SP / set_procid" ];
2007 255 -> 256 [ label = "'!'..'~'" ];
2008 255 -> err_255 [ label = "DEF / err_procid, err_parse" ];
2009 256 -> 14 [ label = "SP / set_procid" ];
2010 256 -> 257 [ label = "'!'..'~'" ];
2011 256 -> err_256 [ label = "DEF / err_procid, err_parse" ];
2012 257 -> 14 [ label = "SP / set_procid" ];
2013 257 -> 258 [ label = "'!'..'~'" ];
2014 257 -> err_257 [ label = "DEF / err_procid, err_parse" ];
2015 258 -> 14 [ label = "SP / set_procid" ];
2016 258 -> 259 [ label = "'!'..'~'" ];
2017 258 -> err_258 [ label = "DEF / err_procid, err_parse" ];
2018 259 -> 14 [ label = "SP / set_procid" ];
2019 259 -> err_259 [ label = "DEF / err_procid, err_parse" ];
2020 260 -> 12 [ label = "SP / set_appname" ];
2021 260 -> 261 [ label = "'!'..'~'" ];
2022 260 -> err_260 [ label = "DEF / err_appname, err_parse" ];
2023 261 -> 12 [ label = "SP / set_appname" ];
2024 261 -> 262 [ label = "'!'..'~'" ];
2025 261 -> err_261 [ label = "DEF / err_appname, err_parse" ];
2026 262 -> 12 [ label = "SP / set_appname" ];
2027 262 -> 263 [ label = "'!'..'~'" ];
2028 262 -> err_262 [ label = "DEF / err_appname, err_parse" ];
2029 263 -> 12 [ label = "SP / set_appname" ];
2030 263 -> 264 [ label = "'!'..'~'" ];
2031 263 -> err_263 [ label = "DEF / err_appname, err_parse" ];
2032 264 -> 12 [ label = "SP / set_appname" ];
2033 264 -> 265 [ label = "'!'..'~'" ];
2034 264 -> err_264 [ label = "DEF / err_appname, err_parse" ];
2035 265 -> 12 [ label = "SP / set_appname" ];
2036 265 -> 266 [ label = "'!'..'~'" ];
2037 265 -> err_265 [ label = "DEF / err_appname, err_parse" ];
2038 266 -> 12 [ label = "SP / set_appname" ];
2039 266 -> 267 [ label = "'!'..'~'" ];
2040 266 -> err_266 [ label = "DEF / err_appname, err_parse" ];
2041 267 -> 12 [ label = "SP / set_appname" ];
2042 267 -> 268 [ label = "'!'..'~'" ];
2043 267 -> err_267 [ label = "DEF / err_appname, err_parse" ];
2044 268 -> 12 [ label = "SP / set_appname" ];
2045 268 -> 269 [ label = "'!'..'~'" ];
2046 268 -> err_268 [ label = "DEF / err_appname, err_parse" ];
2047 269 -> 12 [ label = "SP / set_appname" ];
2048 269 -> 270 [ label = "'!'..'~'" ];
2049 269 -> err_269 [ label = "DEF / err_appname, err_parse" ];
2050 270 -> 12 [ label = "SP / set_appname" ];
2051 270 -> 271 [ label = "'!'..'~'" ];
2052 270 -> err_270 [ label = "DEF / err_appname, err_parse" ];
2053 271 -> 12 [ label = "SP / set_appname" ];
2054 271 -> 272 [ label = "'!'..'~'" ];
2055 271 -> err_271 [ label = "DEF / err_appname, err_parse" ];
2056 272 -> 12 [ label = "SP / set_appname" ];
2057 272 -> 273 [ label = "'!'..'~'" ];
2058 272 -> err_272 [ label = "DEF / err_appname, err_parse" ];
2059 273 -> 12 [ label = "SP / set_appname" ];
2060 273 -> 274 [ label = "'!'..'~'" ];
2061 273 -> err_273 [ label = "DEF / err_appname, err_parse" ];
2062 274 -> 12 [ label = "SP / set_appname" ];
2063 274 -> 275 [ label = "'!'..'~'" ];
2064 274 -> err_274 [ label = "DEF / err_appname, err_parse" ];
2065 275 -> 12 [ label = "SP / set_appname" ];
2066 275 -> 276 [ label = "'!'..'~'" ];
2067 275 -> err_275 [ label = "DEF / err_appname, err_parse" ];
2068 276 -> 12 [ label = "SP / set_appname" ];
2069 276 -> 277 [ label = "'!'..'~'" ];
2070 276 -> err_276 [ label = "DEF / err_appname, err_parse" ];
2071 277 -> 12 [ label = "SP / set_appname" ];
2072 277 -> 278 [ label = "'!'..'~'" ];
2073 277 -> err_277 [ label = "DEF / err_appname, err_parse" ];
2074 278 -> 12 [ label = "SP / set_appname" ];
2075 278 -> 279 [ label = "'!'..'~'" ];
2076 278 -> err_278 [ label = "DEF / err_appname, err_parse" ];
2077 279 -> 12 [ label = "SP / set_appname" ];
2078 279 -> 280 [ label = "'!'..'~'" ];
2079 279 -> err_279 [ label = "DEF / err_appname, err_parse" ];
2080 280 -> 12 [ label = "SP / set_appname" ];
2081 280 -> 281 [ label = "'!'..'~'" ];
2082 280 -> err_280 [ label = "DEF / err_appname, err_parse" ];
2083 281 -> 12 [ label = "SP / set_appname" ];
2084 281 -> 282 [ label = "'!'..'~'" ];
2085 281 -> err_281 [ label = "DEF / err_appname, err_parse" ];
2086 282 -> 12 [ label = "SP / set_appname" ];
2087 282 -> 283 [ label = "'!'..'~'" ];
2088 282 -> err_282 [ label = "DEF / err_appname, err_parse" ];
2089 283 -> 12 [ label = "SP / set_appname" ];
2090 283 -> 284 [ label = "'!'..'~'" ];
2091 283 -> err_283 [ label = "DEF / err_appname, err_parse" ];
2092 284 -> 12 [ label = "SP / set_appname" ];
2093 284 -> 285 [ label = "'!'..'~'" ];
2094 284 -> err_284 [ label = "DEF / err_appname, err_parse" ];
2095 285 -> 12 [ label = "SP / set_appname" ];
2096 285 -> 286 [ label = "'!'..'~'" ];
2097 285 -> err_285 [ label = "DEF / err_appname, err_parse" ];
2098 286 -> 12 [ label = "SP / set_appname" ];
2099 286 -> 287 [ label = "'!'..'~'" ];
2100 286 -> err_286 [ label = "DEF / err_appname, err_parse" ];
2101 287 -> 12 [ label = "SP / set_appname" ];
2102 287 -> 288 [ label = "'!'..'~'" ];
2103 287 -> err_287 [ label = "DEF / err_appname, err_parse" ];
2104 288 -> 12 [ label = "SP / set_appname" ];
2105 288 -> 289 [ label = "'!'..'~'" ];
2106 288 -> err_288 [ label = "DEF / err_appname, err_parse" ];
2107 289 -> 12 [ label = "SP / set_appname" ];
2108 289 -> 290 [ label = "'!'..'~'" ];
2109 289 -> err_289 [ label = "DEF / err_appname, err_parse" ];
2110 290 -> 12 [ label = "SP / set_appname" ];
2111 290 -> 291 [ label = "'!'..'~'" ];
2112 290 -> err_290 [ label = "DEF / err_appname, err_parse" ];
2113 291 -> 12 [ label = "SP / set_appname" ];
2114 291 -> 292 [ label = "'!'..'~'" ];
2115 291 -> err_291 [ label = "DEF / err_appname, err_parse" ];
2116 292 -> 12 [ label = "SP / set_appname" ];
2117 292 -> 293 [ label = "'!'..'~'" ];
2118 292 -> err_292 [ label = "DEF / err_appname, err_parse" ];
2119 293 -> 12 [ label = "SP / set_appname" ];
2120 293 -> 294 [ label = "'!'..'~'" ];
2121 293 -> err_293 [ label = "DEF / err_appname, err_parse" ];
2122 294 -> 12 [ label = "SP / set_appname" ];
2123 294 -> 295 [ label = "'!'..'~'" ];
2124 294 -> err_294 [ label = "DEF / err_appname, err_parse" ];
2125 295 -> 12 [ label = "SP / set_appname" ];
2126 295 -> 296 [ label = "'!'..'~'" ];
2127 295 -> err_295 [ label = "DEF / err_appname, err_parse" ];
2128 296 -> 12 [ label = "SP / set_appname" ];
2129 296 -> 297 [ label = "'!'..'~'" ];
2130 296 -> err_296 [ label = "DEF / err_appname, err_parse" ];
2131 297 -> 12 [ label = "SP / set_appname" ];
2132 297 -> 298 [ label = "'!'..'~'" ];
2133 297 -> err_297 [ label = "DEF / err_appname, err_parse" ];
2134 298 -> 12 [ label = "SP / set_appname" ];
2135 298 -> 299 [ label = "'!'..'~'" ];
2136 298 -> err_298 [ label = "DEF / err_appname, err_parse" ];
2137 299 -> 12 [ label = "SP / set_appname" ];
2138 299 -> 300 [ label = "'!'..'~'" ];
2139 299 -> err_299 [ label = "DEF / err_appname, err_parse" ];
2140 300 -> 12 [ label = "SP / set_appname" ];
2141 300 -> 301 [ label = "'!'..'~'" ];
2142 300 -> err_300 [ label = "DEF / err_appname, err_parse" ];
2143 301 -> 12 [ label = "SP / set_appname" ];
2144 301 -> 302 [ label = "'!'..'~'" ];
2145 301 -> err_301 [ label = "DEF / err_appname, err_parse" ];
2146 302 -> 12 [ label = "SP / set_appname" ];
2147 302 -> 303 [ label = "'!'..'~'" ];
2148 302 -> err_302 [ label = "DEF / err_appname, err_parse" ];
2149 303 -> 12 [ label = "SP / set_appname" ];
2150 303 -> 304 [ label = "'!'..'~'" ];
2151 303 -> err_303 [ label = "DEF / err_appname, err_parse" ];
2152 304 -> 12 [ label = "SP / set_appname" ];
2153 304 -> 305 [ label = "'!'..'~'" ];
2154 304 -> err_304 [ label = "DEF / err_appname, err_parse" ];
2155 305 -> 12 [ label = "SP / set_appname" ];
2156 305 -> 306 [ label = "'!'..'~'" ];
2157 305 -> err_305 [ label = "DEF / err_appname, err_parse" ];
2158 306 -> 12 [ label = "SP / set_appname" ];
2159 306 -> err_306 [ label = "DEF / err_appname, err_parse" ];
2160 307 -> 10 [ label = "SP / set_hostname" ];
2161 307 -> 308 [ label = "'!'..'~'" ];
2162 307 -> err_307 [ label = "DEF / err_hostname, err_parse" ];
2163 308 -> 10 [ label = "SP / set_hostname" ];
2164 308 -> 309 [ label = "'!'..'~'" ];
2165 308 -> err_308 [ label = "DEF / err_hostname, err_parse" ];
2166 309 -> 10 [ label = "SP / set_hostname" ];
2167 309 -> 310 [ label = "'!'..'~'" ];
2168 309 -> err_309 [ label = "DEF / err_hostname, err_parse" ];
2169 310 -> 10 [ label = "SP / set_hostname" ];
2170 310 -> 311 [ label = "'!'..'~'" ];
2171 310 -> err_310 [ label = "DEF / err_hostname, err_parse" ];
2172 311 -> 10 [ label = "SP / set_hostname" ];
2173 311 -> 312 [ label = "'!'..'~'" ];
2174 311 -> err_311 [ label = "DEF / err_hostname, err_parse" ];
2175 312 -> 10 [ label = "SP / set_hostname" ];
2176 312 -> 313 [ label = "'!'..'~'" ];
2177 312 -> err_312 [ label = "DEF / err_hostname, err_parse" ];
2178 313 -> 10 [ label = "SP / set_hostname" ];
2179 313 -> 314 [ label = "'!'..'~'" ];
2180 313 -> err_313 [ label = "DEF / err_hostname, err_parse" ];
2181 314 -> 10 [ label = "SP / set_hostname" ];
2182 314 -> 315 [ label = "'!'..'~'" ];
2183 314 -> err_314 [ label = "DEF / err_hostname, err_parse" ];
2184 315 -> 10 [ label = "SP / set_hostname" ];
2185 315 -> 316 [ label = "'!'..'~'" ];
2186 315 -> err_315 [ label = "DEF / err_hostname, err_parse" ];
2187 316 -> 10 [ label = "SP / set_hostname" ];
2188 316 -> 317 [ label = "'!'..'~'" ];
2189 316 -> err_316 [ label = "DEF / err_hostname, err_parse" ];
2190 317 -> 10 [ label = "SP / set_hostname" ];
2191 317 -> 318 [ label = "'!'..'~'" ];
2192 317 -> err_317 [ label = "DEF / err_hostname, err_parse" ];
2193 318 -> 10 [ label = "SP / set_hostname" ];
2194 318 -> 319 [ label = "'!'..'~'" ];
2195 318 -> err_318 [ label = "DEF / err_hostname, err_parse" ];
2196 319 -> 10 [ label = "SP / set_hostname" ];
2197 319 -> 320 [ label = "'!'..'~'" ];
2198 319 -> err_319 [ label = "DEF / err_hostname, err_parse" ];
2199 320 -> 10 [ label = "SP / set_hostname" ];
2200 320 -> 321 [ label = "'!'..'~'" ];
2201 320 -> err_320 [ label = "DEF / err_hostname, err_parse" ];
2202 321 -> 10 [ label = "SP / set_hostname" ];
2203 321 -> 322 [ label = "'!'..'~'" ];
2204 321 -> err_321 [ label = "DEF / err_hostname, err_parse" ];
2205 322 -> 10 [ label = "SP / set_hostname" ];
2206 322 -> 323 [ label = "'!'..'~'" ];
2207 322 -> err_322 [ label = "DEF / err_hostname, err_parse" ];
2208 323 -> 10 [ label = "SP / set_hostname" ];
2209 323 -> 324 [ label = "'!'..'~'" ];
2210 323 -> err_323 [ label = "DEF / err_hostname, err_parse" ];
2211 324 -> 10 [ label = "SP / set_hostname" ];
2212 324 -> 325 [ label = "'!'..'~'" ];
2213 324 -> err_324 [ label = "DEF / err_hostname, err_parse" ];
2214 325 -> 10 [ label = "SP / set_hostname" ];
2215 325 -> 326 [ label = "'!'..'~'" ];
2216 325 -> err_325 [ label = "DEF / err_hostname, err_parse" ];
2217 326 -> 10 [ label = "SP / set_hostname" ];
2218 326 -> 327 [ label = "'!'..'~'" ];
2219 326 -> err_326 [ label = "DEF / err_hostname, err_parse" ];
2220 327 -> 10 [ label = "SP / set_hostname" ];
2221 327 -> 328 [ label = "'!'..'~'" ];
2222 327 -> err_327 [ label = "DEF / err_hostname, err_parse" ];
2223 328 -> 10 [ label = "SP / set_hostname" ];
2224 328 -> 329 [ label = "'!'..'~'" ];
2225 328 -> err_328 [ label = "DEF / err_hostname, err_parse" ];
2226 329 -> 10 [ label = "SP / set_hostname" ];
2227 329 -> 330 [ label = "'!'..'~'" ];
2228 329 -> err_329 [ label = "DEF / err_hostname, err_parse" ];
2229 330 -> 10 [ label = "SP / set_hostname" ];
2230 330 -> 331 [ label = "'!'..'~'" ];
2231 330 -> err_330 [ label = "DEF / err_hostname, err_parse" ];
2232 331 -> 10 [ label = "SP / set_hostname" ];
2233 331 -> 332 [ label = "'!'..'~'" ];
2234 331 -> err_331 [ label = "DEF / err_hostname, err_parse" ];
2235 332 -> 10 [ label = "SP / set_hostname" ];
2236 332 -> 333 [ label = "'!'..'~'" ];
2237 332 -> err_332 [ label = "DEF / err_hostname, err_parse" ];
2238 333 -> 10 [ label = "SP / set_hostname" ];
2239 333 -> 334 [ label = "'!'..'~'" ];
2240 333 -> err_333 [ label = "DEF / err_hostname, err_parse" ];
2241 334 -> 10 [ label = "SP / set_hostname" ];
2242 334 -> 335 [ label = "'!'..'~'" ];
2243 334 -> err_334 [ label = "DEF / err_hostname, err_parse" ];
2244 335 -> 10 [ label = "SP / set_hostname" ];
2245 335 -> 336 [ label = "'!'..'~'" ];
2246 335 -> err_335 [ label = "DEF / err_hostname, err_parse" ];
2247 336 -> 10 [ label = "SP / set_hostname" ];
2248 336 -> 337 [ label = "'!'..'~'" ];
2249 336 -> err_336 [ label = "DEF / err_hostname, err_parse" ];
2250 337 -> 10 [ label = "SP / set_hostname" ];
2251 337 -> 338 [ label = "'!'..'~'" ];
2252 337 -> err_337 [ label = "DEF / err_hostname, err_parse" ];
2253 338 -> 10 [ label = "SP / set_hostname" ];
2254 338 -> 339 [ label = "'!'..'~'" ];
2255 338 -> err_338 [ label = "DEF / err_hostname, err_parse" ];
2256 339 -> 10 [ label = "SP / set_hostname" ];
2257 339 -> 340 [ label = "'!'..'~'" ];
2258 339 -> err_339 [ label = "DEF / err_hostname, err_parse" ];
2259 340 -> 10 [ label = "SP / set_hostname" ];
2260 340 -> 341 [ label = "'!'..'~'" ];
2261 340 -> err_340 [ label = "DEF / err_hostname, err_parse" ];
2262 341 -> 10 [ label = "SP / set_hostname" ];
2263 341 -> 342 [ label = "'!'..'~'" ];
2264 341 -> err_341 [ label = "DEF / err_hostname, err_parse" ];
2265 342 -> 10 [ label = "SP / set_hostname" ];
2266 342 -> 343 [ label = "'!'..'~'" ];
2267 342 -> err_342 [ label = "DEF / err_hostname, err_parse" ];
2268 343 -> 10 [ label = "SP / set_hostname" ];
2269 343 -> 344 [ label = "'!'..'~'" ];
2270 343 -> err_343 [ label = "DEF / err_hostname, err_parse" ];
2271 344 -> 10 [ label = "SP / set_hostname" ];
2272 344 -> 345 [ label = "'!'..'~'" ];
2273 344 -> err_344 [ label = "DEF / err_hostname, err_parse" ];
2274 345 -> 10 [ label = "SP / set_hostname" ];
2275 345 -> 346 [ label = "'!'..'~'" ];
2276 345 -> err_345 [ label = "DEF / err_hostname, err_parse" ];
2277 346 -> 10 [ label = "SP / set_hostname" ];
2278 346 -> 347 [ label = "'!'..'~'" ];
2279 346 -> err_346 [ label = "DEF / err_hostname, err_parse" ];
2280 347 -> 10 [ label = "SP / set_hostname" ];
2281 347 -> 348 [ label = "'!'..'~'" ];
2282 347 -> err_347 [ label = "DEF / err_hostname, err_parse" ];
2283 348 -> 10 [ label = "SP / set_hostname" ];
2284 348 -> 349 [ label = "'!'..'~'" ];
2285 348 -> err_348 [ label = "DEF / err_hostname, err_parse" ];
2286 349 -> 10 [ label = "SP / set_hostname" ];
2287 349 -> 350 [ label = "'!'..'~'" ];
2288 349 -> err_349 [ label = "DEF / err_hostname, err_parse" ];
2289 350 -> 10 [ label = "SP / set_hostname" ];
2290 350 -> 351 [ label = "'!'..'~'" ];
2291 350 -> err_350 [ label = "DEF / err_hostname, err_parse" ];
2292 351 -> 10 [ label = "SP / set_hostname" ];
2293 351 -> 352 [ label = "'!'..'~'" ];
2294 351 -> err_351 [ label = "DEF / err_hostname, err_parse" ];
2295 352 -> 10 [ label = "SP / set_hostname" ];
2296 352 -> 353 [ label = "'!'..'~'" ];
2297 352 -> err_352 [ label = "DEF / err_hostname, err_parse" ];
2298 353 -> 10 [ label = "SP / set_hostname" ];
2299 353 -> 354 [ label = "'!'..'~'" ];
2300 353 -> err_353 [ label = "DEF / err_hostname, err_parse" ];
2301 354 -> 10 [ label = "SP / set_hostname" ];
2302 354 -> 355 [ label = "'!'..'~'" ];
2303 354 -> err_354 [ label = "DEF / err_hostname, err_parse" ];
2304 355 -> 10 [ label = "SP / set_hostname" ];
2305 355 -> 356 [ label = "'!'..'~'" ];
2306 355 -> err_355 [ label = "DEF / err_hostname, err_parse" ];
2307 356 -> 10 [ label = "SP / set_hostname" ];
2308 356 -> 357 [ label = "'!'..'~'" ];
2309 356 -> err_356 [ label = "DEF / err_hostname, err_parse" ];
2310 357 -> 10 [ label = "SP / set_hostname" ];
2311 357 -> 358 [ label = "'!'..'~'" ];
2312 357 -> err_357 [ label = "DEF / err_hostname, err_parse" ];
2313 358 -> 10 [ label = "SP / set_hostname" ];
2314 358 -> 359 [ label = "'!'..'~'" ];
2315 358 -> err_358 [ label = "DEF / err_hostname, err_parse" ];
2316 359 -> 10 [ label = "SP / set_hostname" ];
2317 359 -> 360 [ label = "'!'..'~'" ];
2318 359 -> err_359 [ label = "DEF / err_hostname, err_parse" ];
2319 360 -> 10 [ label = "SP / set_hostname" ];
2320 360 -> 361 [ label = "'!'..'~'" ];
2321 360 -> err_360 [ label = "DEF / err_hostname, err_parse" ];
2322 361 -> 10 [ label = "SP / set_hostname" ];
2323 361 -> 362 [ label = "'!'..'~'" ];
2324 361 -> err_361 [ label = "DEF / err_hostname, err_parse" ];
2325 362 -> 10 [ label = "SP / set_hostname" ];
2326 362 -> 363 [ label = "'!'..'~'" ];
2327 362 -> err_362 [ label = "DEF / err_hostname, err_parse" ];
2328 363 -> 10 [ label = "SP / set_hostname" ];
2329 363 -> 364 [ label = "'!'..'~'" ];
2330 363 -> err_363 [ label = "DEF / err_hostname, err_parse" ];
2331 364 -> 10 [ label = "SP / set_hostname" ];
2332 364 -> 365 [ label = "'!'..'~'" ];
2333 364 -> err_364 [ label = "DEF / err_hostname, err_parse" ];
2334 365 -> 10 [ label = "SP / set_hostname" ];
2335 365 -> 366 [ label = "'!'..'~'" ];
2336 365 -> err_365 [ label = "DEF / err_hostname, err_parse" ];
2337 366 -> 10 [ label = "SP / set_hostname" ];
2338 366 -> 367 [ label = "'!'..'~'" ];
2339 366 -> err_366 [ label = "DEF / err_hostname, err_parse" ];
2340 367 -> 10 [ label = "SP / set_hostname" ];
2341 367 -> 368 [ label = "'!'..'~'" ];
2342 367 -> err_367 [ label = "DEF / err_hostname, err_parse" ];
2343 368 -> 10 [ label = "SP / set_hostname" ];
2344 368 -> 369 [ label = "'!'..'~'" ];
2345 368 -> err_368 [ label = "DEF / err_hostname, err_parse" ];
2346 369 -> 10 [ label = "SP / set_hostname" ];
2347 369 -> 370 [ label = "'!'..'~'" ];
2348 369 -> err_369 [ label = "DEF / err_hostname, err_parse" ];
2349 370 -> 10 [ label = "SP / set_hostname" ];
2350 370 -> 371 [ label = "'!'..'~'" ];
2351 370 -> err_370 [ label = "DEF / err_hostname, err_parse" ];
2352 371 -> 10 [ label = "SP / set_hostname" ];
2353 371 -> 372 [ label = "'!'..'~'" ];
2354 371 -> err_371 [ label = "DEF / err_hostname, err_parse" ];
2355 372 -> 10 [ label = "SP / set_hostname" ];
2356 372 -> 373 [ label = "'!'..'~'" ];
2357 372 -> err_372 [ label = "DEF / err_hostname, err_parse" ];
2358 373 -> 10 [ label = "SP / set_hostname" ];
2359 373 -> 374 [ label = "'!'..'~'" ];
2360 373 -> err_373 [ label = "DEF / err_hostname, err_parse" ];
2361 374 -> 10 [ label = "SP / set_hostname" ];
2362 374 -> 375 [ label = "'!'..'~'" ];
2363 374 -> err_374 [ label = "DEF / err_hostname, err_parse" ];
2364 375 -> 10 [ label = "SP / set_hostname" ];
2365 375 -> 376 [ label = "'!'..'~'" ];
2366 375 -> err_375 [ label = "DEF / err_hostname, err_parse" ];
2367 376 -> 10 [ label = "SP / set_hostname" ];
2368 376 -> 377 [ label = "'!'..'~'" ];
2369 376 -> err_376 [ label = "DEF / err_hostname, err_parse" ];
2370 377 -> 10 [ label = "SP / set_hostname" ];
2371 377 -> 378 [ label = "'!'..'~'" ];
2372 377 -> err_377 [ label = "DEF / err_hostname, err_parse" ];
2373 378 -> 10 [ label = "SP / set_hostname" ];
2374 378 -> 379 [ label = "'!'..'~'" ];
2375 378 -> err_378 [ label = "DEF / err_hostname, err_parse" ];
2376 379 -> 10 [ label = "SP / set_hostname" ];
2377 379 -> 380 [ label = "'!'..'~'" ];
2378 379 -> err_379 [ label = "DEF / err_hostname, err_parse" ];
2379 380 -> 10 [ label = "SP / set_hostname" ];
2380 380 -> 381 [ label = "'!'..'~'" ];
2381 380 -> err_380 [ label = "DEF / err_hostname, err_parse" ];
2382 381 -> 10 [ label = "SP / set_hostname" ];
2383 381 -> 382 [ label = "'!'..'~'" ];
2384 381 -> err_381 [ label = "DEF / err_hostname, err_parse" ];
2385 382 -> 10 [ label = "SP / set_hostname" ];
2386 382 -> 383 [ label = "'!'..'~'" ];
2387 382 -> err_382 [ label = "DEF / err_hostname, err_parse" ];
2388 383 -> 10 [ label = "SP / set_hostname" ];
2389 383 -> 384 [ label = "'!'..'~'" ];
2390 383 -> err_383 [ label = "DEF / err_hostname, err_parse" ];
2391 384 -> 10 [ label = "SP / set_hostname" ];
2392 384 -> 385 [ label = "'!'..'~'" ];
2393 384 -> err_384 [ label = "DEF / err_hostname, err_parse" ];
2394 385 -> 10 [ label = "SP / set_hostname" ];
2395 385 -> 386 [ label = "'!'..'~'" ];
2396 385 -> err_385 [ label = "DEF / err_hostname, err_parse" ];
2397 386 -> 10 [ label = "SP / set_hostname" ];
2398 386 -> 387 [ label = "'!'..'~'" ];
2399 386 -> err_386 [ label = "DEF / err_hostname, err_parse" ];
2400 387 -> 10 [ label = "SP / set_hostname" ];
2401 387 -> 388 [ label = "'!'..'~'" ];
2402 387 -> err_387 [ label = "DEF / err_hostname, err_parse" ];
2403 388 -> 10 [ label = "SP / set_hostname" ];
2404 388 -> 389 [ label = "'!'..'~'" ];
2405 388 -> err_388 [ label = "DEF / err_hostname, err_parse" ];
2406 389 -> 10 [ label = "SP / set_hostname" ];
2407 389 -> 390 [ label = "'!'..'~'" ];
2408 389 -> err_389 [ label = "DEF / err_hostname, err_parse" ];
2409 390 -> 10 [ label = "SP / set_hostname" ];
2410 390 -> 391 [ label = "'!'..'~'" ];
2411 390 -> err_390 [ label = "DEF / err_hostname, err_parse" ];
2412 391 -> 10 [ label = "SP / set_hostname" ];
2413 391 -> 392 [ label = "'!'..'~'" ];
2414 391 -> err_391 [ label = "DEF / err_hostname, err_parse" ];
2415 392 -> 10 [ label = "SP / set_hostname" ];
2416 392 -> 393 [ label = "'!'..'~'" ];
2417 392 -> err_392 [ label = "DEF / err_hostname, err_parse" ];
2418 393 -> 10 [ label = "SP / set_hostname" ];
2419 393 -> 394 [ label = "'!'..'~'" ];
2420 393 -> err_393 [ label = "DEF / err_hostname, err_parse" ];
2421 394 -> 10 [ label = "SP / set_hostname" ];
2422 394 -> 395 [ label = "'!'..'~'" ];
2423 394 -> err_394 [ label = "DEF / err_hostname, err_parse" ];
2424 395 -> 10 [ label = "SP / set_hostname" ];
2425 395 -> 396 [ label = "'!'..'~'" ];
2426 395 -> err_395 [ label = "DEF / err_hostname, err_parse" ];
2427 396 -> 10 [ label = "SP / set_hostname" ];
2428 396 -> 397 [ label = "'!'..'~'" ];
2429 396 -> err_396 [ label = "DEF / err_hostname, err_parse" ];
2430 397 -> 10 [ label = "SP / set_hostname" ];
2431 397 -> 398 [ label = "'!'..'~'" ];
2432 397 -> err_397 [ label = "DEF / err_hostname, err_parse" ];
2433 398 -> 10 [ label = "SP / set_hostname" ];
2434 398 -> 399 [ label = "'!'..'~'" ];
2435 398 -> err_398 [ label = "DEF / err_hostname, err_parse" ];
2436 399 -> 10 [ label = "SP / set_hostname" ];
2437 399 -> 400 [ label = "'!'..'~'" ];
2438 399 -> err_399 [ label = "DEF / err_hostname, err_parse" ];
2439 400 -> 10 [ label = "SP / set_hostname" ];
2440 400 -> 401 [ label = "'!'..'~'" ];
2441 400 -> err_400 [ label = "DEF / err_hostname, err_parse" ];
2442 401 -> 10 [ label = "SP / set_hostname" ];
2443 401 -> 402 [ label = "'!'..'~'" ];
2444 401 -> err_401 [ label = "DEF / err_hostname, err_parse" ];
2445 402 -> 10 [ label = "SP / set_hostname" ];
2446 402 -> 403 [ label = "'!'..'~'" ];
2447 402 -> err_402 [ label = "DEF / err_hostname, err_parse" ];
2448 403 -> 10 [ label = "SP / set_hostname" ];
2449 403 -> 404 [ label = "'!'..'~'" ];
2450 403 -> err_403 [ label = "DEF / err_hostname, err_parse" ];
2451 404 -> 10 [ label = "SP / set_hostname" ];
2452 404 -> 405 [ label = "'!'..'~'" ];
2453 404 -> err_404 [ label = "DEF / err_hostname, err_parse" ];
2454 405 -> 10 [ label = "SP / set_hostname" ];
2455 405 -> 406 [ label = "'!'..'~'" ];
2456 405 -> err_405 [ label = "DEF / err_hostname, err_parse" ];
2457 406 -> 10 [ label = "SP / set_hostname" ];
2458 406 -> 407 [ label = "'!'..'~'" ];
2459 406 -> err_406 [ label = "DEF / err_hostname, err_parse" ];
2460 407 -> 10 [ label = "SP / set_hostname" ];
2461 407 -> 408 [ label = "'!'..'~'" ];
2462 407 -> err_407 [ label = "DEF / err_hostname, err_parse" ];
2463 408 -> 10 [ label = "SP / set_hostname" ];
2464 408 -> 409 [ label = "'!'..'~'" ];
2465 408 -> err_408 [ label = "DEF / err_hostname, err_parse" ];
2466 409 -> 10 [ label = "SP / set_hostname" ];
2467 409 -> 410 [ label = "'!'..'~'" ];
2468 409 -> err_409 [ label = "DEF / err_hostname, err_parse" ];
2469 410 -> 10 [ label = "SP / set_hostname" ];
2470 410 -> 411 [ label = "'!'..'~'" ];
2471 410 -> err_410 [ label = "DEF / err_hostname, err_parse" ];
2472 411 -> 10 [ label = "SP / set_hostname" ];
2473 411 -> 412 [ label = "'!'..'~'" ];
2474 411 -> err_411 [ label = "DEF / err_hostname, err_parse" ];
2475 412 -> 10 [ label = "SP / set_hostname" ];
2476 412 -> 413 [ label = "'!'..'~'" ];
2477 412 -> err_412 [ label = "DEF / err_hostname, err_parse" ];
2478 413 -> 10 [ label = "SP / set_hostname" ];
2479 413 -> 414 [ label = "'!'..'~'" ];
2480 413 -> err_413 [ label = "DEF / err_hostname, err_parse" ];
2481 414 -> 10 [ label = "SP / set_hostname" ];
2482 414 -> 415 [ label = "'!'..'~'" ];
2483 414 -> err_414 [ label = "DEF / err_hostname, err_parse" ];
2484 415 -> 10 [ label = "SP / set_hostname" ];
2485 415 -> 416 [ label = "'!'..'~'" ];
2486 415 -> err_415 [ label = "DEF / err_hostname, err_parse" ];
2487 416 -> 10 [ label = "SP / set_hostname" ];
2488 416 -> 417 [ label = "'!'..'~'" ];
2489 416 -> err_416 [ label = "DEF / err_hostname, err_parse" ];
2490 417 -> 10 [ label = "SP / set_hostname" ];
2491 417 -> 418 [ label = "'!'..'~'" ];
2492 417 -> err_417 [ label = "DEF / err_hostname, err_parse" ];
2493 418 -> 10 [ label = "SP / set_hostname" ];
2494 418 -> 419 [ label = "'!'..'~'" ];
2495 418 -> err_418 [ label = "DEF / err_hostname, err_parse" ];
2496 419 -> 10 [ label = "SP / set_hostname" ];
2497 419 -> 420 [ label = "'!'..'~'" ];
2498 419 -> err_419 [ label = "DEF / err_hostname, err_parse" ];
2499 420 -> 10 [ label = "SP / set_hostname" ];
2500 420 -> 421 [ label = "'!'..'~'" ];
2501 420 -> err_420 [ label = "DEF / err_hostname, err_parse" ];
2502 421 -> 10 [ label = "SP / set_hostname" ];
2503 421 -> 422 [ label = "'!'..'~'" ];
2504 421 -> err_421 [ label = "DEF / err_hostname, err_parse" ];
2505 422 -> 10 [ label = "SP / set_hostname" ];
2506 422 -> 423 [ label = "'!'..'~'" ];
2507 422 -> err_422 [ label = "DEF / err_hostname, err_parse" ];
2508 423 -> 10 [ label = "SP / set_hostname" ];
2509 423 -> 424 [ label = "'!'..'~'" ];
2510 423 -> err_423 [ label = "DEF / err_hostname, err_parse" ];
2511 424 -> 10 [ label = "SP / set_hostname" ];
2512 424 -> 425 [ label = "'!'..'~'" ];
2513 424 -> err_424 [ label = "DEF / err_hostname, err_parse" ];
2514 425 -> 10 [ label = "SP / set_hostname" ];
2515 425 -> 426 [ label = "'!'..'~'" ];
2516 425 -> err_425 [ label = "DEF / err_hostname, err_parse" ];
2517 426 -> 10 [ label = "SP / set_hostname" ];
2518 426 -> 427 [ label = "'!'..'~'" ];
2519 426 -> err_426 [ label = "DEF / err_hostname, err_parse" ];
2520 427 -> 10 [ label = "SP / set_hostname" ];
2521 427 -> 428 [ label = "'!'..'~'" ];
2522 427 -> err_427 [ label = "DEF / err_hostname, err_parse" ];
2523 428 -> 10 [ label = "SP / set_hostname" ];
2524 428 -> 429 [ label = "'!'..'~'" ];
2525 428 -> err_428 [ label = "DEF / err_hostname, err_parse" ];
2526 429 -> 10 [ label = "SP / set_hostname" ];
2527 429 -> 430 [ label = "'!'..'~'" ];
2528 429 -> err_429 [ label = "DEF / err_hostname, err_parse" ];
2529 430 -> 10 [ label = "SP / set_hostname" ];
2530 430 -> 431 [ label = "'!'..'~'" ];
2531 430 -> err_430 [ label = "DEF / err_hostname, err_parse" ];
2532 431 -> 10 [ label = "SP / set_hostname" ];
2533 431 -> 432 [ label = "'!'..'~'" ];
2534 431 -> err_431 [ label = "DEF / err_hostname, err_parse" ];
2535 432 -> 10 [ label = "SP / set_hostname" ];
2536 432 -> 433 [ label = "'!'..'~'" ];
2537 432 -> err_432 [ label = "DEF / err_hostname, err_parse" ];
2538 433 -> 10 [ label = "SP / set_hostname" ];
2539 433 -> 434 [ label = "'!'..'~'" ];
2540 433 -> err_433 [ label = "DEF / err_hostname, err_parse" ];
2541 434 -> 10 [ label = "SP / set_hostname" ];
2542 434 -> 435 [ label = "'!'..'~'" ];
2543 434 -> err_434 [ label = "DEF / err_hostname, err_parse" ];
2544 435 -> 10 [ label = "SP / set_hostname" ];
2545 435 -> 436 [ label = "'!'..'~'" ];
2546 435 -> err_435 [ label = "DEF / err_hostname, err_parse" ];
2547 436 -> 10 [ label = "SP / set_hostname" ];
2548 436 -> 437 [ label = "'!'..'~'" ];
2549 436 -> err_436 [ label = "DEF / err_hostname, err_parse" ];
2550 437 -> 10 [ label = "SP / set_hostname" ];
2551 437 -> 438 [ label = "'!'..'~'" ];
2552 437 -> err_437 [ label = "DEF / err_hostname, err_parse" ];
2553 438 -> 10 [ label = "SP / set_hostname" ];
2554 438 -> 439 [ label = "'!'..'~'" ];
2555 438 -> err_438 [ label = "DEF / err_hostname, err_parse" ];
2556 439 -> 10 [ label = "SP / set_hostname" ];
2557 439 -> 440 [ label = "'!'..'~'" ];
2558 439 -> err_439 [ label = "DEF / err_hostname, err_parse" ];
2559 440 -> 10 [ label = "SP / set_hostname" ];
2560 440 -> 441 [ label = "'!'..'~'" ];
2561 440 -> err_440 [ label = "DEF / err_hostname, err_parse" ];
2562 441 -> 10 [ label = "SP / set_hostname" ];
2563 441 -> 442 [ label = "'!'..'~'" ];
2564 441 -> err_441 [ label = "DEF / err_hostname, err_parse" ];
2565 442 -> 10 [ label = "SP / set_hostname" ];
2566 442 -> 443 [ label = "'!'..'~'" ];
2567 442 -> err_442 [ label = "DEF / err_hostname, err_parse" ];
2568 443 -> 10 [ label = "SP / set_hostname" ];
2569 443 -> 444 [ label = "'!'..'~'" ];
2570 443 -> err_443 [ label = "DEF / err_hostname, err_parse" ];
2571 444 -> 10 [ label = "SP / set_hostname" ];
2572 444 -> 445 [ label = "'!'..'~'" ];
2573 444 -> err_444 [ label = "DEF / err_hostname, err_parse" ];
2574 445 -> 10 [ label = "SP / set_hostname" ];
2575 445 -> 446 [ label = "'!'..'~'" ];
2576 445 -> err_445 [ label = "DEF / err_hostname, err_parse" ];
2577 446 -> 10 [ label = "SP / set_hostname" ];
2578 446 -> 447 [ label = "'!'..'~'" ];
2579 446 -> err_446 [ label = "DEF / err_hostname, err_parse" ];
2580 447 -> 10 [ label = "SP / set_hostname" ];
2581 447 -> 448 [ label = "'!'..'~'" ];
2582 447 -> err_447 [ label = "DEF / err_hostname, err_parse" ];
2583 448 -> 10 [ label = "SP / set_hostname" ];
2584 448 -> 449 [ label = "'!'..'~'" ];
2585 448 -> err_448 [ label = "DEF / err_hostname, err_parse" ];
2586 449 -> 10 [ label = "SP / set_hostname" ];
2587 449 -> 450 [ label = "'!'..'~'" ];
2588 449 -> err_449 [ label = "DEF / err_hostname, err_parse" ];
2589 450 -> 10 [ label = "SP / set_hostname" ];
2590 450 -> 451 [ label = "'!'..'~'" ];
2591 450 -> err_450 [ label = "DEF / err_hostname, err_parse" ];
2592 451 -> 10 [ label = "SP / set_hostname" ];
2593 451 -> 452 [ label = "'!'..'~'" ];
2594 451 -> err_451 [ label = "DEF / err_hostname, err_parse" ];
2595 452 -> 10 [ label = "SP / set_hostname" ];
2596 452 -> 453 [ label = "'!'..'~'" ];
2597 452 -> err_452 [ label = "DEF / err_hostname, err_parse" ];
2598 453 -> 10 [ label = "SP / set_hostname" ];
2599 453 -> 454 [ label = "'!'..'~'" ];
2600 453 -> err_453 [ label = "DEF / err_hostname, err_parse" ];
2601 454 -> 10 [ label = "SP / set_hostname" ];
2602 454 -> 455 [ label = "'!'..'~'" ];
2603 454 -> err_454 [ label = "DEF / err_hostname, err_parse" ];
2604 455 -> 10 [ label = "SP / set_hostname" ];
2605 455 -> 456 [ label = "'!'..'~'" ];
2606 455 -> err_455 [ label = "DEF / err_hostname, err_parse" ];
2607 456 -> 10 [ label = "SP / set_hostname" ];
2608 456 -> 457 [ label = "'!'..'~'" ];
2609 456 -> err_456 [ label = "DEF / err_hostname, err_parse" ];
2610 457 -> 10 [ label = "SP / set_hostname" ];
2611 457 -> 458 [ label = "'!'..'~'" ];
2612 457 -> err_457 [ label = "DEF / err_hostname, err_parse" ];
2613 458 -> 10 [ label = "SP / set_hostname" ];
2614 458 -> 459 [ label = "'!'..'~'" ];
2615 458 -> err_458 [ label = "DEF / err_hostname, err_parse" ];
2616 459 -> 10 [ label = "SP / set_hostname" ];
2617 459 -> 460 [ label = "'!'..'~'" ];
2618 459 -> err_459 [ label = "DEF / err_hostname, err_parse" ];
2619 460 -> 10 [ label = "SP / set_hostname" ];
2620 460 -> 461 [ label = "'!'..'~'" ];
2621 460 -> err_460 [ label = "DEF / err_hostname, err_parse" ];
2622 461 -> 10 [ label = "SP / set_hostname" ];
2623 461 -> 462 [ label = "'!'..'~'" ];
2624 461 -> err_461 [ label = "DEF / err_hostname, err_parse" ];
2625 462 -> 10 [ label = "SP / set_hostname" ];
2626 462 -> 463 [ label = "'!'..'~'" ];
2627 462 -> err_462 [ label = "DEF / err_hostname, err_parse" ];
2628 463 -> 10 [ label = "SP / set_hostname" ];
2629 463 -> 464 [ label = "'!'..'~'" ];
2630 463 -> err_463 [ label = "DEF / err_hostname, err_parse" ];
2631 464 -> 10 [ label = "SP / set_hostname" ];
2632 464 -> 465 [ label = "'!'..'~'" ];
2633 464 -> err_464 [ label = "DEF / err_hostname, err_parse" ];
2634 465 -> 10 [ label = "SP / set_hostname" ];
2635 465 -> 466 [ label = "'!'..'~'" ];
2636 465 -> err_465 [ label = "DEF / err_hostname, err_parse" ];
2637 466 -> 10 [ label = "SP / set_hostname" ];
2638 466 -> 467 [ label = "'!'..'~'" ];
2639 466 -> err_466 [ label = "DEF / err_hostname, err_parse" ];
2640 467 -> 10 [ label = "SP / set_hostname" ];
2641 467 -> 468 [ label = "'!'..'~'" ];
2642 467 -> err_467 [ label = "DEF / err_hostname, err_parse" ];
2643 468 -> 10 [ label = "SP / set_hostname" ];
2644 468 -> 469 [ label = "'!'..'~'" ];
2645 468 -> err_468 [ label = "DEF / err_hostname, err_parse" ];
2646 469 -> 10 [ label = "SP / set_hostname" ];
2647 469 -> 470 [ label = "'!'..'~'" ];
2648 469 -> err_469 [ label = "DEF / err_hostname, err_parse" ];
2649 470 -> 10 [ label = "SP / set_hostname" ];
2650 470 -> 471 [ label = "'!'..'~'" ];
2651 470 -> err_470 [ label = "DEF / err_hostname, err_parse" ];
2652 471 -> 10 [ label = "SP / set_hostname" ];
2653 471 -> 472 [ label = "'!'..'~'" ];
2654 471 -> err_471 [ label = "DEF / err_hostname, err_parse" ];
2655 472 -> 10 [ label = "SP / set_hostname" ];
2656 472 -> 473 [ label = "'!'..'~'" ];
2657 472 -> err_472 [ label = "DEF / err_hostname, err_parse" ];
2658 473 -> 10 [ label = "SP / set_hostname" ];
2659 473 -> 474 [ label = "'!'..'~'" ];
2660 473 -> err_473 [ label = "DEF / err_hostname, err_parse" ];
2661 474 -> 10 [ label = "SP / set_hostname" ];
2662 474 -> 475 [ label = "'!'..'~'" ];
2663 474 -> err_474 [ label = "DEF / err_hostname, err_parse" ];
2664 475 -> 10 [ label = "SP / set_hostname" ];
2665 475 -> 476 [ label = "'!'..'~'" ];
2666 475 -> err_475 [ label = "DEF / err_hostname, err_parse" ];
2667 476 -> 10 [ label = "SP / set_hostname" ];
2668 476 -> 477 [ label = "'!'..'~'" ];
2669 476 -> err_476 [ label = "DEF / err_hostname, err_parse" ];
2670 477 -> 10 [ label = "SP / set_hostname" ];
2671 477 -> 478 [ label = "'!'..'~'" ];
2672 477 -> err_477 [ label = "DEF / err_hostname, err_parse" ];
2673 478 -> 10 [ label = "SP / set_hostname" ];
2674 478 -> 479 [ label = "'!'..'~'" ];
2675 478 -> err_478 [ label = "DEF / err_hostname, err_parse" ];
2676 479 -> 10 [ label = "SP / set_hostname" ];
2677 479 -> 480 [ label = "'!'..'~'" ];
2678 479 -> err_479 [ label = "DEF / err_hostname, err_parse" ];
2679 480 -> 10 [ label = "SP / set_hostname" ];
2680 480 -> 481 [ label = "'!'..'~'" ];
2681 480 -> err_480 [ label = "DEF / err_hostname, err_parse" ];
2682 481 -> 10 [ label = "SP / set_hostname" ];
2683 481 -> 482 [ label = "'!'..'~'" ];
2684 481 -> err_481 [ label = "DEF / err_hostname, err_parse" ];
2685 482 -> 10 [ label = "SP / set_hostname" ];
2686 482 -> 483 [ label = "'!'..'~'" ];
2687 482 -> err_482 [ label = "DEF / err_hostname, err_parse" ];
2688 483 -> 10 [ label = "SP / set_hostname" ];
2689 483 -> 484 [ label = "'!'..'~'" ];
2690 483 -> err_483 [ label = "DEF / err_hostname, err_parse" ];
2691 484 -> 10 [ label = "SP / set_hostname" ];
2692 484 -> 485 [ label = "'!'..'~'" ];
2693 484 -> err_484 [ label = "DEF / err_hostname, err_parse" ];
2694 485 -> 10 [ label = "SP / set_hostname" ];
2695 485 -> 486 [ label = "'!'..'~'" ];
2696 485 -> err_485 [ label = "DEF / err_hostname, err_parse" ];
2697 486 -> 10 [ label = "SP / set_hostname" ];
2698 486 -> 487 [ label = "'!'..'~'" ];
2699 486 -> err_486 [ label = "DEF / err_hostname, err_parse" ];
2700 487 -> 10 [ label = "SP / set_hostname" ];
2701 487 -> 488 [ label = "'!'..'~'" ];
2702 487 -> err_487 [ label = "DEF / err_hostname, err_parse" ];
2703 488 -> 10 [ label = "SP / set_hostname" ];
2704 488 -> 489 [ label = "'!'..'~'" ];
2705 488 -> err_488 [ label = "DEF / err_hostname, err_parse" ];
2706 489 -> 10 [ label = "SP / set_hostname" ];
2707 489 -> 490 [ label = "'!'..'~'" ];
2708 489 -> err_489 [ label = "DEF / err_hostname, err_parse" ];
2709 490 -> 10 [ label = "SP / set_hostname" ];
2710 490 -> 491 [ label = "'!'..'~'" ];
2711 490 -> err_490 [ label = "DEF / err_hostname, err_parse" ];
2712 491 -> 10 [ label = "SP / set_hostname" ];
2713 491 -> 492 [ label = "'!'..'~'" ];
2714 491 -> err_491 [ label = "DEF / err_hostname, err_parse" ];
2715 492 -> 10 [ label = "SP / set_hostname" ];
2716 492 -> 493 [ label = "'!'..'~'" ];
2717 492 -> err_492 [ label = "DEF / err_hostname, err_parse" ];
2718 493 -> 10 [ label = "SP / set_hostname" ];
2719 493 -> 494 [ label = "'!'..'~'" ];
2720 493 -> err_493 [ label = "DEF / err_hostname, err_parse" ];
2721 494 -> 10 [ label = "SP / set_hostname" ];
2722 494 -> 495 [ label = "'!'..'~'" ];
2723 494 -> err_494 [ label = "DEF / err_hostname, err_parse" ];
2724 495 -> 10 [ label = "SP / set_hostname" ];
2725 495 -> 496 [ label = "'!'..'~'" ];
2726 495 -> err_495 [ label = "DEF / err_hostname, err_parse" ];
2727 496 -> 10 [ label = "SP / set_hostname" ];
2728 496 -> 497 [ label = "'!'..'~'" ];
2729 496 -> err_496 [ label = "DEF / err_hostname, err_parse" ];
2730 497 -> 10 [ label = "SP / set_hostname" ];
2731 497 -> 498 [ label = "'!'..'~'" ];
2732 497 -> err_497 [ label = "DEF / err_hostname, err_parse" ];
2733 498 -> 10 [ label = "SP / set_hostname" ];
2734 498 -> 499 [ label = "'!'..'~'" ];
2735 498 -> err_498 [ label = "DEF / err_hostname, err_parse" ];
2736 499 -> 10 [ label = "SP / set_hostname" ];
2737 499 -> 500 [ label = "'!'..'~'" ];
2738 499 -> err_499 [ label = "DEF / err_hostname, err_parse" ];
2739 500 -> 10 [ label = "SP / set_hostname" ];
2740 500 -> 501 [ label = "'!'..'~'" ];
2741 500 -> err_500 [ label = "DEF / err_hostname, err_parse" ];
2742 501 -> 10 [ label = "SP / set_hostname" ];
2743 501 -> 502 [ label = "'!'..'~'" ];
2744 501 -> err_501 [ label = "DEF / err_hostname, err_parse" ];
2745 502 -> 10 [ label = "SP / set_hostname" ];
2746 502 -> 503 [ label = "'!'..'~'" ];
2747 502 -> err_502 [ label = "DEF / err_hostname, err_parse" ];
2748 503 -> 10 [ label = "SP / set_hostname" ];
2749 503 -> 504 [ label = "'!'..'~'" ];
2750 503 -> err_503 [ label = "DEF / err_hostname, err_parse" ];
2751 504 -> 10 [ label = "SP / set_hostname" ];
2752 504 -> 505 [ label = "'!'..'~'" ];
2753 504 -> err_504 [ label = "DEF / err_hostname, err_parse" ];
2754 505 -> 10 [ label = "SP / set_hostname" ];
2755 505 -> 506 [ label = "'!'..'~'" ];
2756 505 -> err_505 [ label = "DEF / err_hostname, err_parse" ];
2757 506 -> 10 [ label = "SP / set_hostname" ];
2758 506 -> 507 [ label = "'!'..'~'" ];
2759 506 -> err_506 [ label = "DEF / err_hostname, err_parse" ];
2760 507 -> 10 [ label = "SP / set_hostname" ];
2761 507 -> 508 [ label = "'!'..'~'" ];
2762 507 -> err_507 [ label = "DEF / err_hostname, err_parse" ];
2763 508 -> 10 [ label = "SP / set_hostname" ];
2764 508 -> 509 [ label = "'!'..'~'" ];
2765 508 -> err_508 [ label = "DEF / err_hostname, err_parse" ];
2766 509 -> 10 [ label = "SP / set_hostname" ];
2767 509 -> 510 [ label = "'!'..'~'" ];
2768 509 -> err_509 [ label = "DEF / err_hostname, err_parse" ];
2769 510 -> 10 [ label = "SP / set_hostname" ];
2770 510 -> 511 [ label = "'!'..'~'" ];
2771 510 -> err_510 [ label = "DEF / err_hostname, err_parse" ];
2772 511 -> 10 [ label = "SP / set_hostname" ];
2773 511 -> 512 [ label = "'!'..'~'" ];
2774 511 -> err_511 [ label = "DEF / err_hostname, err_parse" ];
2775 512 -> 10 [ label = "SP / set_hostname" ];
2776 512 -> 513 [ label = "'!'..'~'" ];
2777 512 -> err_512 [ label = "DEF / err_hostname, err_parse" ];
2778 513 -> 10 [ label = "SP / set_hostname" ];
2779 513 -> 514 [ label = "'!'..'~'" ];
2780 513 -> err_513 [ label = "DEF / err_hostname, err_parse" ];
2781 514 -> 10 [ label = "SP / set_hostname" ];
2782 514 -> 515 [ label = "'!'..'~'" ];
2783 514 -> err_514 [ label = "DEF / err_hostname, err_parse" ];
2784 515 -> 10 [ label = "SP / set_hostname" ];
2785 515 -> 516 [ label = "'!'..'~'" ];
2786 515 -> err_515 [ label = "DEF / err_hostname, err_parse" ];
2787 516 -> 10 [ label = "SP / set_hostname" ];
2788 516 -> 517 [ label = "'!'..'~'" ];
2789 516 -> err_516 [ label = "DEF / err_hostname, err_parse" ];
2790 517 -> 10 [ label = "SP / set_hostname" ];
2791 517 -> 518 [ label = "'!'..'~'" ];
2792 517 -> err_517 [ label = "DEF / err_hostname, err_parse" ];
2793 518 -> 10 [ label = "SP / set_hostname" ];
2794 518 -> 519 [ label = "'!'..'~'" ];
2795 518 -> err_518 [ label = "DEF / err_hostname, err_parse" ];
2796 519 -> 10 [ label = "SP / set_hostname" ];
2797 519 -> 520 [ label = "'!'..'~'" ];
2798 519 -> err_519 [ label = "DEF / err_hostname, err_parse" ];
2799 520 -> 10 [ label = "SP / set_hostname" ];
2800 520 -> 521 [ label = "'!'..'~'" ];
2801 520 -> err_520 [ label = "DEF / err_hostname, err_parse" ];
2802 521 -> 10 [ label = "SP / set_hostname" ];
2803 521 -> 522 [ label = "'!'..'~'" ];
2804 521 -> err_521 [ label = "DEF / err_hostname, err_parse" ];
2805 522 -> 10 [ label = "SP / set_hostname" ];
2806 522 -> 523 [ label = "'!'..'~'" ];
2807 522 -> err_522 [ label = "DEF / err_hostname, err_parse" ];
2808 523 -> 10 [ label = "SP / set_hostname" ];
2809 523 -> 524 [ label = "'!'..'~'" ];
2810 523 -> err_523 [ label = "DEF / err_hostname, err_parse" ];
2811 524 -> 10 [ label = "SP / set_hostname" ];
2812 524 -> 525 [ label = "'!'..'~'" ];
2813 524 -> err_524 [ label = "DEF / err_hostname, err_parse" ];
2814 525 -> 10 [ label = "SP / set_hostname" ];
2815 525 -> 526 [ label = "'!'..'~'" ];
2816 525 -> err_525 [ label = "DEF / err_hostname, err_parse" ];
2817 526 -> 10 [ label = "SP / set_hostname" ];
2818 526 -> 527 [ label = "'!'..'~'" ];
2819 526 -> err_526 [ label = "DEF / err_hostname, err_parse" ];
2820 527 -> 10 [ label = "SP / set_hostname" ];
2821 527 -> 528 [ label = "'!'..'~'" ];
2822 527 -> err_527 [ label = "DEF / err_hostname, err_parse" ];
2823 528 -> 10 [ label = "SP / set_hostname" ];
2824 528 -> 529 [ label = "'!'..'~'" ];
2825 528 -> err_528 [ label = "DEF / err_hostname, err_parse" ];
2826 529 -> 10 [ label = "SP / set_hostname" ];
2827 529 -> 530 [ label = "'!'..'~'" ];
2828 529 -> err_529 [ label = "DEF / err_hostname, err_parse" ];
2829 530 -> 10 [ label = "SP / set_hostname" ];
2830 530 -> 531 [ label = "'!'..'~'" ];
2831 530 -> err_530 [ label = "DEF / err_hostname, err_parse" ];
2832 531 -> 10 [ label = "SP / set_hostname" ];
2833 531 -> 532 [ label = "'!'..'~'" ];
2834 531 -> err_531 [ label = "DEF / err_hostname, err_parse" ];
2835 532 -> 10 [ label = "SP / set_hostname" ];
2836 532 -> 533 [ label = "'!'..'~'" ];
2837 532 -> err_532 [ label = "DEF / err_hostname, err_parse" ];
2838 533 -> 10 [ label = "SP / set_hostname" ];
2839 533 -> 534 [ label = "'!'..'~'" ];
2840 533 -> err_533 [ label = "DEF / err_hostname, err_parse" ];
2841 534 -> 10 [ label = "SP / set_hostname" ];
2842 534 -> 535 [ label = "'!'..'~'" ];
2843 534 -> err_534 [ label = "DEF / err_hostname, err_parse" ];
2844 535 -> 10 [ label = "SP / set_hostname" ];
2845 535 -> 536 [ label = "'!'..'~'" ];
2846 535 -> err_535 [ label = "DEF / err_hostname, err_parse" ];
2847 536 -> 10 [ label = "SP / set_hostname" ];
2848 536 -> 537 [ label = "'!'..'~'" ];
2849 536 -> err_536 [ label = "DEF / err_hostname, err_parse" ];
2850 537 -> 10 [ label = "SP / set_hostname" ];
2851 537 -> 538 [ label = "'!'..'~'" ];
2852 537 -> err_537 [ label = "DEF / err_hostname, err_parse" ];
2853 538 -> 10 [ label = "SP / set_hostname" ];
2854 538 -> 539 [ label = "'!'..'~'" ];
2855 538 -> err_538 [ label = "DEF / err_hostname, err_parse" ];
2856 539 -> 10 [ label = "SP / set_hostname" ];
2857 539 -> 540 [ label = "'!'..'~'" ];
2858 539 -> err_539 [ label = "DEF / err_hostname, err_parse" ];
2859 540 -> 10 [ label = "SP / set_hostname" ];
2860 540 -> 541 [ label = "'!'..'~'" ];
2861 540 -> err_540 [ label = "DEF / err_hostname, err_parse" ];
2862 541 -> 10 [ label = "SP / set_hostname" ];
2863 541 -> 542 [ label = "'!'..'~'" ];
2864 541 -> err_541 [ label = "DEF / err_hostname, err_parse" ];
2865 542 -> 10 [ label = "SP / set_hostname" ];
2866 542 -> 543 [ label = "'!'..'~'" ];
2867 542 -> err_542 [ label = "DEF / err_hostname, err_parse" ];
2868 543 -> 10 [ label = "SP / set_hostname" ];
2869 543 -> 544 [ label = "'!'..'~'" ];
2870 543 -> err_543 [ label = "DEF / err_hostname, err_parse" ];
2871 544 -> 10 [ label = "SP / set_hostname" ];
2872 544 -> 545 [ label = "'!'..'~'" ];
2873 544 -> err_544 [ label = "DEF / err_hostname, err_parse" ];
2874 545 -> 10 [ label = "SP / set_hostname" ];
2875 545 -> 546 [ label = "'!'..'~'" ];
2876 545 -> err_545 [ label = "DEF / err_hostname, err_parse" ];
2877 546 -> 10 [ label = "SP / set_hostname" ];
2878 546 -> 547 [ label = "'!'..'~'" ];
2879 546 -> err_546 [ label = "DEF / err_hostname, err_parse" ];
2880 547 -> 10 [ label = "SP / set_hostname" ];
2881 547 -> 548 [ label = "'!'..'~'" ];
2882 547 -> err_547 [ label = "DEF / err_hostname, err_parse" ];
2883 548 -> 10 [ label = "SP / set_hostname" ];
2884 548 -> 549 [ label = "'!'..'~'" ];
2885 548 -> err_548 [ label = "DEF / err_hostname, err_parse" ];
2886 549 -> 10 [ label = "SP / set_hostname" ];
2887 549 -> 550 [ label = "'!'..'~'" ];
2888 549 -> err_549 [ label = "DEF / err_hostname, err_parse" ];
2889 550 -> 10 [ label = "SP / set_hostname" ];
2890 550 -> 551 [ label = "'!'..'~'" ];
2891 550 -> err_550 [ label = "DEF / err_hostname, err_parse" ];
2892 551 -> 10 [ label = "SP / set_hostname" ];
2893 551 -> 552 [ label = "'!'..'~'" ];
2894 551 -> err_551 [ label = "DEF / err_hostname, err_parse" ];
2895 552 -> 10 [ label = "SP / set_hostname" ];
2896 552 -> 553 [ label = "'!'..'~'" ];
2897 552 -> err_552 [ label = "DEF / err_hostname, err_parse" ];
2898 553 -> 10 [ label = "SP / set_hostname" ];
2899 553 -> 554 [ label = "'!'..'~'" ];
2900 553 -> err_553 [ label = "DEF / err_hostname, err_parse" ];
2901 554 -> 10 [ label = "SP / set_hostname" ];
2902 554 -> 555 [ label = "'!'..'~'" ];
2903 554 -> err_554 [ label = "DEF / err_hostname, err_parse" ];
2904 555 -> 10 [ label = "SP / set_hostname" ];
2905 555 -> 556 [ label = "'!'..'~'" ];
2906 555 -> err_555 [ label = "DEF / err_hostname, err_parse" ];
2907 556 -> 10 [ label = "SP / set_hostname" ];
2908 556 -> 557 [ label = "'!'..'~'" ];
2909 556 -> err_556 [ label = "DEF / err_hostname, err_parse" ];
2910 557 -> 10 [ label = "SP / set_hostname" ];
2911 557 -> 558 [ label = "'!'..'~'" ];
2912 557 -> err_557 [ label = "DEF / err_hostname, err_parse" ];
2913 558 -> 10 [ label = "SP / set_hostname" ];
2914 558 -> 559 [ label = "'!'..'~'" ];
2915 558 -> err_558 [ label = "DEF / err_hostname, err_parse" ];
2916 559 -> 10 [ label = "SP / set_hostname" ];
2917 559 -> 560 [ label = "'!'..'~'" ];
2918 559 -> err_559 [ label = "DEF / err_hostname, err_parse" ];
2919 560 -> 10 [ label = "SP / set_hostname" ];
2920 560 -> err_560 [ label = "DEF / err_hostname, err_parse" ];
2921 561 -> 562 [ label = "'0'..'9'" ];
2922 561 -> err_561 [ label = "DEF / err_timestamp, err_parse" ];
2923 562 -> 563 [ label = "'0'..'9'" ];
2924 562 -> err_562 [ label = "DEF / err_timestamp, err_parse" ];
2925 563 -> 564 [ label = "'0'..'9'" ];
2926 563 -> err_563 [ label = "DEF / err_timestamp, err_parse" ];
2927 564 -> 565 [ label = "'-'" ];
2928 564 -> err_564 [ label = "DEF / err_timestamp, err_parse" ];
2929 565 -> 566 [ label = "'0'" ];
2930 565 -> 597 [ label = "'1'" ];
2931 565 -> err_565 [ label = "DEF / err_timestamp, err_parse" ];
2932 566 -> 567 [ label = "'1'..'9'" ];
2933 566 -> err_566 [ label = "DEF / err_timestamp, err_parse" ];
2934 567 -> 568 [ label = "'-'" ];
2935 567 -> err_567 [ label = "DEF / err_timestamp, err_parse" ];
2936 568 -> 569 [ label = "'0'" ];
2937 568 -> 595 [ label = "'1'..'2'" ];
2938 568 -> 596 [ label = "'3'" ];
2939 568 -> err_568 [ label = "DEF / err_timestamp, err_parse" ];
2940 569 -> 570 [ label = "'1'..'9'" ];
2941 569 -> err_569 [ label = "DEF / err_timestamp, err_parse" ];
2942 570 -> 571 [ label = "'T'" ];
2943 570 -> err_570 [ label = "DEF / err_timestamp, err_parse" ];
2944 571 -> 572 [ label = "'0'..'1'" ];
2945 571 -> 594 [ label = "'2'" ];
2946 571 -> err_571 [ label = "DEF / err_timestamp, err_parse" ];
2947 572 -> 573 [ label = "'0'..'9'" ];
2948 572 -> err_572 [ label = "DEF / err_timestamp, err_parse" ];
2949 573 -> 574 [ label = "':'" ];
2950 573 -> err_573 [ label = "DEF / err_timestamp, err_parse" ];
2951 574 -> 575 [ label = "'0'..'5'" ];
2952 574 -> err_574 [ label = "DEF / err_timestamp, err_parse" ];
2953 575 -> 576 [ label = "'0'..'9'" ];
2954 575 -> err_575 [ label = "DEF / err_timestamp, err_parse" ];
2955 576 -> 577 [ label = "':'" ];
2956 576 -> err_576 [ label = "DEF / err_timestamp, err_parse" ];
2957 577 -> 578 [ label = "'0'..'5'" ];
2958 577 -> err_577 [ label = "DEF / err_timestamp, err_parse" ];
2959 578 -> 579 [ label = "'0'..'9'" ];
2960 578 -> err_578 [ label = "DEF / err_timestamp, err_parse" ];
2961 579 -> 580 [ label = "'+', '-'" ];
2962 579 -> 587 [ label = "'.'" ];
2963 579 -> 585 [ label = "'Z'" ];
2964 579 -> err_579 [ label = "DEF / err_timestamp, err_parse" ];
2965 580 -> 581 [ label = "'0'..'1'" ];
2966 580 -> 586 [ label = "'2'" ];
2967 580 -> err_580 [ label = "DEF / err_timestamp, err_parse" ];
2968 581 -> 582 [ label = "'0'..'9'" ];
2969 581 -> err_581 [ label = "DEF / err_timestamp, err_parse" ];
2970 582 -> 583 [ label = "':'" ];
2971 582 -> err_582 [ label = "DEF / err_timestamp, err_parse" ];
2972 583 -> 584 [ label = "'0'..'5'" ];
2973 583 -> err_583 [ label = "DEF / err_timestamp, err_parse" ];
2974 584 -> 585 [ label = "'0'..'9'" ];
2975 584 -> err_584 [ label = "DEF / err_timestamp, err_parse" ];
2976 585 -> 8 [ label = "SP / set_timestamp" ];
2977 585 -> err_585 [ label = "DEF / set_timestamp, err_parse" ];
2978 586 -> 582 [ label = "'0'..'3'" ];
2979 586 -> err_586 [ label = "DEF / err_timestamp, err_parse" ];
2980 587 -> 588 [ label = "'0'..'9'" ];
2981 587 -> err_587 [ label = "DEF / err_timestamp, err_parse" ];
2982 588 -> 580 [ label = "'+', '-'" ];
2983 588 -> 589 [ label = "'0'..'9'" ];
2984 588 -> 585 [ label = "'Z'" ];
2985 588 -> err_588 [ label = "DEF / err_timestamp, err_parse" ];
2986 589 -> 580 [ label = "'+', '-'" ];
2987 589 -> 590 [ label = "'0'..'9'" ];
2988 589 -> 585 [ label = "'Z'" ];
2989 589 -> err_589 [ label = "DEF / err_timestamp, err_parse" ];
2990 590 -> 580 [ label = "'+', '-'" ];
2991 590 -> 591 [ label = "'0'..'9'" ];
2992 590 -> 585 [ label = "'Z'" ];
2993 590 -> err_590 [ label = "DEF / err_timestamp, err_parse" ];
2994 591 -> 580 [ label = "'+', '-'" ];
2995 591 -> 592 [ label = "'0'..'9'" ];
2996 591 -> 585 [ label = "'Z'" ];
2997 591 -> err_591 [ label = "DEF / err_timestamp, err_parse" ];
2998 592 -> 580 [ label = "'+', '-'" ];
2999 592 -> 593 [ label = "'0'..'9'" ];
3000 592 -> 585 [ label = "'Z'" ];
3001 592 -> err_592 [ label = "DEF / err_timestamp, err_parse" ];
3002 593 -> 580 [ label = "'+', '-'" ];
3003 593 -> 585 [ label = "'Z'" ];
3004 593 -> err_593 [ label = "DEF / err_timestamp, err_parse" ];
3005 594 -> 573 [ label = "'0'..'3'" ];
3006 594 -> err_594 [ label = "DEF / err_timestamp, err_parse" ];
3007 595 -> 570 [ label = "'0'..'9'" ];
3008 595 -> err_595 [ label = "DEF / err_timestamp, err_parse" ];
3009 596 -> 570 [ label = "'0'..'1'" ];
3010 596 -> err_596 [ label = "DEF / err_timestamp, err_parse" ];
3011 597 -> 567 [ label = "'0'..'2'" ];
3012 597 -> err_597 [ label = "DEF / err_timestamp, err_parse" ];
3013 598 -> 6 [ label = "SP / set_version" ];
3014 598 -> 599 [ label = "'0'..'9' / set_version" ];
3015 598 -> err_598 [ label = "DEF / set_version, err_version, err_parse" ];
3016 599 -> 6 [ label = "SP / set_version" ];
3017 599 -> err_599 [ label = "DEF / set_version, err_version, err_parse" ];
3018 600 -> 601 [ label = "'0'..'8' / set_prival" ];
3019 600 -> 602 [ label = "'9' / set_prival" ];
3020 600 -> 4 [ label = "'>' / set_prival" ];
3021 600 -> err_600 [ label = "DEF / set_prival, err_prival, err_pri, err_parse" ];
3022 601 -> 3 [ label = "'0'..'9' / set_prival" ];
3023 601 -> 4 [ label = "'>' / set_prival" ];
3024 601 -> err_601 [ label = "DEF / set_prival, err_prival, err_pri, err_parse" ];
3025 602 -> 3 [ label = "'0'..'1' / set_prival" ];
3026 602 -> 4 [ label = "'>' / set_prival" ];
3027 602 -> err_602 [ label = "DEF / set_prival, err_prival, err_pri, err_parse" ];
3028 603 -> 604 [ label = "SP" ];
3029 603 -> err_603 [ label = "DEF / err_parse" ];
3030 604 -> err_604 [ label = "128..193, 245..255 / err_msg, err_parse" ];
3031 604 -> 17 [ label = "194..223 / mark, markmsg" ];
3032 604 -> 18 [ label = "224 / mark, markmsg" ];
3033 604 -> 19 [ label = "225..236, 238..239 / mark, markmsg" ];
3034 604 -> 20 [ label = "237 / mark, markmsg" ];
3035 604 -> 21 [ label = "240 / mark, markmsg" ];
3036 604 -> 22 [ label = "241..243 / mark, markmsg" ];
3037 604 -> 23 [ label = "244 / mark, markmsg" ];
3038 604 -> 605 [ label = "DEF / mark, markmsg" ];
3039 605 -> err_605 [ label = "128..193, 245..255 / err_msg, err_parse" ];
3040 605 -> 17 [ label = "194..223" ];
3041 605 -> 18 [ label = "224" ];
3042 605 -> 19 [ label = "225..236, 238..239" ];
3043 605 -> 20 [ label = "237" ];
3044 605 -> 21 [ label = "240" ];
3045 605 -> 22 [ label = "241..243" ];
3046 605 -> 23 [ label = "244" ];
3047 605 -> 605 [ label = "DEF" ];
3048 606 -> 604 [ label = "SP" ];
3049 606 -> 24 [ label = "'['" ];
3050 606 -> err_606 [ label = "DEF / err_structureddata, err_parse" ];
3051 607 -> 607 [ label = "0..'\\t', '\\v'..'\\f', 14..255" ];
3052 ENTRY -> 1 [ label = "IN" ];
3053 en_607 -> 607 [ label = "fail" ];
3054 en_1 -> 1 [ label = "main" ];
3055 1 -> eof_1 [ label = "EOF / err_pri" ];
3056 2 -> eof_2 [ label = "EOF / err_prival, err_pri, err_parse" ];
3057 3 -> eof_3 [ label = "EOF / err_prival, err_pri, err_parse" ];
3058 4 -> eof_4 [ label = "EOF / err_version, err_parse" ];
3059 5 -> eof_5 [ label = "EOF / set_version, err_parse" ];
3060 6 -> eof_6 [ label = "EOF / err_timestamp, err_parse" ];
3061 7 -> eof_7 [ label = "EOF / err_parse" ];
3062 8 -> eof_8 [ label = "EOF / err_hostname, err_parse" ];
3063 9 -> eof_9 [ label = "EOF / err_hostname, err_parse" ];
3064 10 -> eof_10 [ label = "EOF / err_appname, err_parse" ];
3065 11 -> eof_11 [ label = "EOF / err_appname, err_parse" ];
3066 12 -> eof_12 [ label = "EOF / err_procid, err_parse" ];
3067 13 -> eof_13 [ label = "EOF / err_procid, err_parse" ];
3068 14 -> eof_14 [ label = "EOF / err_msgid, err_parse" ];
3069 15 -> eof_15 [ label = "EOF / err_msgid" ];
3070 16 -> eof_16 [ label = "EOF / err_structureddata" ];
3071 17 -> eof_17 [ label = "EOF / err_msg, err_parse" ];
3072 18 -> eof_18 [ label = "EOF / err_msg, err_parse" ];
3073 19 -> eof_19 [ label = "EOF / err_msg, err_parse" ];
3074 20 -> eof_20 [ label = "EOF / err_msg, err_parse" ];
3075 21 -> eof_21 [ label = "EOF / err_msg, err_parse" ];
3076 22 -> eof_22 [ label = "EOF / err_msg, err_parse" ];
3077 23 -> eof_23 [ label = "EOF / err_msg, err_parse" ];
3078 24 -> eof_24 [ label = "EOF / err_sdid, err_structureddata" ];
3079 25 -> eof_25 [ label = "EOF / set_id, err_sdid, err_structureddata" ];
3080 26 -> eof_26 [ label = "EOF / err_sdparam, err_structureddata" ];
3081 27 -> eof_27 [ label = "EOF / err_sdparam, err_structureddata" ];
3082 28 -> eof_28 [ label = "EOF / err_sdparam, err_structureddata" ];
3083 29 -> eof_29 [ label = "EOF / err_sdparam, err_structureddata" ];
3084 30 -> eof_30 [ label = "EOF / err_sdparam, err_structureddata" ];
3085 31 -> eof_31 [ label = "EOF / err_sdparam, err_structureddata" ];
3086 32 -> eof_32 [ label = "EOF / err_sdparam, err_structureddata" ];
3087 33 -> eof_33 [ label = "EOF / err_sdparam, err_structureddata" ];
3088 34 -> eof_34 [ label = "EOF / err_sdparam, err_structureddata" ];
3089 35 -> eof_35 [ label = "EOF / err_sdparam, err_structureddata" ];
3090 36 -> eof_36 [ label = "EOF / err_sdparam, err_structureddata" ];
3091 37 -> eof_37 [ label = "EOF / err_sdparam, err_structureddata" ];
3092 38 -> eof_38 [ label = "EOF / err_sdparam, err_structureddata" ];
3093 39 -> eof_39 [ label = "EOF / err_sdparam, err_structureddata" ];
3094 40 -> eof_40 [ label = "EOF / err_sdparam, err_structureddata" ];
3095 41 -> eof_41 [ label = "EOF / err_sdparam, err_structureddata" ];
3096 42 -> eof_42 [ label = "EOF / err_sdparam, err_structureddata" ];
3097 43 -> eof_43 [ label = "EOF / err_sdparam, err_structureddata" ];
3098 44 -> eof_44 [ label = "EOF / err_sdparam, err_structureddata" ];
3099 45 -> eof_45 [ label = "EOF / err_sdparam, err_structureddata" ];
3100 46 -> eof_46 [ label = "EOF / err_sdparam, err_structureddata" ];
3101 47 -> eof_47 [ label = "EOF / err_sdparam, err_structureddata" ];
3102 48 -> eof_48 [ label = "EOF / err_sdparam, err_structureddata" ];
3103 49 -> eof_49 [ label = "EOF / err_sdparam, err_structureddata" ];
3104 50 -> eof_50 [ label = "EOF / err_sdparam, err_structureddata" ];
3105 51 -> eof_51 [ label = "EOF / err_sdparam, err_structureddata" ];
3106 52 -> eof_52 [ label = "EOF / err_sdparam, err_structureddata" ];
3107 53 -> eof_53 [ label = "EOF / err_sdparam, err_structureddata" ];
3108 54 -> eof_54 [ label = "EOF / err_sdparam, err_structureddata" ];
3109 55 -> eof_55 [ label = "EOF / err_sdparam, err_structureddata" ];
3110 56 -> eof_56 [ label = "EOF / err_sdparam, err_structureddata" ];
3111 57 -> eof_57 [ label = "EOF / err_sdparam, err_structureddata" ];
3112 58 -> eof_58 [ label = "EOF / err_sdparam, err_structureddata" ];
3113 59 -> eof_59 [ label = "EOF / err_sdparam, err_structureddata" ];
3114 60 -> eof_60 [ label = "EOF / err_escape, err_sdparam, err_structureddata" ];
3115 61 -> eof_61 [ label = "EOF / err_escape, err_sdparam, err_structureddata" ];
3116 62 -> eof_62 [ label = "EOF / err_sdparam, err_structureddata" ];
3117 63 -> eof_63 [ label = "EOF / err_escape, err_sdparam, err_structureddata" ];
3118 64 -> eof_64 [ label = "EOF / err_sdparam, err_structureddata" ];
3119 65 -> eof_65 [ label = "EOF / err_sdparam, err_structureddata" ];
3120 66 -> eof_66 [ label = "EOF / err_sdparam, err_structureddata" ];
3121 67 -> eof_67 [ label = "EOF / err_sdparam, err_structureddata" ];
3122 68 -> eof_68 [ label = "EOF / err_sdparam, err_structureddata" ];
3123 69 -> eof_69 [ label = "EOF / err_sdparam, err_structureddata" ];
3124 70 -> eof_70 [ label = "EOF / err_sdparam, err_structureddata" ];
3125 71 -> eof_71 [ label = "EOF / set_id, err_sdid, err_structureddata" ];
3126 72 -> eof_72 [ label = "EOF / set_id, err_sdid, err_structureddata" ];
3127 73 -> eof_73 [ label = "EOF / set_id, err_sdid, err_structureddata" ];
3128 74 -> eof_74 [ label = "EOF / set_id, err_sdid, err_structureddata" ];
3129 75 -> eof_75 [ label = "EOF / set_id, err_sdid, err_structureddata" ];
3130 76 -> eof_76 [ label = "EOF / set_id, err_sdid, err_structureddata" ];
3131 77 -> eof_77 [ label = "EOF / set_id, err_sdid, err_structureddata" ];
3132 78 -> eof_78 [ label = "EOF / set_id, err_sdid, err_structureddata" ];
3133 79 -> eof_79 [ label = "EOF / set_id, err_sdid, err_structureddata" ];
3134 80 -> eof_80 [ label = "EOF / set_id, err_sdid, err_structureddata" ];
3135 81 -> eof_81 [ label = "EOF / set_id, err_sdid, err_structureddata" ];
3136 82 -> eof_82 [ label = "EOF / set_id, err_sdid, err_structureddata" ];
3137 83 -> eof_83 [ label = "EOF / set_id, err_sdid, err_structureddata" ];
3138 84 -> eof_84 [ label = "EOF / set_id, err_sdid, err_structureddata" ];
3139 85 -> eof_85 [ label = "EOF / set_id, err_sdid, err_structureddata" ];
3140 86 -> eof_86 [ label = "EOF / set_id, err_sdid, err_structureddata" ];
3141 87 -> eof_87 [ label = "EOF / set_id, err_sdid, err_structureddata" ];
3142 88 -> eof_88 [ label = "EOF / set_id, err_sdid, err_structureddata" ];
3143 89 -> eof_89 [ label = "EOF / set_id, err_sdid, err_structureddata" ];
3144 90 -> eof_90 [ label = "EOF / set_id, err_sdid, err_structureddata" ];
3145 91 -> eof_91 [ label = "EOF / set_id, err_sdid, err_structureddata" ];
3146 92 -> eof_92 [ label = "EOF / set_id, err_sdid, err_structureddata" ];
3147 93 -> eof_93 [ label = "EOF / set_id, err_sdid, err_structureddata" ];
3148 94 -> eof_94 [ label = "EOF / set_id, err_sdid, err_structureddata" ];
3149 95 -> eof_95 [ label = "EOF / set_id, err_sdid, err_structureddata" ];
3150 96 -> eof_96 [ label = "EOF / set_id, err_sdid, err_structureddata" ];
3151 97 -> eof_97 [ label = "EOF / set_id, err_sdid, err_structureddata" ];
3152 98 -> eof_98 [ label = "EOF / set_id, err_sdid, err_structureddata" ];
3153 99 -> eof_99 [ label = "EOF / set_id, err_sdid, err_structureddata" ];
3154 100 -> eof_100 [ label = "EOF / set_id, err_sdid, err_structureddata" ];
3155 101 -> eof_101 [ label = "EOF / set_id, err_sdid, err_structureddata" ];
3156 102 -> eof_102 [ label = "EOF / err_msgid" ];
3157 103 -> eof_103 [ label = "EOF / err_msgid" ];
3158 104 -> eof_104 [ label = "EOF / err_msgid" ];
3159 105 -> eof_105 [ label = "EOF / err_msgid" ];
3160 106 -> eof_106 [ label = "EOF / err_msgid" ];
3161 107 -> eof_107 [ label = "EOF / err_msgid" ];
3162 108 -> eof_108 [ label = "EOF / err_msgid" ];
3163 109 -> eof_109 [ label = "EOF / err_msgid" ];
3164 110 -> eof_110 [ label = "EOF / err_msgid" ];
3165 111 -> eof_111 [ label = "EOF / err_msgid" ];
3166 112 -> eof_112 [ label = "EOF / err_msgid" ];
3167 113 -> eof_113 [ label = "EOF / err_msgid" ];
3168 114 -> eof_114 [ label = "EOF / err_msgid" ];
3169 115 -> eof_115 [ label = "EOF / err_msgid" ];
3170 116 -> eof_116 [ label = "EOF / err_msgid" ];
3171 117 -> eof_117 [ label = "EOF / err_msgid" ];
3172 118 -> eof_118 [ label = "EOF / err_msgid" ];
3173 119 -> eof_119 [ label = "EOF / err_msgid" ];
3174 120 -> eof_120 [ label = "EOF / err_msgid" ];
3175 121 -> eof_121 [ label = "EOF / err_msgid" ];
3176 122 -> eof_122 [ label = "EOF / err_msgid" ];
3177 123 -> eof_123 [ label = "EOF / err_msgid" ];
3178 124 -> eof_124 [ label = "EOF / err_msgid" ];
3179 125 -> eof_125 [ label = "EOF / err_msgid" ];
3180 126 -> eof_126 [ label = "EOF / err_msgid" ];
3181 127 -> eof_127 [ label = "EOF / err_msgid" ];
3182 128 -> eof_128 [ label = "EOF / err_msgid" ];
3183 129 -> eof_129 [ label = "EOF / err_msgid" ];
3184 130 -> eof_130 [ label = "EOF / err_msgid" ];
3185 131 -> eof_131 [ label = "EOF / err_msgid" ];
3186 132 -> eof_132 [ label = "EOF / err_msgid" ];
3187 133 -> eof_133 [ label = "EOF / err_procid, err_parse" ];
3188 134 -> eof_134 [ label = "EOF / err_procid, err_parse" ];
3189 135 -> eof_135 [ label = "EOF / err_procid, err_parse" ];
3190 136 -> eof_136 [ label = "EOF / err_procid, err_parse" ];
3191 137 -> eof_137 [ label = "EOF / err_procid, err_parse" ];
3192 138 -> eof_138 [ label = "EOF / err_procid, err_parse" ];
3193 139 -> eof_139 [ label = "EOF / err_procid, err_parse" ];
3194 140 -> eof_140 [ label = "EOF / err_procid, err_parse" ];
3195 141 -> eof_141 [ label = "EOF / err_procid, err_parse" ];
3196 142 -> eof_142 [ label = "EOF / err_procid, err_parse" ];
3197 143 -> eof_143 [ label = "EOF / err_procid, err_parse" ];
3198 144 -> eof_144 [ label = "EOF / err_procid, err_parse" ];
3199 145 -> eof_145 [ label = "EOF / err_procid, err_parse" ];
3200 146 -> eof_146 [ label = "EOF / err_procid, err_parse" ];
3201 147 -> eof_147 [ label = "EOF / err_procid, err_parse" ];
3202 148 -> eof_148 [ label = "EOF / err_procid, err_parse" ];
3203 149 -> eof_149 [ label = "EOF / err_procid, err_parse" ];
3204 150 -> eof_150 [ label = "EOF / err_procid, err_parse" ];
3205 151 -> eof_151 [ label = "EOF / err_procid, err_parse" ];
3206 152 -> eof_152 [ label = "EOF / err_procid, err_parse" ];
3207 153 -> eof_153 [ label = "EOF / err_procid, err_parse" ];
3208 154 -> eof_154 [ label = "EOF / err_procid, err_parse" ];
3209 155 -> eof_155 [ label = "EOF / err_procid, err_parse" ];
3210 156 -> eof_156 [ label = "EOF / err_procid, err_parse" ];
3211 157 -> eof_157 [ label = "EOF / err_procid, err_parse" ];
3212 158 -> eof_158 [ label = "EOF / err_procid, err_parse" ];
3213 159 -> eof_159 [ label = "EOF / err_procid, err_parse" ];
3214 160 -> eof_160 [ label = "EOF / err_procid, err_parse" ];
3215 161 -> eof_161 [ label = "EOF / err_procid, err_parse" ];
3216 162 -> eof_162 [ label = "EOF / err_procid, err_parse" ];
3217 163 -> eof_163 [ label = "EOF / err_procid, err_parse" ];
3218 164 -> eof_164 [ label = "EOF / err_procid, err_parse" ];
3219 165 -> eof_165 [ label = "EOF / err_procid, err_parse" ];
3220 166 -> eof_166 [ label = "EOF / err_procid, err_parse" ];
3221 167 -> eof_167 [ label = "EOF / err_procid, err_parse" ];
3222 168 -> eof_168 [ label = "EOF / err_procid, err_parse" ];
3223 169 -> eof_169 [ label = "EOF / err_procid, err_parse" ];
3224 170 -> eof_170 [ label = "EOF / err_procid, err_parse" ];
3225 171 -> eof_171 [ label = "EOF / err_procid, err_parse" ];
3226 172 -> eof_172 [ label = "EOF / err_procid, err_parse" ];
3227 173 -> eof_173 [ label = "EOF / err_procid, err_parse" ];
3228 174 -> eof_174 [ label = "EOF / err_procid, err_parse" ];
3229 175 -> eof_175 [ label = "EOF / err_procid, err_parse" ];
3230 176 -> eof_176 [ label = "EOF / err_procid, err_parse" ];
3231 177 -> eof_177 [ label = "EOF / err_procid, err_parse" ];
3232 178 -> eof_178 [ label = "EOF / err_procid, err_parse" ];
3233 179 -> eof_179 [ label = "EOF / err_procid, err_parse" ];
3234 180 -> eof_180 [ label = "EOF / err_procid, err_parse" ];
3235 181 -> eof_181 [ label = "EOF / err_procid, err_parse" ];
3236 182 -> eof_182 [ label = "EOF / err_procid, err_parse" ];
3237 183 -> eof_183 [ label = "EOF / err_procid, err_parse" ];
3238 184 -> eof_184 [ label = "EOF / err_procid, err_parse" ];
3239 185 -> eof_185 [ label = "EOF / err_procid, err_parse" ];
3240 186 -> eof_186 [ label = "EOF / err_procid, err_parse" ];
3241 187 -> eof_187 [ label = "EOF / err_procid, err_parse" ];
3242 188 -> eof_188 [ label = "EOF / err_procid, err_parse" ];
3243 189 -> eof_189 [ label = "EOF / err_procid, err_parse" ];
3244 190 -> eof_190 [ label = "EOF / err_procid, err_parse" ];
3245 191 -> eof_191 [ label = "EOF / err_procid, err_parse" ];
3246 192 -> eof_192 [ label = "EOF / err_procid, err_parse" ];
3247 193 -> eof_193 [ label = "EOF / err_procid, err_parse" ];
3248 194 -> eof_194 [ label = "EOF / err_procid, err_parse" ];
3249 195 -> eof_195 [ label = "EOF / err_procid, err_parse" ];
3250 196 -> eof_196 [ label = "EOF / err_procid, err_parse" ];
3251 197 -> eof_197 [ label = "EOF / err_procid, err_parse" ];
3252 198 -> eof_198 [ label = "EOF / err_procid, err_parse" ];
3253 199 -> eof_199 [ label = "EOF / err_procid, err_parse" ];
3254 200 -> eof_200 [ label = "EOF / err_procid, err_parse" ];
3255 201 -> eof_201 [ label = "EOF / err_procid, err_parse" ];
3256 202 -> eof_202 [ label = "EOF / err_procid, err_parse" ];
3257 203 -> eof_203 [ label = "EOF / err_procid, err_parse" ];
3258 204 -> eof_204 [ label = "EOF / err_procid, err_parse" ];
3259 205 -> eof_205 [ label = "EOF / err_procid, err_parse" ];
3260 206 -> eof_206 [ label = "EOF / err_procid, err_parse" ];
3261 207 -> eof_207 [ label = "EOF / err_procid, err_parse" ];
3262 208 -> eof_208 [ label = "EOF / err_procid, err_parse" ];
3263 209 -> eof_209 [ label = "EOF / err_procid, err_parse" ];
3264 210 -> eof_210 [ label = "EOF / err_procid, err_parse" ];
3265 211 -> eof_211 [ label = "EOF / err_procid, err_parse" ];
3266 212 -> eof_212 [ label = "EOF / err_procid, err_parse" ];
3267 213 -> eof_213 [ label = "EOF / err_procid, err_parse" ];
3268 214 -> eof_214 [ label = "EOF / err_procid, err_parse" ];
3269 215 -> eof_215 [ label = "EOF / err_procid, err_parse" ];
3270 216 -> eof_216 [ label = "EOF / err_procid, err_parse" ];
3271 217 -> eof_217 [ label = "EOF / err_procid, err_parse" ];
3272 218 -> eof_218 [ label = "EOF / err_procid, err_parse" ];
3273 219 -> eof_219 [ label = "EOF / err_procid, err_parse" ];
3274 220 -> eof_220 [ label = "EOF / err_procid, err_parse" ];
3275 221 -> eof_221 [ label = "EOF / err_procid, err_parse" ];
3276 222 -> eof_222 [ label = "EOF / err_procid, err_parse" ];
3277 223 -> eof_223 [ label = "EOF / err_procid, err_parse" ];
3278 224 -> eof_224 [ label = "EOF / err_procid, err_parse" ];
3279 225 -> eof_225 [ label = "EOF / err_procid, err_parse" ];
3280 226 -> eof_226 [ label = "EOF / err_procid, err_parse" ];
3281 227 -> eof_227 [ label = "EOF / err_procid, err_parse" ];
3282 228 -> eof_228 [ label = "EOF / err_procid, err_parse" ];
3283 229 -> eof_229 [ label = "EOF / err_procid, err_parse" ];
3284 230 -> eof_230 [ label = "EOF / err_procid, err_parse" ];
3285 231 -> eof_231 [ label = "EOF / err_procid, err_parse" ];
3286 232 -> eof_232 [ label = "EOF / err_procid, err_parse" ];
3287 233 -> eof_233 [ label = "EOF / err_procid, err_parse" ];
3288 234 -> eof_234 [ label = "EOF / err_procid, err_parse" ];
3289 235 -> eof_235 [ label = "EOF / err_procid, err_parse" ];
3290 236 -> eof_236 [ label = "EOF / err_procid, err_parse" ];
3291 237 -> eof_237 [ label = "EOF / err_procid, err_parse" ];
3292 238 -> eof_238 [ label = "EOF / err_procid, err_parse" ];
3293 239 -> eof_239 [ label = "EOF / err_procid, err_parse" ];
3294 240 -> eof_240 [ label = "EOF / err_procid, err_parse" ];
3295 241 -> eof_241 [ label = "EOF / err_procid, err_parse" ];
3296 242 -> eof_242 [ label = "EOF / err_procid, err_parse" ];
3297 243 -> eof_243 [ label = "EOF / err_procid, err_parse" ];
3298 244 -> eof_244 [ label = "EOF / err_procid, err_parse" ];
3299 245 -> eof_245 [ label = "EOF / err_procid, err_parse" ];
3300 246 -> eof_246 [ label = "EOF / err_procid, err_parse" ];
3301 247 -> eof_247 [ label = "EOF / err_procid, err_parse" ];
3302 248 -> eof_248 [ label = "EOF / err_procid, err_parse" ];
3303 249 -> eof_249 [ label = "EOF / err_procid, err_parse" ];
3304 250 -> eof_250 [ label = "EOF / err_procid, err_parse" ];
3305 251 -> eof_251 [ label = "EOF / err_procid, err_parse" ];
3306 252 -> eof_252 [ label = "EOF / err_procid, err_parse" ];
3307 253 -> eof_253 [ label = "EOF / err_procid, err_parse" ];
3308 254 -> eof_254 [ label = "EOF / err_procid, err_parse" ];
3309 255 -> eof_255 [ label = "EOF / err_procid, err_parse" ];
3310 256 -> eof_256 [ label = "EOF / err_procid, err_parse" ];
3311 257 -> eof_257 [ label = "EOF / err_procid, err_parse" ];
3312 258 -> eof_258 [ label = "EOF / err_procid, err_parse" ];
3313 259 -> eof_259 [ label = "EOF / err_procid, err_parse" ];
3314 260 -> eof_260 [ label = "EOF / err_appname, err_parse" ];
3315 261 -> eof_261 [ label = "EOF / err_appname, err_parse" ];
3316 262 -> eof_262 [ label = "EOF / err_appname, err_parse" ];
3317 263 -> eof_263 [ label = "EOF / err_appname, err_parse" ];
3318 264 -> eof_264 [ label = "EOF / err_appname, err_parse" ];
3319 265 -> eof_265 [ label = "EOF / err_appname, err_parse" ];
3320 266 -> eof_266 [ label = "EOF / err_appname, err_parse" ];
3321 267 -> eof_267 [ label = "EOF / err_appname, err_parse" ];
3322 268 -> eof_268 [ label = "EOF / err_appname, err_parse" ];
3323 269 -> eof_269 [ label = "EOF / err_appname, err_parse" ];
3324 270 -> eof_270 [ label = "EOF / err_appname, err_parse" ];
3325 271 -> eof_271 [ label = "EOF / err_appname, err_parse" ];
3326 272 -> eof_272 [ label = "EOF / err_appname, err_parse" ];
3327 273 -> eof_273 [ label = "EOF / err_appname, err_parse" ];
3328 274 -> eof_274 [ label = "EOF / err_appname, err_parse" ];
3329 275 -> eof_275 [ label = "EOF / err_appname, err_parse" ];
3330 276 -> eof_276 [ label = "EOF / err_appname, err_parse" ];
3331 277 -> eof_277 [ label = "EOF / err_appname, err_parse" ];
3332 278 -> eof_278 [ label = "EOF / err_appname, err_parse" ];
3333 279 -> eof_279 [ label = "EOF / err_appname, err_parse" ];
3334 280 -> eof_280 [ label = "EOF / err_appname, err_parse" ];
3335 281 -> eof_281 [ label = "EOF / err_appname, err_parse" ];
3336 282 -> eof_282 [ label = "EOF / err_appname, err_parse" ];
3337 283 -> eof_283 [ label = "EOF / err_appname, err_parse" ];
3338 284 -> eof_284 [ label = "EOF / err_appname, err_parse" ];
3339 285 -> eof_285 [ label = "EOF / err_appname, err_parse" ];
3340 286 -> eof_286 [ label = "EOF / err_appname, err_parse" ];
3341 287 -> eof_287 [ label = "EOF / err_appname, err_parse" ];
3342 288 -> eof_288 [ label = "EOF / err_appname, err_parse" ];
3343 289 -> eof_289 [ label = "EOF / err_appname, err_parse" ];
3344 290 -> eof_290 [ label = "EOF / err_appname, err_parse" ];
3345 291 -> eof_291 [ label = "EOF / err_appname, err_parse" ];
3346 292 -> eof_292 [ label = "EOF / err_appname, err_parse" ];
3347 293 -> eof_293 [ label = "EOF / err_appname, err_parse" ];
3348 294 -> eof_294 [ label = "EOF / err_appname, err_parse" ];
3349 295 -> eof_295 [ label = "EOF / err_appname, err_parse" ];
3350 296 -> eof_296 [ label = "EOF / err_appname, err_parse" ];
3351 297 -> eof_297 [ label = "EOF / err_appname, err_parse" ];
3352 298 -> eof_298 [ label = "EOF / err_appname, err_parse" ];
3353 299 -> eof_299 [ label = "EOF / err_appname, err_parse" ];
3354 300 -> eof_300 [ label = "EOF / err_appname, err_parse" ];
3355 301 -> eof_301 [ label = "EOF / err_appname, err_parse" ];
3356 302 -> eof_302 [ label = "EOF / err_appname, err_parse" ];
3357 303 -> eof_303 [ label = "EOF / err_appname, err_parse" ];
3358 304 -> eof_304 [ label = "EOF / err_appname, err_parse" ];
3359 305 -> eof_305 [ label = "EOF / err_appname, err_parse" ];
3360 306 -> eof_306 [ label = "EOF / err_appname, err_parse" ];
3361 307 -> eof_307 [ label = "EOF / err_hostname, err_parse" ];
3362 308 -> eof_308 [ label = "EOF / err_hostname, err_parse" ];
3363 309 -> eof_309 [ label = "EOF / err_hostname, err_parse" ];
3364 310 -> eof_310 [ label = "EOF / err_hostname, err_parse" ];
3365 311 -> eof_311 [ label = "EOF / err_hostname, err_parse" ];
3366 312 -> eof_312 [ label = "EOF / err_hostname, err_parse" ];
3367 313 -> eof_313 [ label = "EOF / err_hostname, err_parse" ];
3368 314 -> eof_314 [ label = "EOF / err_hostname, err_parse" ];
3369 315 -> eof_315 [ label = "EOF / err_hostname, err_parse" ];
3370 316 -> eof_316 [ label = "EOF / err_hostname, err_parse" ];
3371 317 -> eof_317 [ label = "EOF / err_hostname, err_parse" ];
3372 318 -> eof_318 [ label = "EOF / err_hostname, err_parse" ];
3373 319 -> eof_319 [ label = "EOF / err_hostname, err_parse" ];
3374 320 -> eof_320 [ label = "EOF / err_hostname, err_parse" ];
3375 321 -> eof_321 [ label = "EOF / err_hostname, err_parse" ];
3376 322 -> eof_322 [ label = "EOF / err_hostname, err_parse" ];
3377 323 -> eof_323 [ label = "EOF / err_hostname, err_parse" ];
3378 324 -> eof_324 [ label = "EOF / err_hostname, err_parse" ];
3379 325 -> eof_325 [ label = "EOF / err_hostname, err_parse" ];
3380 326 -> eof_326 [ label = "EOF / err_hostname, err_parse" ];
3381 327 -> eof_327 [ label = "EOF / err_hostname, err_parse" ];
3382 328 -> eof_328 [ label = "EOF / err_hostname, err_parse" ];
3383 329 -> eof_329 [ label = "EOF / err_hostname, err_parse" ];
3384 330 -> eof_330 [ label = "EOF / err_hostname, err_parse" ];
3385 331 -> eof_331 [ label = "EOF / err_hostname, err_parse" ];
3386 332 -> eof_332 [ label = "EOF / err_hostname, err_parse" ];
3387 333 -> eof_333 [ label = "EOF / err_hostname, err_parse" ];
3388 334 -> eof_334 [ label = "EOF / err_hostname, err_parse" ];
3389 335 -> eof_335 [ label = "EOF / err_hostname, err_parse" ];
3390 336 -> eof_336 [ label = "EOF / err_hostname, err_parse" ];
3391 337 -> eof_337 [ label = "EOF / err_hostname, err_parse" ];
3392 338 -> eof_338 [ label = "EOF / err_hostname, err_parse" ];
3393 339 -> eof_339 [ label = "EOF / err_hostname, err_parse" ];
3394 340 -> eof_340 [ label = "EOF / err_hostname, err_parse" ];
3395 341 -> eof_341 [ label = "EOF / err_hostname, err_parse" ];
3396 342 -> eof_342 [ label = "EOF / err_hostname, err_parse" ];
3397 343 -> eof_343 [ label = "EOF / err_hostname, err_parse" ];
3398 344 -> eof_344 [ label = "EOF / err_hostname, err_parse" ];
3399 345 -> eof_345 [ label = "EOF / err_hostname, err_parse" ];
3400 346 -> eof_346 [ label = "EOF / err_hostname, err_parse" ];
3401 347 -> eof_347 [ label = "EOF / err_hostname, err_parse" ];
3402 348 -> eof_348 [ label = "EOF / err_hostname, err_parse" ];
3403 349 -> eof_349 [ label = "EOF / err_hostname, err_parse" ];
3404 350 -> eof_350 [ label = "EOF / err_hostname, err_parse" ];
3405 351 -> eof_351 [ label = "EOF / err_hostname, err_parse" ];
3406 352 -> eof_352 [ label = "EOF / err_hostname, err_parse" ];
3407 353 -> eof_353 [ label = "EOF / err_hostname, err_parse" ];
3408 354 -> eof_354 [ label = "EOF / err_hostname, err_parse" ];
3409 355 -> eof_355 [ label = "EOF / err_hostname, err_parse" ];
3410 356 -> eof_356 [ label = "EOF / err_hostname, err_parse" ];
3411 357 -> eof_357 [ label = "EOF / err_hostname, err_parse" ];
3412 358 -> eof_358 [ label = "EOF / err_hostname, err_parse" ];
3413 359 -> eof_359 [ label = "EOF / err_hostname, err_parse" ];
3414 360 -> eof_360 [ label = "EOF / err_hostname, err_parse" ];
3415 361 -> eof_361 [ label = "EOF / err_hostname, err_parse" ];
3416 362 -> eof_362 [ label = "EOF / err_hostname, err_parse" ];
3417 363 -> eof_363 [ label = "EOF / err_hostname, err_parse" ];
3418 364 -> eof_364 [ label = "EOF / err_hostname, err_parse" ];
3419 365 -> eof_365 [ label = "EOF / err_hostname, err_parse" ];
3420 366 -> eof_366 [ label = "EOF / err_hostname, err_parse" ];
3421 367 -> eof_367 [ label = "EOF / err_hostname, err_parse" ];
3422 368 -> eof_368 [ label = "EOF / err_hostname, err_parse" ];
3423 369 -> eof_369 [ label = "EOF / err_hostname, err_parse" ];
3424 370 -> eof_370 [ label = "EOF / err_hostname, err_parse" ];
3425 371 -> eof_371 [ label = "EOF / err_hostname, err_parse" ];
3426 372 -> eof_372 [ label = "EOF / err_hostname, err_parse" ];
3427 373 -> eof_373 [ label = "EOF / err_hostname, err_parse" ];
3428 374 -> eof_374 [ label = "EOF / err_hostname, err_parse" ];
3429 375 -> eof_375 [ label = "EOF / err_hostname, err_parse" ];
3430 376 -> eof_376 [ label = "EOF / err_hostname, err_parse" ];
3431 377 -> eof_377 [ label = "EOF / err_hostname, err_parse" ];
3432 378 -> eof_378 [ label = "EOF / err_hostname, err_parse" ];
3433 379 -> eof_379 [ label = "EOF / err_hostname, err_parse" ];
3434 380 -> eof_380 [ label = "EOF / err_hostname, err_parse" ];
3435 381 -> eof_381 [ label = "EOF / err_hostname, err_parse" ];
3436 382 -> eof_382 [ label = "EOF / err_hostname, err_parse" ];
3437 383 -> eof_383 [ label = "EOF / err_hostname, err_parse" ];
3438 384 -> eof_384 [ label = "EOF / err_hostname, err_parse" ];
3439 385 -> eof_385 [ label = "EOF / err_hostname, err_parse" ];
3440 386 -> eof_386 [ label = "EOF / err_hostname, err_parse" ];
3441 387 -> eof_387 [ label = "EOF / err_hostname, err_parse" ];
3442 388 -> eof_388 [ label = "EOF / err_hostname, err_parse" ];
3443 389 -> eof_389 [ label = "EOF / err_hostname, err_parse" ];
3444 390 -> eof_390 [ label = "EOF / err_hostname, err_parse" ];
3445 391 -> eof_391 [ label = "EOF / err_hostname, err_parse" ];
3446 392 -> eof_392 [ label = "EOF / err_hostname, err_parse" ];
3447 393 -> eof_393 [ label = "EOF / err_hostname, err_parse" ];
3448 394 -> eof_394 [ label = "EOF / err_hostname, err_parse" ];
3449 395 -> eof_395 [ label = "EOF / err_hostname, err_parse" ];
3450 396 -> eof_396 [ label = "EOF / err_hostname, err_parse" ];
3451 397 -> eof_397 [ label = "EOF / err_hostname, err_parse" ];
3452 398 -> eof_398 [ label = "EOF / err_hostname, err_parse" ];
3453 399 -> eof_399 [ label = "EOF / err_hostname, err_parse" ];
3454 400 -> eof_400 [ label = "EOF / err_hostname, err_parse" ];
3455 401 -> eof_401 [ label = "EOF / err_hostname, err_parse" ];
3456 402 -> eof_402 [ label = "EOF / err_hostname, err_parse" ];
3457 403 -> eof_403 [ label = "EOF / err_hostname, err_parse" ];
3458 404 -> eof_404 [ label = "EOF / err_hostname, err_parse" ];
3459 405 -> eof_405 [ label = "EOF / err_hostname, err_parse" ];
3460 406 -> eof_406 [ label = "EOF / err_hostname, err_parse" ];
3461 407 -> eof_407 [ label = "EOF / err_hostname, err_parse" ];
3462 408 -> eof_408 [ label = "EOF / err_hostname, err_parse" ];
3463 409 -> eof_409 [ label = "EOF / err_hostname, err_parse" ];
3464 410 -> eof_410 [ label = "EOF / err_hostname, err_parse" ];
3465 411 -> eof_411 [ label = "EOF / err_hostname, err_parse" ];
3466 412 -> eof_412 [ label = "EOF / err_hostname, err_parse" ];
3467 413 -> eof_413 [ label = "EOF / err_hostname, err_parse" ];
3468 414 -> eof_414 [ label = "EOF / err_hostname, err_parse" ];
3469 415 -> eof_415 [ label = "EOF / err_hostname, err_parse" ];
3470 416 -> eof_416 [ label = "EOF / err_hostname, err_parse" ];
3471 417 -> eof_417 [ label = "EOF / err_hostname, err_parse" ];
3472 418 -> eof_418 [ label = "EOF / err_hostname, err_parse" ];
3473 419 -> eof_419 [ label = "EOF / err_hostname, err_parse" ];
3474 420 -> eof_420 [ label = "EOF / err_hostname, err_parse" ];
3475 421 -> eof_421 [ label = "EOF / err_hostname, err_parse" ];
3476 422 -> eof_422 [ label = "EOF / err_hostname, err_parse" ];
3477 423 -> eof_423 [ label = "EOF / err_hostname, err_parse" ];
3478 424 -> eof_424 [ label = "EOF / err_hostname, err_parse" ];
3479 425 -> eof_425 [ label = "EOF / err_hostname, err_parse" ];
3480 426 -> eof_426 [ label = "EOF / err_hostname, err_parse" ];
3481 427 -> eof_427 [ label = "EOF / err_hostname, err_parse" ];
3482 428 -> eof_428 [ label = "EOF / err_hostname, err_parse" ];
3483 429 -> eof_429 [ label = "EOF / err_hostname, err_parse" ];
3484 430 -> eof_430 [ label = "EOF / err_hostname, err_parse" ];
3485 431 -> eof_431 [ label = "EOF / err_hostname, err_parse" ];
3486 432 -> eof_432 [ label = "EOF / err_hostname, err_parse" ];
3487 433 -> eof_433 [ label = "EOF / err_hostname, err_parse" ];
3488 434 -> eof_434 [ label = "EOF / err_hostname, err_parse" ];
3489 435 -> eof_435 [ label = "EOF / err_hostname, err_parse" ];
3490 436 -> eof_436 [ label = "EOF / err_hostname, err_parse" ];
3491 437 -> eof_437 [ label = "EOF / err_hostname, err_parse" ];
3492 438 -> eof_438 [ label = "EOF / err_hostname, err_parse" ];
3493 439 -> eof_439 [ label = "EOF / err_hostname, err_parse" ];
3494 440 -> eof_440 [ label = "EOF / err_hostname, err_parse" ];
3495 441 -> eof_441 [ label = "EOF / err_hostname, err_parse" ];
3496 442 -> eof_442 [ label = "EOF / err_hostname, err_parse" ];
3497 443 -> eof_443 [ label = "EOF / err_hostname, err_parse" ];
3498 444 -> eof_444 [ label = "EOF / err_hostname, err_parse" ];
3499 445 -> eof_445 [ label = "EOF / err_hostname, err_parse" ];
3500 446 -> eof_446 [ label = "EOF / err_hostname, err_parse" ];
3501 447 -> eof_447 [ label = "EOF / err_hostname, err_parse" ];
3502 448 -> eof_448 [ label = "EOF / err_hostname, err_parse" ];
3503 449 -> eof_449 [ label = "EOF / err_hostname, err_parse" ];
3504 450 -> eof_450 [ label = "EOF / err_hostname, err_parse" ];
3505 451 -> eof_451 [ label = "EOF / err_hostname, err_parse" ];
3506 452 -> eof_452 [ label = "EOF / err_hostname, err_parse" ];
3507 453 -> eof_453 [ label = "EOF / err_hostname, err_parse" ];
3508 454 -> eof_454 [ label = "EOF / err_hostname, err_parse" ];
3509 455 -> eof_455 [ label = "EOF / err_hostname, err_parse" ];
3510 456 -> eof_456 [ label = "EOF / err_hostname, err_parse" ];
3511 457 -> eof_457 [ label = "EOF / err_hostname, err_parse" ];
3512 458 -> eof_458 [ label = "EOF / err_hostname, err_parse" ];
3513 459 -> eof_459 [ label = "EOF / err_hostname, err_parse" ];
3514 460 -> eof_460 [ label = "EOF / err_hostname, err_parse" ];
3515 461 -> eof_461 [ label = "EOF / err_hostname, err_parse" ];
3516 462 -> eof_462 [ label = "EOF / err_hostname, err_parse" ];
3517 463 -> eof_463 [ label = "EOF / err_hostname, err_parse" ];
3518 464 -> eof_464 [ label = "EOF / err_hostname, err_parse" ];
3519 465 -> eof_465 [ label = "EOF / err_hostname, err_parse" ];
3520 466 -> eof_466 [ label = "EOF / err_hostname, err_parse" ];
3521 467 -> eof_467 [ label = "EOF / err_hostname, err_parse" ];
3522 468 -> eof_468 [ label = "EOF / err_hostname, err_parse" ];
3523 469 -> eof_469 [ label = "EOF / err_hostname, err_parse" ];
3524 470 -> eof_470 [ label = "EOF / err_hostname, err_parse" ];
3525 471 -> eof_471 [ label = "EOF / err_hostname, err_parse" ];
3526 472 -> eof_472 [ label = "EOF / err_hostname, err_parse" ];
3527 473 -> eof_473 [ label = "EOF / err_hostname, err_parse" ];
3528 474 -> eof_474 [ label = "EOF / err_hostname, err_parse" ];
3529 475 -> eof_475 [ label = "EOF / err_hostname, err_parse" ];
3530 476 -> eof_476 [ label = "EOF / err_hostname, err_parse" ];
3531 477 -> eof_477 [ label = "EOF / err_hostname, err_parse" ];
3532 478 -> eof_478 [ label = "EOF / err_hostname, err_parse" ];
3533 479 -> eof_479 [ label = "EOF / err_hostname, err_parse" ];
3534 480 -> eof_480 [ label = "EOF / err_hostname, err_parse" ];
3535 481 -> eof_481 [ label = "EOF / err_hostname, err_parse" ];
3536 482 -> eof_482 [ label = "EOF / err_hostname, err_parse" ];
3537 483 -> eof_483 [ label = "EOF / err_hostname, err_parse" ];
3538 484 -> eof_484 [ label = "EOF / err_hostname, err_parse" ];
3539 485 -> eof_485 [ label = "EOF / err_hostname, err_parse" ];
3540 486 -> eof_486 [ label = "EOF / err_hostname, err_parse" ];
3541 487 -> eof_487 [ label = "EOF / err_hostname, err_parse" ];
3542 488 -> eof_488 [ label = "EOF / err_hostname, err_parse" ];
3543 489 -> eof_489 [ label = "EOF / err_hostname, err_parse" ];
3544 490 -> eof_490 [ label = "EOF / err_hostname, err_parse" ];
3545 491 -> eof_491 [ label = "EOF / err_hostname, err_parse" ];
3546 492 -> eof_492 [ label = "EOF / err_hostname, err_parse" ];
3547 493 -> eof_493 [ label = "EOF / err_hostname, err_parse" ];
3548 494 -> eof_494 [ label = "EOF / err_hostname, err_parse" ];
3549 495 -> eof_495 [ label = "EOF / err_hostname, err_parse" ];
3550 496 -> eof_496 [ label = "EOF / err_hostname, err_parse" ];
3551 497 -> eof_497 [ label = "EOF / err_hostname, err_parse" ];
3552 498 -> eof_498 [ label = "EOF / err_hostname, err_parse" ];
3553 499 -> eof_499 [ label = "EOF / err_hostname, err_parse" ];
3554 500 -> eof_500 [ label = "EOF / err_hostname, err_parse" ];
3555 501 -> eof_501 [ label = "EOF / err_hostname, err_parse" ];
3556 502 -> eof_502 [ label = "EOF / err_hostname, err_parse" ];
3557 503 -> eof_503 [ label = "EOF / err_hostname, err_parse" ];
3558 504 -> eof_504 [ label = "EOF / err_hostname, err_parse" ];
3559 505 -> eof_505 [ label = "EOF / err_hostname, err_parse" ];
3560 506 -> eof_506 [ label = "EOF / err_hostname, err_parse" ];
3561 507 -> eof_507 [ label = "EOF / err_hostname, err_parse" ];
3562 508 -> eof_508 [ label = "EOF / err_hostname, err_parse" ];
3563 509 -> eof_509 [ label = "EOF / err_hostname, err_parse" ];
3564 510 -> eof_510 [ label = "EOF / err_hostname, err_parse" ];
3565 511 -> eof_511 [ label = "EOF / err_hostname, err_parse" ];
3566 512 -> eof_512 [ label = "EOF / err_hostname, err_parse" ];
3567 513 -> eof_513 [ label = "EOF / err_hostname, err_parse" ];
3568 514 -> eof_514 [ label = "EOF / err_hostname, err_parse" ];
3569 515 -> eof_515 [ label = "EOF / err_hostname, err_parse" ];
3570 516 -> eof_516 [ label = "EOF / err_hostname, err_parse" ];
3571 517 -> eof_517 [ label = "EOF / err_hostname, err_parse" ];
3572 518 -> eof_518 [ label = "EOF / err_hostname, err_parse" ];
3573 519 -> eof_519 [ label = "EOF / err_hostname, err_parse" ];
3574 520 -> eof_520 [ label = "EOF / err_hostname, err_parse" ];
3575 521 -> eof_521 [ label = "EOF / err_hostname, err_parse" ];
3576 522 -> eof_522 [ label = "EOF / err_hostname, err_parse" ];
3577 523 -> eof_523 [ label = "EOF / err_hostname, err_parse" ];
3578 524 -> eof_524 [ label = "EOF / err_hostname, err_parse" ];
3579 525 -> eof_525 [ label = "EOF / err_hostname, err_parse" ];
3580 526 -> eof_526 [ label = "EOF / err_hostname, err_parse" ];
3581 527 -> eof_527 [ label = "EOF / err_hostname, err_parse" ];
3582 528 -> eof_528 [ label = "EOF / err_hostname, err_parse" ];
3583 529 -> eof_529 [ label = "EOF / err_hostname, err_parse" ];
3584 530 -> eof_530 [ label = "EOF / err_hostname, err_parse" ];
3585 531 -> eof_531 [ label = "EOF / err_hostname, err_parse" ];
3586 532 -> eof_532 [ label = "EOF / err_hostname, err_parse" ];
3587 533 -> eof_533 [ label = "EOF / err_hostname, err_parse" ];
3588 534 -> eof_534 [ label = "EOF / err_hostname, err_parse" ];
3589 535 -> eof_535 [ label = "EOF / err_hostname, err_parse" ];
3590 536 -> eof_536 [ label = "EOF / err_hostname, err_parse" ];
3591 537 -> eof_537 [ label = "EOF / err_hostname, err_parse" ];
3592 538 -> eof_538 [ label = "EOF / err_hostname, err_parse" ];
3593 539 -> eof_539 [ label = "EOF / err_hostname, err_parse" ];
3594 540 -> eof_540 [ label = "EOF / err_hostname, err_parse" ];
3595 541 -> eof_541 [ label = "EOF / err_hostname, err_parse" ];
3596 542 -> eof_542 [ label = "EOF / err_hostname, err_parse" ];
3597 543 -> eof_543 [ label = "EOF / err_hostname, err_parse" ];
3598 544 -> eof_544 [ label = "EOF / err_hostname, err_parse" ];
3599 545 -> eof_545 [ label = "EOF / err_hostname, err_parse" ];
3600 546 -> eof_546 [ label = "EOF / err_hostname, err_parse" ];
3601 547 -> eof_547 [ label = "EOF / err_hostname, err_parse" ];
3602 548 -> eof_548 [ label = "EOF / err_hostname, err_parse" ];
3603 549 -> eof_549 [ label = "EOF / err_hostname, err_parse" ];
3604 550 -> eof_550 [ label = "EOF / err_hostname, err_parse" ];
3605 551 -> eof_551 [ label = "EOF / err_hostname, err_parse" ];
3606 552 -> eof_552 [ label = "EOF / err_hostname, err_parse" ];
3607 553 -> eof_553 [ label = "EOF / err_hostname, err_parse" ];
3608 554 -> eof_554 [ label = "EOF / err_hostname, err_parse" ];
3609 555 -> eof_555 [ label = "EOF / err_hostname, err_parse" ];
3610 556 -> eof_556 [ label = "EOF / err_hostname, err_parse" ];
3611 557 -> eof_557 [ label = "EOF / err_hostname, err_parse" ];
3612 558 -> eof_558 [ label = "EOF / err_hostname, err_parse" ];
3613 559 -> eof_559 [ label = "EOF / err_hostname, err_parse" ];
3614 560 -> eof_560 [ label = "EOF / err_hostname, err_parse" ];
3615 561 -> eof_561 [ label = "EOF / err_timestamp, err_parse" ];
3616 562 -> eof_562 [ label = "EOF / err_timestamp, err_parse" ];
3617 563 -> eof_563 [ label = "EOF / err_timestamp, err_parse" ];
3618 564 -> eof_564 [ label = "EOF / err_timestamp, err_parse" ];
3619 565 -> eof_565 [ label = "EOF / err_timestamp, err_parse" ];
3620 566 -> eof_566 [ label = "EOF / err_timestamp, err_parse" ];
3621 567 -> eof_567 [ label = "EOF / err_timestamp, err_parse" ];
3622 568 -> eof_568 [ label = "EOF / err_timestamp, err_parse" ];
3623 569 -> eof_569 [ label = "EOF / err_timestamp, err_parse" ];
3624 570 -> eof_570 [ label = "EOF / err_timestamp, err_parse" ];
3625 571 -> eof_571 [ label = "EOF / err_timestamp, err_parse" ];
3626 572 -> eof_572 [ label = "EOF / err_timestamp, err_parse" ];
3627 573 -> eof_573 [ label = "EOF / err_timestamp, err_parse" ];
3628 574 -> eof_574 [ label = "EOF / err_timestamp, err_parse" ];
3629 575 -> eof_575 [ label = "EOF / err_timestamp, err_parse" ];
3630 576 -> eof_576 [ label = "EOF / err_timestamp, err_parse" ];
3631 577 -> eof_577 [ label = "EOF / err_timestamp, err_parse" ];
3632 578 -> eof_578 [ label = "EOF / err_timestamp, err_parse" ];
3633 579 -> eof_579 [ label = "EOF / err_timestamp, err_parse" ];
3634 580 -> eof_580 [ label = "EOF / err_timestamp, err_parse" ];
3635 581 -> eof_581 [ label = "EOF / err_timestamp, err_parse" ];
3636 582 -> eof_582 [ label = "EOF / err_timestamp, err_parse" ];
3637 583 -> eof_583 [ label = "EOF / err_timestamp, err_parse" ];
3638 584 -> eof_584 [ label = "EOF / err_timestamp, err_parse" ];
3639 585 -> eof_585 [ label = "EOF / set_timestamp, err_parse" ];
3640 586 -> eof_586 [ label = "EOF / err_timestamp, err_parse" ];
3641 587 -> eof_587 [ label = "EOF / err_timestamp, err_parse" ];
3642 588 -> eof_588 [ label = "EOF / err_timestamp, err_parse" ];
3643 589 -> eof_589 [ label = "EOF / err_timestamp, err_parse" ];
3644 590 -> eof_590 [ label = "EOF / err_timestamp, err_parse" ];
3645 591 -> eof_591 [ label = "EOF / err_timestamp, err_parse" ];
3646 592 -> eof_592 [ label = "EOF / err_timestamp, err_parse" ];
3647 593 -> eof_593 [ label = "EOF / err_timestamp, err_parse" ];
3648 594 -> eof_594 [ label = "EOF / err_timestamp, err_parse" ];
3649 595 -> eof_595 [ label = "EOF / err_timestamp, err_parse" ];
3650 596 -> eof_596 [ label = "EOF / err_timestamp, err_parse" ];
3651 597 -> eof_597 [ label = "EOF / err_timestamp, err_parse" ];
3652 598 -> eof_598 [ label = "EOF / err_version, set_version, err_parse" ];
3653 599 -> eof_599 [ label = "EOF / err_version, set_version, err_parse" ];
3654 600 -> eof_600 [ label = "EOF / err_prival, err_pri, err_parse" ];
3655 601 -> eof_601 [ label = "EOF / err_prival, err_pri, err_parse" ];
3656 602 -> eof_602 [ label = "EOF / err_prival, err_pri, err_parse" ];
3657 604 -> eof_604 [ label = "EOF / mark, markmsg, set_msg" ];
3658 605 -> eof_605 [ label = "EOF / set_msg" ];
3659 }
0 digraph rfc5424 {
1 rankdir=LR;
2 node [ shape = point ];
3 ENTRY;
4 eof_1;
5 eof_2;
6 eof_3;
7 eof_4;
8 eof_5;
9 eof_6;
10 eof_7;
11 eof_8;
12 eof_9;
13 eof_10;
14 eof_11;
15 eof_12;
16 eof_13;
17 eof_14;
18 eof_15;
19 eof_16;
20 eof_17;
21 eof_18;
22 eof_19;
23 eof_20;
24 eof_21;
25 eof_22;
26 eof_23;
27 eof_24;
28 eof_25;
29 eof_26;
30 eof_27;
31 eof_28;
32 eof_29;
33 eof_30;
34 eof_31;
35 eof_32;
36 eof_33;
37 eof_34;
38 eof_35;
39 eof_36;
40 eof_37;
41 eof_38;
42 eof_39;
43 eof_40;
44 eof_41;
45 eof_42;
46 eof_43;
47 eof_44;
48 eof_45;
49 eof_46;
50 eof_47;
51 eof_48;
52 eof_49;
53 node [ shape = circle, height = 0.2 ];
54 err_1 [ label=""];
55 err_2 [ label=""];
56 err_3 [ label=""];
57 err_4 [ label=""];
58 err_5 [ label=""];
59 err_6 [ label=""];
60 err_7 [ label=""];
61 err_8 [ label=""];
62 err_9 [ label=""];
63 err_10 [ label=""];
64 err_11 [ label=""];
65 err_12 [ label=""];
66 err_13 [ label=""];
67 err_14 [ label=""];
68 err_15 [ label=""];
69 err_16 [ label=""];
70 err_17 [ label=""];
71 err_18 [ label=""];
72 err_19 [ label=""];
73 err_20 [ label=""];
74 err_21 [ label=""];
75 err_22 [ label=""];
76 err_23 [ label=""];
77 err_24 [ label=""];
78 err_25 [ label=""];
79 err_26 [ label=""];
80 err_27 [ label=""];
81 err_28 [ label=""];
82 err_29 [ label=""];
83 err_30 [ label=""];
84 err_31 [ label=""];
85 err_32 [ label=""];
86 err_33 [ label=""];
87 err_34 [ label=""];
88 err_35 [ label=""];
89 err_36 [ label=""];
90 err_37 [ label=""];
91 err_38 [ label=""];
92 err_39 [ label=""];
93 err_40 [ label=""];
94 err_41 [ label=""];
95 err_42 [ label=""];
96 err_43 [ label=""];
97 err_44 [ label=""];
98 err_45 [ label=""];
99 err_46 [ label=""];
100 err_47 [ label=""];
101 err_48 [ label=""];
102 err_49 [ label=""];
103 node [ fixedsize = true, height = 0.65, shape = doublecircle ];
104 2;
105 3;
106 4;
107 5;
108 6;
109 7;
110 8;
111 9;
112 10;
113 11;
114 12;
115 13;
116 14;
117 15;
118 16;
119 17;
120 18;
121 19;
122 20;
123 21;
124 22;
125 23;
126 24;
127 25;
128 26;
129 27;
130 28;
131 29;
132 30;
133 31;
134 32;
135 33;
136 34;
137 35;
138 36;
139 37;
140 38;
141 39;
142 40;
143 41;
144 42;
145 43;
146 44;
147 45;
148 46;
149 47;
150 48;
151 49;
152 node [ shape = circle ];
153 1 -> 2 [ label = "'!'..'~' / mark" ];
154 1 -> err_1 [ label = "DEF / err_appname" ];
155 2 -> 3 [ label = "'!'..'~'" ];
156 2 -> err_2 [ label = "DEF / err_appname" ];
157 3 -> 4 [ label = "'!'..'~'" ];
158 3 -> err_3 [ label = "DEF / err_appname" ];
159 4 -> 5 [ label = "'!'..'~'" ];
160 4 -> err_4 [ label = "DEF / err_appname" ];
161 5 -> 6 [ label = "'!'..'~'" ];
162 5 -> err_5 [ label = "DEF / err_appname" ];
163 6 -> 7 [ label = "'!'..'~'" ];
164 6 -> err_6 [ label = "DEF / err_appname" ];
165 7 -> 8 [ label = "'!'..'~'" ];
166 7 -> err_7 [ label = "DEF / err_appname" ];
167 8 -> 9 [ label = "'!'..'~'" ];
168 8 -> err_8 [ label = "DEF / err_appname" ];
169 9 -> 10 [ label = "'!'..'~'" ];
170 9 -> err_9 [ label = "DEF / err_appname" ];
171 10 -> 11 [ label = "'!'..'~'" ];
172 10 -> err_10 [ label = "DEF / err_appname" ];
173 11 -> 12 [ label = "'!'..'~'" ];
174 11 -> err_11 [ label = "DEF / err_appname" ];
175 12 -> 13 [ label = "'!'..'~'" ];
176 12 -> err_12 [ label = "DEF / err_appname" ];
177 13 -> 14 [ label = "'!'..'~'" ];
178 13 -> err_13 [ label = "DEF / err_appname" ];
179 14 -> 15 [ label = "'!'..'~'" ];
180 14 -> err_14 [ label = "DEF / err_appname" ];
181 15 -> 16 [ label = "'!'..'~'" ];
182 15 -> err_15 [ label = "DEF / err_appname" ];
183 16 -> 17 [ label = "'!'..'~'" ];
184 16 -> err_16 [ label = "DEF / err_appname" ];
185 17 -> 18 [ label = "'!'..'~'" ];
186 17 -> err_17 [ label = "DEF / err_appname" ];
187 18 -> 19 [ label = "'!'..'~'" ];
188 18 -> err_18 [ label = "DEF / err_appname" ];
189 19 -> 20 [ label = "'!'..'~'" ];
190 19 -> err_19 [ label = "DEF / err_appname" ];
191 20 -> 21 [ label = "'!'..'~'" ];
192 20 -> err_20 [ label = "DEF / err_appname" ];
193 21 -> 22 [ label = "'!'..'~'" ];
194 21 -> err_21 [ label = "DEF / err_appname" ];
195 22 -> 23 [ label = "'!'..'~'" ];
196 22 -> err_22 [ label = "DEF / err_appname" ];
197 23 -> 24 [ label = "'!'..'~'" ];
198 23 -> err_23 [ label = "DEF / err_appname" ];
199 24 -> 25 [ label = "'!'..'~'" ];
200 24 -> err_24 [ label = "DEF / err_appname" ];
201 25 -> 26 [ label = "'!'..'~'" ];
202 25 -> err_25 [ label = "DEF / err_appname" ];
203 26 -> 27 [ label = "'!'..'~'" ];
204 26 -> err_26 [ label = "DEF / err_appname" ];
205 27 -> 28 [ label = "'!'..'~'" ];
206 27 -> err_27 [ label = "DEF / err_appname" ];
207 28 -> 29 [ label = "'!'..'~'" ];
208 28 -> err_28 [ label = "DEF / err_appname" ];
209 29 -> 30 [ label = "'!'..'~'" ];
210 29 -> err_29 [ label = "DEF / err_appname" ];
211 30 -> 31 [ label = "'!'..'~'" ];
212 30 -> err_30 [ label = "DEF / err_appname" ];
213 31 -> 32 [ label = "'!'..'~'" ];
214 31 -> err_31 [ label = "DEF / err_appname" ];
215 32 -> 33 [ label = "'!'..'~'" ];
216 32 -> err_32 [ label = "DEF / err_appname" ];
217 33 -> 34 [ label = "'!'..'~'" ];
218 33 -> err_33 [ label = "DEF / err_appname" ];
219 34 -> 35 [ label = "'!'..'~'" ];
220 34 -> err_34 [ label = "DEF / err_appname" ];
221 35 -> 36 [ label = "'!'..'~'" ];
222 35 -> err_35 [ label = "DEF / err_appname" ];
223 36 -> 37 [ label = "'!'..'~'" ];
224 36 -> err_36 [ label = "DEF / err_appname" ];
225 37 -> 38 [ label = "'!'..'~'" ];
226 37 -> err_37 [ label = "DEF / err_appname" ];
227 38 -> 39 [ label = "'!'..'~'" ];
228 38 -> err_38 [ label = "DEF / err_appname" ];
229 39 -> 40 [ label = "'!'..'~'" ];
230 39 -> err_39 [ label = "DEF / err_appname" ];
231 40 -> 41 [ label = "'!'..'~'" ];
232 40 -> err_40 [ label = "DEF / err_appname" ];
233 41 -> 42 [ label = "'!'..'~'" ];
234 41 -> err_41 [ label = "DEF / err_appname" ];
235 42 -> 43 [ label = "'!'..'~'" ];
236 42 -> err_42 [ label = "DEF / err_appname" ];
237 43 -> 44 [ label = "'!'..'~'" ];
238 43 -> err_43 [ label = "DEF / err_appname" ];
239 44 -> 45 [ label = "'!'..'~'" ];
240 44 -> err_44 [ label = "DEF / err_appname" ];
241 45 -> 46 [ label = "'!'..'~'" ];
242 45 -> err_45 [ label = "DEF / err_appname" ];
243 46 -> 47 [ label = "'!'..'~'" ];
244 46 -> err_46 [ label = "DEF / err_appname" ];
245 47 -> 48 [ label = "'!'..'~'" ];
246 47 -> err_47 [ label = "DEF / err_appname" ];
247 48 -> 49 [ label = "'!'..'~'" ];
248 48 -> err_48 [ label = "DEF / err_appname" ];
249 49 -> err_49 [ label = "DEF / err_appname" ];
250 ENTRY -> 1 [ label = "IN" ];
251 1 -> eof_1 [ label = "EOF / err_appname" ];
252 2 -> eof_2 [ label = "EOF / set_appname" ];
253 3 -> eof_3 [ label = "EOF / set_appname" ];
254 4 -> eof_4 [ label = "EOF / set_appname" ];
255 5 -> eof_5 [ label = "EOF / set_appname" ];
256 6 -> eof_6 [ label = "EOF / set_appname" ];
257 7 -> eof_7 [ label = "EOF / set_appname" ];
258 8 -> eof_8 [ label = "EOF / set_appname" ];
259 9 -> eof_9 [ label = "EOF / set_appname" ];
260 10 -> eof_10 [ label = "EOF / set_appname" ];
261 11 -> eof_11 [ label = "EOF / set_appname" ];
262 12 -> eof_12 [ label = "EOF / set_appname" ];
263 13 -> eof_13 [ label = "EOF / set_appname" ];
264 14 -> eof_14 [ label = "EOF / set_appname" ];
265 15 -> eof_15 [ label = "EOF / set_appname" ];
266 16 -> eof_16 [ label = "EOF / set_appname" ];
267 17 -> eof_17 [ label = "EOF / set_appname" ];
268 18 -> eof_18 [ label = "EOF / set_appname" ];
269 19 -> eof_19 [ label = "EOF / set_appname" ];
270 20 -> eof_20 [ label = "EOF / set_appname" ];
271 21 -> eof_21 [ label = "EOF / set_appname" ];
272 22 -> eof_22 [ label = "EOF / set_appname" ];
273 23 -> eof_23 [ label = "EOF / set_appname" ];
274 24 -> eof_24 [ label = "EOF / set_appname" ];
275 25 -> eof_25 [ label = "EOF / set_appname" ];
276 26 -> eof_26 [ label = "EOF / set_appname" ];
277 27 -> eof_27 [ label = "EOF / set_appname" ];
278 28 -> eof_28 [ label = "EOF / set_appname" ];
279 29 -> eof_29 [ label = "EOF / set_appname" ];
280 30 -> eof_30 [ label = "EOF / set_appname" ];
281 31 -> eof_31 [ label = "EOF / set_appname" ];
282 32 -> eof_32 [ label = "EOF / set_appname" ];
283 33 -> eof_33 [ label = "EOF / set_appname" ];
284 34 -> eof_34 [ label = "EOF / set_appname" ];
285 35 -> eof_35 [ label = "EOF / set_appname" ];
286 36 -> eof_36 [ label = "EOF / set_appname" ];
287 37 -> eof_37 [ label = "EOF / set_appname" ];
288 38 -> eof_38 [ label = "EOF / set_appname" ];
289 39 -> eof_39 [ label = "EOF / set_appname" ];
290 40 -> eof_40 [ label = "EOF / set_appname" ];
291 41 -> eof_41 [ label = "EOF / set_appname" ];
292 42 -> eof_42 [ label = "EOF / set_appname" ];
293 43 -> eof_43 [ label = "EOF / set_appname" ];
294 44 -> eof_44 [ label = "EOF / set_appname" ];
295 45 -> eof_45 [ label = "EOF / set_appname" ];
296 46 -> eof_46 [ label = "EOF / set_appname" ];
297 47 -> eof_47 [ label = "EOF / set_appname" ];
298 48 -> eof_48 [ label = "EOF / set_appname" ];
299 49 -> eof_49 [ label = "EOF / set_appname" ];
300 }
0 digraph rfc5424 {
1 rankdir=LR;
2 node [ shape = point ];
3 ENTRY;
4 eof_1;
5 eof_2;
6 eof_3;
7 eof_4;
8 eof_5;
9 eof_6;
10 eof_7;
11 eof_8;
12 eof_9;
13 eof_10;
14 eof_11;
15 eof_12;
16 eof_13;
17 eof_14;
18 eof_15;
19 eof_16;
20 eof_17;
21 eof_18;
22 eof_19;
23 eof_20;
24 eof_21;
25 eof_22;
26 eof_23;
27 eof_24;
28 eof_25;
29 eof_26;
30 eof_27;
31 eof_28;
32 eof_29;
33 eof_30;
34 eof_31;
35 eof_32;
36 eof_33;
37 eof_34;
38 eof_35;
39 eof_36;
40 eof_37;
41 eof_38;
42 eof_39;
43 eof_40;
44 eof_41;
45 eof_42;
46 eof_43;
47 eof_44;
48 eof_45;
49 eof_46;
50 eof_47;
51 eof_48;
52 eof_49;
53 eof_50;
54 eof_51;
55 eof_52;
56 eof_53;
57 eof_54;
58 eof_55;
59 eof_56;
60 eof_57;
61 eof_58;
62 eof_59;
63 eof_60;
64 eof_61;
65 eof_62;
66 eof_63;
67 eof_64;
68 eof_65;
69 eof_66;
70 eof_67;
71 eof_68;
72 eof_69;
73 eof_70;
74 eof_71;
75 eof_72;
76 eof_73;
77 eof_74;
78 eof_75;
79 eof_76;
80 eof_77;
81 eof_78;
82 eof_79;
83 eof_80;
84 eof_81;
85 eof_82;
86 eof_83;
87 eof_84;
88 eof_85;
89 eof_86;
90 eof_87;
91 eof_88;
92 eof_89;
93 eof_90;
94 eof_91;
95 eof_92;
96 eof_93;
97 eof_94;
98 eof_95;
99 eof_96;
100 eof_97;
101 eof_98;
102 eof_99;
103 eof_100;
104 eof_101;
105 eof_102;
106 eof_103;
107 eof_104;
108 eof_105;
109 eof_106;
110 eof_107;
111 eof_108;
112 eof_109;
113 eof_110;
114 eof_111;
115 eof_112;
116 eof_113;
117 eof_114;
118 eof_115;
119 eof_116;
120 eof_117;
121 eof_118;
122 eof_119;
123 eof_120;
124 eof_121;
125 eof_122;
126 eof_123;
127 eof_124;
128 eof_125;
129 eof_126;
130 eof_127;
131 eof_128;
132 eof_129;
133 eof_130;
134 eof_131;
135 eof_132;
136 eof_133;
137 eof_134;
138 eof_135;
139 eof_136;
140 eof_137;
141 eof_138;
142 eof_139;
143 eof_140;
144 eof_141;
145 eof_142;
146 eof_143;
147 eof_144;
148 eof_145;
149 eof_146;
150 eof_147;
151 eof_148;
152 eof_149;
153 eof_150;
154 eof_151;
155 eof_152;
156 eof_153;
157 eof_154;
158 eof_155;
159 eof_156;
160 eof_157;
161 eof_158;
162 eof_159;
163 eof_160;
164 eof_161;
165 eof_162;
166 eof_163;
167 eof_164;
168 eof_165;
169 eof_166;
170 eof_167;
171 eof_168;
172 eof_169;
173 eof_170;
174 eof_171;
175 eof_172;
176 eof_173;
177 eof_174;
178 eof_175;
179 eof_176;
180 eof_177;
181 eof_178;
182 eof_179;
183 eof_180;
184 eof_181;
185 eof_182;
186 eof_183;
187 eof_184;
188 eof_185;
189 eof_186;
190 eof_187;
191 eof_188;
192 eof_189;
193 eof_190;
194 eof_191;
195 eof_192;
196 eof_193;
197 eof_194;
198 eof_195;
199 eof_196;
200 eof_197;
201 eof_198;
202 eof_199;
203 eof_200;
204 eof_201;
205 eof_202;
206 eof_203;
207 eof_204;
208 eof_205;
209 eof_206;
210 eof_207;
211 eof_208;
212 eof_209;
213 eof_210;
214 eof_211;
215 eof_212;
216 eof_213;
217 eof_214;
218 eof_215;
219 eof_216;
220 eof_217;
221 eof_218;
222 eof_219;
223 eof_220;
224 eof_221;
225 eof_222;
226 eof_223;
227 eof_224;
228 eof_225;
229 eof_226;
230 eof_227;
231 eof_228;
232 eof_229;
233 eof_230;
234 eof_231;
235 eof_232;
236 eof_233;
237 eof_234;
238 eof_235;
239 eof_236;
240 eof_237;
241 eof_238;
242 eof_239;
243 eof_240;
244 eof_241;
245 eof_242;
246 eof_243;
247 eof_244;
248 eof_245;
249 eof_246;
250 eof_247;
251 eof_248;
252 eof_249;
253 eof_250;
254 eof_251;
255 eof_252;
256 eof_253;
257 eof_254;
258 eof_255;
259 eof_256;
260 node [ shape = circle, height = 0.2 ];
261 err_1 [ label=""];
262 err_2 [ label=""];
263 err_3 [ label=""];
264 err_4 [ label=""];
265 err_5 [ label=""];
266 err_6 [ label=""];
267 err_7 [ label=""];
268 err_8 [ label=""];
269 err_9 [ label=""];
270 err_10 [ label=""];
271 err_11 [ label=""];
272 err_12 [ label=""];
273 err_13 [ label=""];
274 err_14 [ label=""];
275 err_15 [ label=""];
276 err_16 [ label=""];
277 err_17 [ label=""];
278 err_18 [ label=""];
279 err_19 [ label=""];
280 err_20 [ label=""];
281 err_21 [ label=""];
282 err_22 [ label=""];
283 err_23 [ label=""];
284 err_24 [ label=""];
285 err_25 [ label=""];
286 err_26 [ label=""];
287 err_27 [ label=""];
288 err_28 [ label=""];
289 err_29 [ label=""];
290 err_30 [ label=""];
291 err_31 [ label=""];
292 err_32 [ label=""];
293 err_33 [ label=""];
294 err_34 [ label=""];
295 err_35 [ label=""];
296 err_36 [ label=""];
297 err_37 [ label=""];
298 err_38 [ label=""];
299 err_39 [ label=""];
300 err_40 [ label=""];
301 err_41 [ label=""];
302 err_42 [ label=""];
303 err_43 [ label=""];
304 err_44 [ label=""];
305 err_45 [ label=""];
306 err_46 [ label=""];
307 err_47 [ label=""];
308 err_48 [ label=""];
309 err_49 [ label=""];
310 err_50 [ label=""];
311 err_51 [ label=""];
312 err_52 [ label=""];
313 err_53 [ label=""];
314 err_54 [ label=""];
315 err_55 [ label=""];
316 err_56 [ label=""];
317 err_57 [ label=""];
318 err_58 [ label=""];
319 err_59 [ label=""];
320 err_60 [ label=""];
321 err_61 [ label=""];
322 err_62 [ label=""];
323 err_63 [ label=""];
324 err_64 [ label=""];
325 err_65 [ label=""];
326 err_66 [ label=""];
327 err_67 [ label=""];
328 err_68 [ label=""];
329 err_69 [ label=""];
330 err_70 [ label=""];
331 err_71 [ label=""];
332 err_72 [ label=""];
333 err_73 [ label=""];
334 err_74 [ label=""];
335 err_75 [ label=""];
336 err_76 [ label=""];
337 err_77 [ label=""];
338 err_78 [ label=""];
339 err_79 [ label=""];
340 err_80 [ label=""];
341 err_81 [ label=""];
342 err_82 [ label=""];
343 err_83 [ label=""];
344 err_84 [ label=""];
345 err_85 [ label=""];
346 err_86 [ label=""];
347 err_87 [ label=""];
348 err_88 [ label=""];
349 err_89 [ label=""];
350 err_90 [ label=""];
351 err_91 [ label=""];
352 err_92 [ label=""];
353 err_93 [ label=""];
354 err_94 [ label=""];
355 err_95 [ label=""];
356 err_96 [ label=""];
357 err_97 [ label=""];
358 err_98 [ label=""];
359 err_99 [ label=""];
360 err_100 [ label=""];
361 err_101 [ label=""];
362 err_102 [ label=""];
363 err_103 [ label=""];
364 err_104 [ label=""];
365 err_105 [ label=""];
366 err_106 [ label=""];
367 err_107 [ label=""];
368 err_108 [ label=""];
369 err_109 [ label=""];
370 err_110 [ label=""];
371 err_111 [ label=""];
372 err_112 [ label=""];
373 err_113 [ label=""];
374 err_114 [ label=""];
375 err_115 [ label=""];
376 err_116 [ label=""];
377 err_117 [ label=""];
378 err_118 [ label=""];
379 err_119 [ label=""];
380 err_120 [ label=""];
381 err_121 [ label=""];
382 err_122 [ label=""];
383 err_123 [ label=""];
384 err_124 [ label=""];
385 err_125 [ label=""];
386 err_126 [ label=""];
387 err_127 [ label=""];
388 err_128 [ label=""];
389 err_129 [ label=""];
390 err_130 [ label=""];
391 err_131 [ label=""];
392 err_132 [ label=""];
393 err_133 [ label=""];
394 err_134 [ label=""];
395 err_135 [ label=""];
396 err_136 [ label=""];
397 err_137 [ label=""];
398 err_138 [ label=""];
399 err_139 [ label=""];
400 err_140 [ label=""];
401 err_141 [ label=""];
402 err_142 [ label=""];
403 err_143 [ label=""];
404 err_144 [ label=""];
405 err_145 [ label=""];
406 err_146 [ label=""];
407 err_147 [ label=""];
408 err_148 [ label=""];
409 err_149 [ label=""];
410 err_150 [ label=""];
411 err_151 [ label=""];
412 err_152 [ label=""];
413 err_153 [ label=""];
414 err_154 [ label=""];
415 err_155 [ label=""];
416 err_156 [ label=""];
417 err_157 [ label=""];
418 err_158 [ label=""];
419 err_159 [ label=""];
420 err_160 [ label=""];
421 err_161 [ label=""];
422 err_162 [ label=""];
423 err_163 [ label=""];
424 err_164 [ label=""];
425 err_165 [ label=""];
426 err_166 [ label=""];
427 err_167 [ label=""];
428 err_168 [ label=""];
429 err_169 [ label=""];
430 err_170 [ label=""];
431 err_171 [ label=""];
432 err_172 [ label=""];
433 err_173 [ label=""];
434 err_174 [ label=""];
435 err_175 [ label=""];
436 err_176 [ label=""];
437 err_177 [ label=""];
438 err_178 [ label=""];
439 err_179 [ label=""];
440 err_180 [ label=""];
441 err_181 [ label=""];
442 err_182 [ label=""];
443 err_183 [ label=""];
444 err_184 [ label=""];
445 err_185 [ label=""];
446 err_186 [ label=""];
447 err_187 [ label=""];
448 err_188 [ label=""];
449 err_189 [ label=""];
450 err_190 [ label=""];
451 err_191 [ label=""];
452 err_192 [ label=""];
453 err_193 [ label=""];
454 err_194 [ label=""];
455 err_195 [ label=""];
456 err_196 [ label=""];
457 err_197 [ label=""];
458 err_198 [ label=""];
459 err_199 [ label=""];
460 err_200 [ label=""];
461 err_201 [ label=""];
462 err_202 [ label=""];
463 err_203 [ label=""];
464 err_204 [ label=""];
465 err_205 [ label=""];
466 err_206 [ label=""];
467 err_207 [ label=""];
468 err_208 [ label=""];
469 err_209 [ label=""];
470 err_210 [ label=""];
471 err_211 [ label=""];
472 err_212 [ label=""];
473 err_213 [ label=""];
474 err_214 [ label=""];
475 err_215 [ label=""];
476 err_216 [ label=""];
477 err_217 [ label=""];
478 err_218 [ label=""];
479 err_219 [ label=""];
480 err_220 [ label=""];
481 err_221 [ label=""];
482 err_222 [ label=""];
483 err_223 [ label=""];
484 err_224 [ label=""];
485 err_225 [ label=""];
486 err_226 [ label=""];
487 err_227 [ label=""];
488 err_228 [ label=""];
489 err_229 [ label=""];
490 err_230 [ label=""];
491 err_231 [ label=""];
492 err_232 [ label=""];
493 err_233 [ label=""];
494 err_234 [ label=""];
495 err_235 [ label=""];
496 err_236 [ label=""];
497 err_237 [ label=""];
498 err_238 [ label=""];
499 err_239 [ label=""];
500 err_240 [ label=""];
501 err_241 [ label=""];
502 err_242 [ label=""];
503 err_243 [ label=""];
504 err_244 [ label=""];
505 err_245 [ label=""];
506 err_246 [ label=""];
507 err_247 [ label=""];
508 err_248 [ label=""];
509 err_249 [ label=""];
510 err_250 [ label=""];
511 err_251 [ label=""];
512 err_252 [ label=""];
513 err_253 [ label=""];
514 err_254 [ label=""];
515 err_255 [ label=""];
516 err_256 [ label=""];
517 node [ fixedsize = true, height = 0.65, shape = doublecircle ];
518 2;
519 3;
520 4;
521 5;
522 6;
523 7;
524 8;
525 9;
526 10;
527 11;
528 12;
529 13;
530 14;
531 15;
532 16;
533 17;
534 18;
535 19;
536 20;
537 21;
538 22;
539 23;
540 24;
541 25;
542 26;
543 27;
544 28;
545 29;
546 30;
547 31;
548 32;
549 33;
550 34;
551 35;
552 36;
553 37;
554 38;
555 39;
556 40;
557 41;
558 42;
559 43;
560 44;
561 45;
562 46;
563 47;
564 48;
565 49;
566 50;
567 51;
568 52;
569 53;
570 54;
571 55;
572 56;
573 57;
574 58;
575 59;
576 60;
577 61;
578 62;
579 63;
580 64;
581 65;
582 66;
583 67;
584 68;
585 69;
586 70;
587 71;
588 72;
589 73;
590 74;
591 75;
592 76;
593 77;
594 78;
595 79;
596 80;
597 81;
598 82;
599 83;
600 84;
601 85;
602 86;
603 87;
604 88;
605 89;
606 90;
607 91;
608 92;
609 93;
610 94;
611 95;
612 96;
613 97;
614 98;
615 99;
616 100;
617 101;
618 102;
619 103;
620 104;
621 105;
622 106;
623 107;
624 108;
625 109;
626 110;
627 111;
628 112;
629 113;
630 114;
631 115;
632 116;
633 117;
634 118;
635 119;
636 120;
637 121;
638 122;
639 123;
640 124;
641 125;
642 126;
643 127;
644 128;
645 129;
646 130;
647 131;
648 132;
649 133;
650 134;
651 135;
652 136;
653 137;
654 138;
655 139;
656 140;
657 141;
658 142;
659 143;
660 144;
661 145;
662 146;
663 147;
664 148;
665 149;
666 150;
667 151;
668 152;
669 153;
670 154;
671 155;
672 156;
673 157;
674 158;
675 159;
676 160;
677 161;
678 162;
679 163;
680 164;
681 165;
682 166;
683 167;
684 168;
685 169;
686 170;
687 171;
688 172;
689 173;
690 174;
691 175;
692 176;
693 177;
694 178;
695 179;
696 180;
697 181;
698 182;
699 183;
700 184;
701 185;
702 186;
703 187;
704 188;
705 189;
706 190;
707 191;
708 192;
709 193;
710 194;
711 195;
712 196;
713 197;
714 198;
715 199;
716 200;
717 201;
718 202;
719 203;
720 204;
721 205;
722 206;
723 207;
724 208;
725 209;
726 210;
727 211;
728 212;
729 213;
730 214;
731 215;
732 216;
733 217;
734 218;
735 219;
736 220;
737 221;
738 222;
739 223;
740 224;
741 225;
742 226;
743 227;
744 228;
745 229;
746 230;
747 231;
748 232;
749 233;
750 234;
751 235;
752 236;
753 237;
754 238;
755 239;
756 240;
757 241;
758 242;
759 243;
760 244;
761 245;
762 246;
763 247;
764 248;
765 249;
766 250;
767 251;
768 252;
769 253;
770 254;
771 255;
772 256;
773 node [ shape = circle ];
774 1 -> 2 [ label = "'!'..'~' / mark" ];
775 1 -> err_1 [ label = "DEF / err_hostname" ];
776 2 -> 3 [ label = "'!'..'~'" ];
777 2 -> err_2 [ label = "DEF / err_hostname" ];
778 3 -> 4 [ label = "'!'..'~'" ];
779 3 -> err_3 [ label = "DEF / err_hostname" ];
780 4 -> 5 [ label = "'!'..'~'" ];
781 4 -> err_4 [ label = "DEF / err_hostname" ];
782 5 -> 6 [ label = "'!'..'~'" ];
783 5 -> err_5 [ label = "DEF / err_hostname" ];
784 6 -> 7 [ label = "'!'..'~'" ];
785 6 -> err_6 [ label = "DEF / err_hostname" ];
786 7 -> 8 [ label = "'!'..'~'" ];
787 7 -> err_7 [ label = "DEF / err_hostname" ];
788 8 -> 9 [ label = "'!'..'~'" ];
789 8 -> err_8 [ label = "DEF / err_hostname" ];
790 9 -> 10 [ label = "'!'..'~'" ];
791 9 -> err_9 [ label = "DEF / err_hostname" ];
792 10 -> 11 [ label = "'!'..'~'" ];
793 10 -> err_10 [ label = "DEF / err_hostname" ];
794 11 -> 12 [ label = "'!'..'~'" ];
795 11 -> err_11 [ label = "DEF / err_hostname" ];
796 12 -> 13 [ label = "'!'..'~'" ];
797 12 -> err_12 [ label = "DEF / err_hostname" ];
798 13 -> 14 [ label = "'!'..'~'" ];
799 13 -> err_13 [ label = "DEF / err_hostname" ];
800 14 -> 15 [ label = "'!'..'~'" ];
801 14 -> err_14 [ label = "DEF / err_hostname" ];
802 15 -> 16 [ label = "'!'..'~'" ];
803 15 -> err_15 [ label = "DEF / err_hostname" ];
804 16 -> 17 [ label = "'!'..'~'" ];
805 16 -> err_16 [ label = "DEF / err_hostname" ];
806 17 -> 18 [ label = "'!'..'~'" ];
807 17 -> err_17 [ label = "DEF / err_hostname" ];
808 18 -> 19 [ label = "'!'..'~'" ];
809 18 -> err_18 [ label = "DEF / err_hostname" ];
810 19 -> 20 [ label = "'!'..'~'" ];
811 19 -> err_19 [ label = "DEF / err_hostname" ];
812 20 -> 21 [ label = "'!'..'~'" ];
813 20 -> err_20 [ label = "DEF / err_hostname" ];
814 21 -> 22 [ label = "'!'..'~'" ];
815 21 -> err_21 [ label = "DEF / err_hostname" ];
816 22 -> 23 [ label = "'!'..'~'" ];
817 22 -> err_22 [ label = "DEF / err_hostname" ];
818 23 -> 24 [ label = "'!'..'~'" ];
819 23 -> err_23 [ label = "DEF / err_hostname" ];
820 24 -> 25 [ label = "'!'..'~'" ];
821 24 -> err_24 [ label = "DEF / err_hostname" ];
822 25 -> 26 [ label = "'!'..'~'" ];
823 25 -> err_25 [ label = "DEF / err_hostname" ];
824 26 -> 27 [ label = "'!'..'~'" ];
825 26 -> err_26 [ label = "DEF / err_hostname" ];
826 27 -> 28 [ label = "'!'..'~'" ];
827 27 -> err_27 [ label = "DEF / err_hostname" ];
828 28 -> 29 [ label = "'!'..'~'" ];
829 28 -> err_28 [ label = "DEF / err_hostname" ];
830 29 -> 30 [ label = "'!'..'~'" ];
831 29 -> err_29 [ label = "DEF / err_hostname" ];
832 30 -> 31 [ label = "'!'..'~'" ];
833 30 -> err_30 [ label = "DEF / err_hostname" ];
834 31 -> 32 [ label = "'!'..'~'" ];
835 31 -> err_31 [ label = "DEF / err_hostname" ];
836 32 -> 33 [ label = "'!'..'~'" ];
837 32 -> err_32 [ label = "DEF / err_hostname" ];
838 33 -> 34 [ label = "'!'..'~'" ];
839 33 -> err_33 [ label = "DEF / err_hostname" ];
840 34 -> 35 [ label = "'!'..'~'" ];
841 34 -> err_34 [ label = "DEF / err_hostname" ];
842 35 -> 36 [ label = "'!'..'~'" ];
843 35 -> err_35 [ label = "DEF / err_hostname" ];
844 36 -> 37 [ label = "'!'..'~'" ];
845 36 -> err_36 [ label = "DEF / err_hostname" ];
846 37 -> 38 [ label = "'!'..'~'" ];
847 37 -> err_37 [ label = "DEF / err_hostname" ];
848 38 -> 39 [ label = "'!'..'~'" ];
849 38 -> err_38 [ label = "DEF / err_hostname" ];
850 39 -> 40 [ label = "'!'..'~'" ];
851 39 -> err_39 [ label = "DEF / err_hostname" ];
852 40 -> 41 [ label = "'!'..'~'" ];
853 40 -> err_40 [ label = "DEF / err_hostname" ];
854 41 -> 42 [ label = "'!'..'~'" ];
855 41 -> err_41 [ label = "DEF / err_hostname" ];
856 42 -> 43 [ label = "'!'..'~'" ];
857 42 -> err_42 [ label = "DEF / err_hostname" ];
858 43 -> 44 [ label = "'!'..'~'" ];
859 43 -> err_43 [ label = "DEF / err_hostname" ];
860 44 -> 45 [ label = "'!'..'~'" ];
861 44 -> err_44 [ label = "DEF / err_hostname" ];
862 45 -> 46 [ label = "'!'..'~'" ];
863 45 -> err_45 [ label = "DEF / err_hostname" ];
864 46 -> 47 [ label = "'!'..'~'" ];
865 46 -> err_46 [ label = "DEF / err_hostname" ];
866 47 -> 48 [ label = "'!'..'~'" ];
867 47 -> err_47 [ label = "DEF / err_hostname" ];
868 48 -> 49 [ label = "'!'..'~'" ];
869 48 -> err_48 [ label = "DEF / err_hostname" ];
870 49 -> 50 [ label = "'!'..'~'" ];
871 49 -> err_49 [ label = "DEF / err_hostname" ];
872 50 -> 51 [ label = "'!'..'~'" ];
873 50 -> err_50 [ label = "DEF / err_hostname" ];
874 51 -> 52 [ label = "'!'..'~'" ];
875 51 -> err_51 [ label = "DEF / err_hostname" ];
876 52 -> 53 [ label = "'!'..'~'" ];
877 52 -> err_52 [ label = "DEF / err_hostname" ];
878 53 -> 54 [ label = "'!'..'~'" ];
879 53 -> err_53 [ label = "DEF / err_hostname" ];
880 54 -> 55 [ label = "'!'..'~'" ];
881 54 -> err_54 [ label = "DEF / err_hostname" ];
882 55 -> 56 [ label = "'!'..'~'" ];
883 55 -> err_55 [ label = "DEF / err_hostname" ];
884 56 -> 57 [ label = "'!'..'~'" ];
885 56 -> err_56 [ label = "DEF / err_hostname" ];
886 57 -> 58 [ label = "'!'..'~'" ];
887 57 -> err_57 [ label = "DEF / err_hostname" ];
888 58 -> 59 [ label = "'!'..'~'" ];
889 58 -> err_58 [ label = "DEF / err_hostname" ];
890 59 -> 60 [ label = "'!'..'~'" ];
891 59 -> err_59 [ label = "DEF / err_hostname" ];
892 60 -> 61 [ label = "'!'..'~'" ];
893 60 -> err_60 [ label = "DEF / err_hostname" ];
894 61 -> 62 [ label = "'!'..'~'" ];
895 61 -> err_61 [ label = "DEF / err_hostname" ];
896 62 -> 63 [ label = "'!'..'~'" ];
897 62 -> err_62 [ label = "DEF / err_hostname" ];
898 63 -> 64 [ label = "'!'..'~'" ];
899 63 -> err_63 [ label = "DEF / err_hostname" ];
900 64 -> 65 [ label = "'!'..'~'" ];
901 64 -> err_64 [ label = "DEF / err_hostname" ];
902 65 -> 66 [ label = "'!'..'~'" ];
903 65 -> err_65 [ label = "DEF / err_hostname" ];
904 66 -> 67 [ label = "'!'..'~'" ];
905 66 -> err_66 [ label = "DEF / err_hostname" ];
906 67 -> 68 [ label = "'!'..'~'" ];
907 67 -> err_67 [ label = "DEF / err_hostname" ];
908 68 -> 69 [ label = "'!'..'~'" ];
909 68 -> err_68 [ label = "DEF / err_hostname" ];
910 69 -> 70 [ label = "'!'..'~'" ];
911 69 -> err_69 [ label = "DEF / err_hostname" ];
912 70 -> 71 [ label = "'!'..'~'" ];
913 70 -> err_70 [ label = "DEF / err_hostname" ];
914 71 -> 72 [ label = "'!'..'~'" ];
915 71 -> err_71 [ label = "DEF / err_hostname" ];
916 72 -> 73 [ label = "'!'..'~'" ];
917 72 -> err_72 [ label = "DEF / err_hostname" ];
918 73 -> 74 [ label = "'!'..'~'" ];
919 73 -> err_73 [ label = "DEF / err_hostname" ];
920 74 -> 75 [ label = "'!'..'~'" ];
921 74 -> err_74 [ label = "DEF / err_hostname" ];
922 75 -> 76 [ label = "'!'..'~'" ];
923 75 -> err_75 [ label = "DEF / err_hostname" ];
924 76 -> 77 [ label = "'!'..'~'" ];
925 76 -> err_76 [ label = "DEF / err_hostname" ];
926 77 -> 78 [ label = "'!'..'~'" ];
927 77 -> err_77 [ label = "DEF / err_hostname" ];
928 78 -> 79 [ label = "'!'..'~'" ];
929 78 -> err_78 [ label = "DEF / err_hostname" ];
930 79 -> 80 [ label = "'!'..'~'" ];
931 79 -> err_79 [ label = "DEF / err_hostname" ];
932 80 -> 81 [ label = "'!'..'~'" ];
933 80 -> err_80 [ label = "DEF / err_hostname" ];
934 81 -> 82 [ label = "'!'..'~'" ];
935 81 -> err_81 [ label = "DEF / err_hostname" ];
936 82 -> 83 [ label = "'!'..'~'" ];
937 82 -> err_82 [ label = "DEF / err_hostname" ];
938 83 -> 84 [ label = "'!'..'~'" ];
939 83 -> err_83 [ label = "DEF / err_hostname" ];
940 84 -> 85 [ label = "'!'..'~'" ];
941 84 -> err_84 [ label = "DEF / err_hostname" ];
942 85 -> 86 [ label = "'!'..'~'" ];
943 85 -> err_85 [ label = "DEF / err_hostname" ];
944 86 -> 87 [ label = "'!'..'~'" ];
945 86 -> err_86 [ label = "DEF / err_hostname" ];
946 87 -> 88 [ label = "'!'..'~'" ];
947 87 -> err_87 [ label = "DEF / err_hostname" ];
948 88 -> 89 [ label = "'!'..'~'" ];
949 88 -> err_88 [ label = "DEF / err_hostname" ];
950 89 -> 90 [ label = "'!'..'~'" ];
951 89 -> err_89 [ label = "DEF / err_hostname" ];
952 90 -> 91 [ label = "'!'..'~'" ];
953 90 -> err_90 [ label = "DEF / err_hostname" ];
954 91 -> 92 [ label = "'!'..'~'" ];
955 91 -> err_91 [ label = "DEF / err_hostname" ];
956 92 -> 93 [ label = "'!'..'~'" ];
957 92 -> err_92 [ label = "DEF / err_hostname" ];
958 93 -> 94 [ label = "'!'..'~'" ];
959 93 -> err_93 [ label = "DEF / err_hostname" ];
960 94 -> 95 [ label = "'!'..'~'" ];
961 94 -> err_94 [ label = "DEF / err_hostname" ];
962 95 -> 96 [ label = "'!'..'~'" ];
963 95 -> err_95 [ label = "DEF / err_hostname" ];
964 96 -> 97 [ label = "'!'..'~'" ];
965 96 -> err_96 [ label = "DEF / err_hostname" ];
966 97 -> 98 [ label = "'!'..'~'" ];
967 97 -> err_97 [ label = "DEF / err_hostname" ];
968 98 -> 99 [ label = "'!'..'~'" ];
969 98 -> err_98 [ label = "DEF / err_hostname" ];
970 99 -> 100 [ label = "'!'..'~'" ];
971 99 -> err_99 [ label = "DEF / err_hostname" ];
972 100 -> 101 [ label = "'!'..'~'" ];
973 100 -> err_100 [ label = "DEF / err_hostname" ];
974 101 -> 102 [ label = "'!'..'~'" ];
975 101 -> err_101 [ label = "DEF / err_hostname" ];
976 102 -> 103 [ label = "'!'..'~'" ];
977 102 -> err_102 [ label = "DEF / err_hostname" ];
978 103 -> 104 [ label = "'!'..'~'" ];
979 103 -> err_103 [ label = "DEF / err_hostname" ];
980 104 -> 105 [ label = "'!'..'~'" ];
981 104 -> err_104 [ label = "DEF / err_hostname" ];
982 105 -> 106 [ label = "'!'..'~'" ];
983 105 -> err_105 [ label = "DEF / err_hostname" ];
984 106 -> 107 [ label = "'!'..'~'" ];
985 106 -> err_106 [ label = "DEF / err_hostname" ];
986 107 -> 108 [ label = "'!'..'~'" ];
987 107 -> err_107 [ label = "DEF / err_hostname" ];
988 108 -> 109 [ label = "'!'..'~'" ];
989 108 -> err_108 [ label = "DEF / err_hostname" ];
990 109 -> 110 [ label = "'!'..'~'" ];
991 109 -> err_109 [ label = "DEF / err_hostname" ];
992 110 -> 111 [ label = "'!'..'~'" ];
993 110 -> err_110 [ label = "DEF / err_hostname" ];
994 111 -> 112 [ label = "'!'..'~'" ];
995 111 -> err_111 [ label = "DEF / err_hostname" ];
996 112 -> 113 [ label = "'!'..'~'" ];
997 112 -> err_112 [ label = "DEF / err_hostname" ];
998 113 -> 114 [ label = "'!'..'~'" ];
999 113 -> err_113 [ label = "DEF / err_hostname" ];
1000 114 -> 115 [ label = "'!'..'~'" ];
1001 114 -> err_114 [ label = "DEF / err_hostname" ];
1002 115 -> 116 [ label = "'!'..'~'" ];
1003 115 -> err_115 [ label = "DEF / err_hostname" ];
1004 116 -> 117 [ label = "'!'..'~'" ];
1005 116 -> err_116 [ label = "DEF / err_hostname" ];
1006 117 -> 118 [ label = "'!'..'~'" ];
1007 117 -> err_117 [ label = "DEF / err_hostname" ];
1008 118 -> 119 [ label = "'!'..'~'" ];
1009 118 -> err_118 [ label = "DEF / err_hostname" ];
1010 119 -> 120 [ label = "'!'..'~'" ];
1011 119 -> err_119 [ label = "DEF / err_hostname" ];
1012 120 -> 121 [ label = "'!'..'~'" ];
1013 120 -> err_120 [ label = "DEF / err_hostname" ];
1014 121 -> 122 [ label = "'!'..'~'" ];
1015 121 -> err_121 [ label = "DEF / err_hostname" ];
1016 122 -> 123 [ label = "'!'..'~'" ];
1017 122 -> err_122 [ label = "DEF / err_hostname" ];
1018 123 -> 124 [ label = "'!'..'~'" ];
1019 123 -> err_123 [ label = "DEF / err_hostname" ];
1020 124 -> 125 [ label = "'!'..'~'" ];
1021 124 -> err_124 [ label = "DEF / err_hostname" ];
1022 125 -> 126 [ label = "'!'..'~'" ];
1023 125 -> err_125 [ label = "DEF / err_hostname" ];
1024 126 -> 127 [ label = "'!'..'~'" ];
1025 126 -> err_126 [ label = "DEF / err_hostname" ];
1026 127 -> 128 [ label = "'!'..'~'" ];
1027 127 -> err_127 [ label = "DEF / err_hostname" ];
1028 128 -> 129 [ label = "'!'..'~'" ];
1029 128 -> err_128 [ label = "DEF / err_hostname" ];
1030 129 -> 130 [ label = "'!'..'~'" ];
1031 129 -> err_129 [ label = "DEF / err_hostname" ];
1032 130 -> 131 [ label = "'!'..'~'" ];
1033 130 -> err_130 [ label = "DEF / err_hostname" ];
1034 131 -> 132 [ label = "'!'..'~'" ];
1035 131 -> err_131 [ label = "DEF / err_hostname" ];
1036 132 -> 133 [ label = "'!'..'~'" ];
1037 132 -> err_132 [ label = "DEF / err_hostname" ];
1038 133 -> 134 [ label = "'!'..'~'" ];
1039 133 -> err_133 [ label = "DEF / err_hostname" ];
1040 134 -> 135 [ label = "'!'..'~'" ];
1041 134 -> err_134 [ label = "DEF / err_hostname" ];
1042 135 -> 136 [ label = "'!'..'~'" ];
1043 135 -> err_135 [ label = "DEF / err_hostname" ];
1044 136 -> 137 [ label = "'!'..'~'" ];
1045 136 -> err_136 [ label = "DEF / err_hostname" ];
1046 137 -> 138 [ label = "'!'..'~'" ];
1047 137 -> err_137 [ label = "DEF / err_hostname" ];
1048 138 -> 139 [ label = "'!'..'~'" ];
1049 138 -> err_138 [ label = "DEF / err_hostname" ];
1050 139 -> 140 [ label = "'!'..'~'" ];
1051 139 -> err_139 [ label = "DEF / err_hostname" ];
1052 140 -> 141 [ label = "'!'..'~'" ];
1053 140 -> err_140 [ label = "DEF / err_hostname" ];
1054 141 -> 142 [ label = "'!'..'~'" ];
1055 141 -> err_141 [ label = "DEF / err_hostname" ];
1056 142 -> 143 [ label = "'!'..'~'" ];
1057 142 -> err_142 [ label = "DEF / err_hostname" ];
1058 143 -> 144 [ label = "'!'..'~'" ];
1059 143 -> err_143 [ label = "DEF / err_hostname" ];
1060 144 -> 145 [ label = "'!'..'~'" ];
1061 144 -> err_144 [ label = "DEF / err_hostname" ];
1062 145 -> 146 [ label = "'!'..'~'" ];
1063 145 -> err_145 [ label = "DEF / err_hostname" ];
1064 146 -> 147 [ label = "'!'..'~'" ];
1065 146 -> err_146 [ label = "DEF / err_hostname" ];
1066 147 -> 148 [ label = "'!'..'~'" ];
1067 147 -> err_147 [ label = "DEF / err_hostname" ];
1068 148 -> 149 [ label = "'!'..'~'" ];
1069 148 -> err_148 [ label = "DEF / err_hostname" ];
1070 149 -> 150 [ label = "'!'..'~'" ];
1071 149 -> err_149 [ label = "DEF / err_hostname" ];
1072 150 -> 151 [ label = "'!'..'~'" ];
1073 150 -> err_150 [ label = "DEF / err_hostname" ];
1074 151 -> 152 [ label = "'!'..'~'" ];
1075 151 -> err_151 [ label = "DEF / err_hostname" ];
1076 152 -> 153 [ label = "'!'..'~'" ];
1077 152 -> err_152 [ label = "DEF / err_hostname" ];
1078 153 -> 154 [ label = "'!'..'~'" ];
1079 153 -> err_153 [ label = "DEF / err_hostname" ];
1080 154 -> 155 [ label = "'!'..'~'" ];
1081 154 -> err_154 [ label = "DEF / err_hostname" ];
1082 155 -> 156 [ label = "'!'..'~'" ];
1083 155 -> err_155 [ label = "DEF / err_hostname" ];
1084 156 -> 157 [ label = "'!'..'~'" ];
1085 156 -> err_156 [ label = "DEF / err_hostname" ];
1086 157 -> 158 [ label = "'!'..'~'" ];
1087 157 -> err_157 [ label = "DEF / err_hostname" ];
1088 158 -> 159 [ label = "'!'..'~'" ];
1089 158 -> err_158 [ label = "DEF / err_hostname" ];
1090 159 -> 160 [ label = "'!'..'~'" ];
1091 159 -> err_159 [ label = "DEF / err_hostname" ];
1092 160 -> 161 [ label = "'!'..'~'" ];
1093 160 -> err_160 [ label = "DEF / err_hostname" ];
1094 161 -> 162 [ label = "'!'..'~'" ];
1095 161 -> err_161 [ label = "DEF / err_hostname" ];
1096 162 -> 163 [ label = "'!'..'~'" ];
1097 162 -> err_162 [ label = "DEF / err_hostname" ];
1098 163 -> 164 [ label = "'!'..'~'" ];
1099 163 -> err_163 [ label = "DEF / err_hostname" ];
1100 164 -> 165 [ label = "'!'..'~'" ];
1101 164 -> err_164 [ label = "DEF / err_hostname" ];
1102 165 -> 166 [ label = "'!'..'~'" ];
1103 165 -> err_165 [ label = "DEF / err_hostname" ];
1104 166 -> 167 [ label = "'!'..'~'" ];
1105 166 -> err_166 [ label = "DEF / err_hostname" ];
1106 167 -> 168 [ label = "'!'..'~'" ];
1107 167 -> err_167 [ label = "DEF / err_hostname" ];
1108 168 -> 169 [ label = "'!'..'~'" ];
1109 168 -> err_168 [ label = "DEF / err_hostname" ];
1110 169 -> 170 [ label = "'!'..'~'" ];
1111 169 -> err_169 [ label = "DEF / err_hostname" ];
1112 170 -> 171 [ label = "'!'..'~'" ];
1113 170 -> err_170 [ label = "DEF / err_hostname" ];
1114 171 -> 172 [ label = "'!'..'~'" ];
1115 171 -> err_171 [ label = "DEF / err_hostname" ];
1116 172 -> 173 [ label = "'!'..'~'" ];
1117 172 -> err_172 [ label = "DEF / err_hostname" ];
1118 173 -> 174 [ label = "'!'..'~'" ];
1119 173 -> err_173 [ label = "DEF / err_hostname" ];
1120 174 -> 175 [ label = "'!'..'~'" ];
1121 174 -> err_174 [ label = "DEF / err_hostname" ];
1122 175 -> 176 [ label = "'!'..'~'" ];
1123 175 -> err_175 [ label = "DEF / err_hostname" ];
1124 176 -> 177 [ label = "'!'..'~'" ];
1125 176 -> err_176 [ label = "DEF / err_hostname" ];
1126 177 -> 178 [ label = "'!'..'~'" ];
1127 177 -> err_177 [ label = "DEF / err_hostname" ];
1128 178 -> 179 [ label = "'!'..'~'" ];
1129 178 -> err_178 [ label = "DEF / err_hostname" ];
1130 179 -> 180 [ label = "'!'..'~'" ];
1131 179 -> err_179 [ label = "DEF / err_hostname" ];
1132 180 -> 181 [ label = "'!'..'~'" ];
1133 180 -> err_180 [ label = "DEF / err_hostname" ];
1134 181 -> 182 [ label = "'!'..'~'" ];
1135 181 -> err_181 [ label = "DEF / err_hostname" ];
1136 182 -> 183 [ label = "'!'..'~'" ];
1137 182 -> err_182 [ label = "DEF / err_hostname" ];
1138 183 -> 184 [ label = "'!'..'~'" ];
1139 183 -> err_183 [ label = "DEF / err_hostname" ];
1140 184 -> 185 [ label = "'!'..'~'" ];
1141 184 -> err_184 [ label = "DEF / err_hostname" ];
1142 185 -> 186 [ label = "'!'..'~'" ];
1143 185 -> err_185 [ label = "DEF / err_hostname" ];
1144 186 -> 187 [ label = "'!'..'~'" ];
1145 186 -> err_186 [ label = "DEF / err_hostname" ];
1146 187 -> 188 [ label = "'!'..'~'" ];
1147 187 -> err_187 [ label = "DEF / err_hostname" ];
1148 188 -> 189 [ label = "'!'..'~'" ];
1149 188 -> err_188 [ label = "DEF / err_hostname" ];
1150 189 -> 190 [ label = "'!'..'~'" ];
1151 189 -> err_189 [ label = "DEF / err_hostname" ];
1152 190 -> 191 [ label = "'!'..'~'" ];
1153 190 -> err_190 [ label = "DEF / err_hostname" ];
1154 191 -> 192 [ label = "'!'..'~'" ];
1155 191 -> err_191 [ label = "DEF / err_hostname" ];
1156 192 -> 193 [ label = "'!'..'~'" ];
1157 192 -> err_192 [ label = "DEF / err_hostname" ];
1158 193 -> 194 [ label = "'!'..'~'" ];
1159 193 -> err_193 [ label = "DEF / err_hostname" ];
1160 194 -> 195 [ label = "'!'..'~'" ];
1161 194 -> err_194 [ label = "DEF / err_hostname" ];
1162 195 -> 196 [ label = "'!'..'~'" ];
1163 195 -> err_195 [ label = "DEF / err_hostname" ];
1164 196 -> 197 [ label = "'!'..'~'" ];
1165 196 -> err_196 [ label = "DEF / err_hostname" ];
1166 197 -> 198 [ label = "'!'..'~'" ];
1167 197 -> err_197 [ label = "DEF / err_hostname" ];
1168 198 -> 199 [ label = "'!'..'~'" ];
1169 198 -> err_198 [ label = "DEF / err_hostname" ];
1170 199 -> 200 [ label = "'!'..'~'" ];
1171 199 -> err_199 [ label = "DEF / err_hostname" ];
1172 200 -> 201 [ label = "'!'..'~'" ];
1173 200 -> err_200 [ label = "DEF / err_hostname" ];
1174 201 -> 202 [ label = "'!'..'~'" ];
1175 201 -> err_201 [ label = "DEF / err_hostname" ];
1176 202 -> 203 [ label = "'!'..'~'" ];
1177 202 -> err_202 [ label = "DEF / err_hostname" ];
1178 203 -> 204 [ label = "'!'..'~'" ];
1179 203 -> err_203 [ label = "DEF / err_hostname" ];
1180 204 -> 205 [ label = "'!'..'~'" ];
1181 204 -> err_204 [ label = "DEF / err_hostname" ];
1182 205 -> 206 [ label = "'!'..'~'" ];
1183 205 -> err_205 [ label = "DEF / err_hostname" ];
1184 206 -> 207 [ label = "'!'..'~'" ];
1185 206 -> err_206 [ label = "DEF / err_hostname" ];
1186 207 -> 208 [ label = "'!'..'~'" ];
1187 207 -> err_207 [ label = "DEF / err_hostname" ];
1188 208 -> 209 [ label = "'!'..'~'" ];
1189 208 -> err_208 [ label = "DEF / err_hostname" ];
1190 209 -> 210 [ label = "'!'..'~'" ];
1191 209 -> err_209 [ label = "DEF / err_hostname" ];
1192 210 -> 211 [ label = "'!'..'~'" ];
1193 210 -> err_210 [ label = "DEF / err_hostname" ];
1194 211 -> 212 [ label = "'!'..'~'" ];
1195 211 -> err_211 [ label = "DEF / err_hostname" ];
1196 212 -> 213 [ label = "'!'..'~'" ];
1197 212 -> err_212 [ label = "DEF / err_hostname" ];
1198 213 -> 214 [ label = "'!'..'~'" ];
1199 213 -> err_213 [ label = "DEF / err_hostname" ];
1200 214 -> 215 [ label = "'!'..'~'" ];
1201 214 -> err_214 [ label = "DEF / err_hostname" ];
1202 215 -> 216 [ label = "'!'..'~'" ];
1203 215 -> err_215 [ label = "DEF / err_hostname" ];
1204 216 -> 217 [ label = "'!'..'~'" ];
1205 216 -> err_216 [ label = "DEF / err_hostname" ];
1206 217 -> 218 [ label = "'!'..'~'" ];
1207 217 -> err_217 [ label = "DEF / err_hostname" ];
1208 218 -> 219 [ label = "'!'..'~'" ];
1209 218 -> err_218 [ label = "DEF / err_hostname" ];
1210 219 -> 220 [ label = "'!'..'~'" ];
1211 219 -> err_219 [ label = "DEF / err_hostname" ];
1212 220 -> 221 [ label = "'!'..'~'" ];
1213 220 -> err_220 [ label = "DEF / err_hostname" ];
1214 221 -> 222 [ label = "'!'..'~'" ];
1215 221 -> err_221 [ label = "DEF / err_hostname" ];
1216 222 -> 223 [ label = "'!'..'~'" ];
1217 222 -> err_222 [ label = "DEF / err_hostname" ];
1218 223 -> 224 [ label = "'!'..'~'" ];
1219 223 -> err_223 [ label = "DEF / err_hostname" ];
1220 224 -> 225 [ label = "'!'..'~'" ];
1221 224 -> err_224 [ label = "DEF / err_hostname" ];
1222 225 -> 226 [ label = "'!'..'~'" ];
1223 225 -> err_225 [ label = "DEF / err_hostname" ];
1224 226 -> 227 [ label = "'!'..'~'" ];
1225 226 -> err_226 [ label = "DEF / err_hostname" ];
1226 227 -> 228 [ label = "'!'..'~'" ];
1227 227 -> err_227 [ label = "DEF / err_hostname" ];
1228 228 -> 229 [ label = "'!'..'~'" ];
1229 228 -> err_228 [ label = "DEF / err_hostname" ];
1230 229 -> 230 [ label = "'!'..'~'" ];
1231 229 -> err_229 [ label = "DEF / err_hostname" ];
1232 230 -> 231 [ label = "'!'..'~'" ];
1233 230 -> err_230 [ label = "DEF / err_hostname" ];
1234 231 -> 232 [ label = "'!'..'~'" ];
1235 231 -> err_231 [ label = "DEF / err_hostname" ];
1236 232 -> 233 [ label = "'!'..'~'" ];
1237 232 -> err_232 [ label = "DEF / err_hostname" ];
1238 233 -> 234 [ label = "'!'..'~'" ];
1239 233 -> err_233 [ label = "DEF / err_hostname" ];
1240 234 -> 235 [ label = "'!'..'~'" ];
1241 234 -> err_234 [ label = "DEF / err_hostname" ];
1242 235 -> 236 [ label = "'!'..'~'" ];
1243 235 -> err_235 [ label = "DEF / err_hostname" ];
1244 236 -> 237 [ label = "'!'..'~'" ];
1245 236 -> err_236 [ label = "DEF / err_hostname" ];
1246 237 -> 238 [ label = "'!'..'~'" ];
1247 237 -> err_237 [ label = "DEF / err_hostname" ];
1248 238 -> 239 [ label = "'!'..'~'" ];
1249 238 -> err_238 [ label = "DEF / err_hostname" ];
1250 239 -> 240 [ label = "'!'..'~'" ];
1251 239 -> err_239 [ label = "DEF / err_hostname" ];
1252 240 -> 241 [ label = "'!'..'~'" ];
1253 240 -> err_240 [ label = "DEF / err_hostname" ];
1254 241 -> 242 [ label = "'!'..'~'" ];
1255 241 -> err_241 [ label = "DEF / err_hostname" ];
1256 242 -> 243 [ label = "'!'..'~'" ];
1257 242 -> err_242 [ label = "DEF / err_hostname" ];
1258 243 -> 244 [ label = "'!'..'~'" ];
1259 243 -> err_243 [ label = "DEF / err_hostname" ];
1260 244 -> 245 [ label = "'!'..'~'" ];
1261 244 -> err_244 [ label = "DEF / err_hostname" ];
1262 245 -> 246 [ label = "'!'..'~'" ];
1263 245 -> err_245 [ label = "DEF / err_hostname" ];
1264 246 -> 247 [ label = "'!'..'~'" ];
1265 246 -> err_246 [ label = "DEF / err_hostname" ];
1266 247 -> 248 [ label = "'!'..'~'" ];
1267 247 -> err_247 [ label = "DEF / err_hostname" ];
1268 248 -> 249 [ label = "'!'..'~'" ];
1269 248 -> err_248 [ label = "DEF / err_hostname" ];
1270 249 -> 250 [ label = "'!'..'~'" ];
1271 249 -> err_249 [ label = "DEF / err_hostname" ];
1272 250 -> 251 [ label = "'!'..'~'" ];
1273 250 -> err_250 [ label = "DEF / err_hostname" ];
1274 251 -> 252 [ label = "'!'..'~'" ];
1275 251 -> err_251 [ label = "DEF / err_hostname" ];
1276 252 -> 253 [ label = "'!'..'~'" ];
1277 252 -> err_252 [ label = "DEF / err_hostname" ];
1278 253 -> 254 [ label = "'!'..'~'" ];
1279 253 -> err_253 [ label = "DEF / err_hostname" ];
1280 254 -> 255 [ label = "'!'..'~'" ];
1281 254 -> err_254 [ label = "DEF / err_hostname" ];
1282 255 -> 256 [ label = "'!'..'~'" ];
1283 255 -> err_255 [ label = "DEF / err_hostname" ];
1284 256 -> err_256 [ label = "DEF / err_hostname" ];
1285 ENTRY -> 1 [ label = "IN" ];
1286 1 -> eof_1 [ label = "EOF / err_hostname" ];
1287 2 -> eof_2 [ label = "EOF / set_hostname" ];
1288 3 -> eof_3 [ label = "EOF / set_hostname" ];
1289 4 -> eof_4 [ label = "EOF / set_hostname" ];
1290 5 -> eof_5 [ label = "EOF / set_hostname" ];
1291 6 -> eof_6 [ label = "EOF / set_hostname" ];
1292 7 -> eof_7 [ label = "EOF / set_hostname" ];
1293 8 -> eof_8 [ label = "EOF / set_hostname" ];
1294 9 -> eof_9 [ label = "EOF / set_hostname" ];
1295 10 -> eof_10 [ label = "EOF / set_hostname" ];
1296 11 -> eof_11 [ label = "EOF / set_hostname" ];
1297 12 -> eof_12 [ label = "EOF / set_hostname" ];
1298 13 -> eof_13 [ label = "EOF / set_hostname" ];
1299 14 -> eof_14 [ label = "EOF / set_hostname" ];
1300 15 -> eof_15 [ label = "EOF / set_hostname" ];
1301 16 -> eof_16 [ label = "EOF / set_hostname" ];
1302 17 -> eof_17 [ label = "EOF / set_hostname" ];
1303 18 -> eof_18 [ label = "EOF / set_hostname" ];
1304 19 -> eof_19 [ label = "EOF / set_hostname" ];
1305 20 -> eof_20 [ label = "EOF / set_hostname" ];
1306 21 -> eof_21 [ label = "EOF / set_hostname" ];
1307 22 -> eof_22 [ label = "EOF / set_hostname" ];
1308 23 -> eof_23 [ label = "EOF / set_hostname" ];
1309 24 -> eof_24 [ label = "EOF / set_hostname" ];
1310 25 -> eof_25 [ label = "EOF / set_hostname" ];
1311 26 -> eof_26 [ label = "EOF / set_hostname" ];
1312 27 -> eof_27 [ label = "EOF / set_hostname" ];
1313 28 -> eof_28 [ label = "EOF / set_hostname" ];
1314 29 -> eof_29 [ label = "EOF / set_hostname" ];
1315 30 -> eof_30 [ label = "EOF / set_hostname" ];
1316 31 -> eof_31 [ label = "EOF / set_hostname" ];
1317 32 -> eof_32 [ label = "EOF / set_hostname" ];
1318 33 -> eof_33 [ label = "EOF / set_hostname" ];
1319 34 -> eof_34 [ label = "EOF / set_hostname" ];
1320 35 -> eof_35 [ label = "EOF / set_hostname" ];
1321 36 -> eof_36 [ label = "EOF / set_hostname" ];
1322 37 -> eof_37 [ label = "EOF / set_hostname" ];
1323 38 -> eof_38 [ label = "EOF / set_hostname" ];
1324 39 -> eof_39 [ label = "EOF / set_hostname" ];
1325 40 -> eof_40 [ label = "EOF / set_hostname" ];
1326 41 -> eof_41 [ label = "EOF / set_hostname" ];
1327 42 -> eof_42 [ label = "EOF / set_hostname" ];
1328 43 -> eof_43 [ label = "EOF / set_hostname" ];
1329 44 -> eof_44 [ label = "EOF / set_hostname" ];
1330 45 -> eof_45 [ label = "EOF / set_hostname" ];
1331 46 -> eof_46 [ label = "EOF / set_hostname" ];
1332 47 -> eof_47 [ label = "EOF / set_hostname" ];
1333 48 -> eof_48 [ label = "EOF / set_hostname" ];
1334 49 -> eof_49 [ label = "EOF / set_hostname" ];
1335 50 -> eof_50 [ label = "EOF / set_hostname" ];
1336 51 -> eof_51 [ label = "EOF / set_hostname" ];
1337 52 -> eof_52 [ label = "EOF / set_hostname" ];
1338 53 -> eof_53 [ label = "EOF / set_hostname" ];
1339 54 -> eof_54 [ label = "EOF / set_hostname" ];
1340 55 -> eof_55 [ label = "EOF / set_hostname" ];
1341 56 -> eof_56 [ label = "EOF / set_hostname" ];
1342 57 -> eof_57 [ label = "EOF / set_hostname" ];
1343 58 -> eof_58 [ label = "EOF / set_hostname" ];
1344 59 -> eof_59 [ label = "EOF / set_hostname" ];
1345 60 -> eof_60 [ label = "EOF / set_hostname" ];
1346 61 -> eof_61 [ label = "EOF / set_hostname" ];
1347 62 -> eof_62 [ label = "EOF / set_hostname" ];
1348 63 -> eof_63 [ label = "EOF / set_hostname" ];
1349 64 -> eof_64 [ label = "EOF / set_hostname" ];
1350 65 -> eof_65 [ label = "EOF / set_hostname" ];
1351 66 -> eof_66 [ label = "EOF / set_hostname" ];
1352 67 -> eof_67 [ label = "EOF / set_hostname" ];
1353 68 -> eof_68 [ label = "EOF / set_hostname" ];
1354 69 -> eof_69 [ label = "EOF / set_hostname" ];
1355 70 -> eof_70 [ label = "EOF / set_hostname" ];
1356 71 -> eof_71 [ label = "EOF / set_hostname" ];
1357 72 -> eof_72 [ label = "EOF / set_hostname" ];
1358 73 -> eof_73 [ label = "EOF / set_hostname" ];
1359 74 -> eof_74 [ label = "EOF / set_hostname" ];
1360 75 -> eof_75 [ label = "EOF / set_hostname" ];
1361 76 -> eof_76 [ label = "EOF / set_hostname" ];
1362 77 -> eof_77 [ label = "EOF / set_hostname" ];
1363 78 -> eof_78 [ label = "EOF / set_hostname" ];
1364 79 -> eof_79 [ label = "EOF / set_hostname" ];
1365 80 -> eof_80 [ label = "EOF / set_hostname" ];
1366 81 -> eof_81 [ label = "EOF / set_hostname" ];
1367 82 -> eof_82 [ label = "EOF / set_hostname" ];
1368 83 -> eof_83 [ label = "EOF / set_hostname" ];
1369 84 -> eof_84 [ label = "EOF / set_hostname" ];
1370 85 -> eof_85 [ label = "EOF / set_hostname" ];
1371 86 -> eof_86 [ label = "EOF / set_hostname" ];
1372 87 -> eof_87 [ label = "EOF / set_hostname" ];
1373 88 -> eof_88 [ label = "EOF / set_hostname" ];
1374 89 -> eof_89 [ label = "EOF / set_hostname" ];
1375 90 -> eof_90 [ label = "EOF / set_hostname" ];
1376 91 -> eof_91 [ label = "EOF / set_hostname" ];
1377 92 -> eof_92 [ label = "EOF / set_hostname" ];
1378 93 -> eof_93 [ label = "EOF / set_hostname" ];
1379 94 -> eof_94 [ label = "EOF / set_hostname" ];
1380 95 -> eof_95 [ label = "EOF / set_hostname" ];
1381 96 -> eof_96 [ label = "EOF / set_hostname" ];
1382 97 -> eof_97 [ label = "EOF / set_hostname" ];
1383 98 -> eof_98 [ label = "EOF / set_hostname" ];
1384 99 -> eof_99 [ label = "EOF / set_hostname" ];
1385 100 -> eof_100 [ label = "EOF / set_hostname" ];
1386 101 -> eof_101 [ label = "EOF / set_hostname" ];
1387 102 -> eof_102 [ label = "EOF / set_hostname" ];
1388 103 -> eof_103 [ label = "EOF / set_hostname" ];
1389 104 -> eof_104 [ label = "EOF / set_hostname" ];
1390 105 -> eof_105 [ label = "EOF / set_hostname" ];
1391 106 -> eof_106 [ label = "EOF / set_hostname" ];
1392 107 -> eof_107 [ label = "EOF / set_hostname" ];
1393 108 -> eof_108 [ label = "EOF / set_hostname" ];
1394 109 -> eof_109 [ label = "EOF / set_hostname" ];
1395 110 -> eof_110 [ label = "EOF / set_hostname" ];
1396 111 -> eof_111 [ label = "EOF / set_hostname" ];
1397 112 -> eof_112 [ label = "EOF / set_hostname" ];
1398 113 -> eof_113 [ label = "EOF / set_hostname" ];
1399 114 -> eof_114 [ label = "EOF / set_hostname" ];
1400 115 -> eof_115 [ label = "EOF / set_hostname" ];
1401 116 -> eof_116 [ label = "EOF / set_hostname" ];
1402 117 -> eof_117 [ label = "EOF / set_hostname" ];
1403 118 -> eof_118 [ label = "EOF / set_hostname" ];
1404 119 -> eof_119 [ label = "EOF / set_hostname" ];
1405 120 -> eof_120 [ label = "EOF / set_hostname" ];
1406 121 -> eof_121 [ label = "EOF / set_hostname" ];
1407 122 -> eof_122 [ label = "EOF / set_hostname" ];
1408 123 -> eof_123 [ label = "EOF / set_hostname" ];
1409 124 -> eof_124 [ label = "EOF / set_hostname" ];
1410 125 -> eof_125 [ label = "EOF / set_hostname" ];
1411 126 -> eof_126 [ label = "EOF / set_hostname" ];
1412 127 -> eof_127 [ label = "EOF / set_hostname" ];
1413 128 -> eof_128 [ label = "EOF / set_hostname" ];
1414 129 -> eof_129 [ label = "EOF / set_hostname" ];
1415 130 -> eof_130 [ label = "EOF / set_hostname" ];
1416 131 -> eof_131 [ label = "EOF / set_hostname" ];
1417 132 -> eof_132 [ label = "EOF / set_hostname" ];
1418 133 -> eof_133 [ label = "EOF / set_hostname" ];
1419 134 -> eof_134 [ label = "EOF / set_hostname" ];
1420 135 -> eof_135 [ label = "EOF / set_hostname" ];
1421 136 -> eof_136 [ label = "EOF / set_hostname" ];
1422 137 -> eof_137 [ label = "EOF / set_hostname" ];
1423 138 -> eof_138 [ label = "EOF / set_hostname" ];
1424 139 -> eof_139 [ label = "EOF / set_hostname" ];
1425 140 -> eof_140 [ label = "EOF / set_hostname" ];
1426 141 -> eof_141 [ label = "EOF / set_hostname" ];
1427 142 -> eof_142 [ label = "EOF / set_hostname" ];
1428 143 -> eof_143 [ label = "EOF / set_hostname" ];
1429 144 -> eof_144 [ label = "EOF / set_hostname" ];
1430 145 -> eof_145 [ label = "EOF / set_hostname" ];
1431 146 -> eof_146 [ label = "EOF / set_hostname" ];
1432 147 -> eof_147 [ label = "EOF / set_hostname" ];
1433 148 -> eof_148 [ label = "EOF / set_hostname" ];
1434 149 -> eof_149 [ label = "EOF / set_hostname" ];
1435 150 -> eof_150 [ label = "EOF / set_hostname" ];
1436 151 -> eof_151 [ label = "EOF / set_hostname" ];
1437 152 -> eof_152 [ label = "EOF / set_hostname" ];
1438 153 -> eof_153 [ label = "EOF / set_hostname" ];
1439 154 -> eof_154 [ label = "EOF / set_hostname" ];
1440 155 -> eof_155 [ label = "EOF / set_hostname" ];
1441 156 -> eof_156 [ label = "EOF / set_hostname" ];
1442 157 -> eof_157 [ label = "EOF / set_hostname" ];
1443 158 -> eof_158 [ label = "EOF / set_hostname" ];
1444 159 -> eof_159 [ label = "EOF / set_hostname" ];
1445 160 -> eof_160 [ label = "EOF / set_hostname" ];
1446 161 -> eof_161 [ label = "EOF / set_hostname" ];
1447 162 -> eof_162 [ label = "EOF / set_hostname" ];
1448 163 -> eof_163 [ label = "EOF / set_hostname" ];
1449 164 -> eof_164 [ label = "EOF / set_hostname" ];
1450 165 -> eof_165 [ label = "EOF / set_hostname" ];
1451 166 -> eof_166 [ label = "EOF / set_hostname" ];
1452 167 -> eof_167 [ label = "EOF / set_hostname" ];
1453 168 -> eof_168 [ label = "EOF / set_hostname" ];
1454 169 -> eof_169 [ label = "EOF / set_hostname" ];
1455 170 -> eof_170 [ label = "EOF / set_hostname" ];
1456 171 -> eof_171 [ label = "EOF / set_hostname" ];
1457 172 -> eof_172 [ label = "EOF / set_hostname" ];
1458 173 -> eof_173 [ label = "EOF / set_hostname" ];
1459 174 -> eof_174 [ label = "EOF / set_hostname" ];
1460 175 -> eof_175 [ label = "EOF / set_hostname" ];
1461 176 -> eof_176 [ label = "EOF / set_hostname" ];
1462 177 -> eof_177 [ label = "EOF / set_hostname" ];
1463 178 -> eof_178 [ label = "EOF / set_hostname" ];
1464 179 -> eof_179 [ label = "EOF / set_hostname" ];
1465 180 -> eof_180 [ label = "EOF / set_hostname" ];
1466 181 -> eof_181 [ label = "EOF / set_hostname" ];
1467 182 -> eof_182 [ label = "EOF / set_hostname" ];
1468 183 -> eof_183 [ label = "EOF / set_hostname" ];
1469 184 -> eof_184 [ label = "EOF / set_hostname" ];
1470 185 -> eof_185 [ label = "EOF / set_hostname" ];
1471 186 -> eof_186 [ label = "EOF / set_hostname" ];
1472 187 -> eof_187 [ label = "EOF / set_hostname" ];
1473 188 -> eof_188 [ label = "EOF / set_hostname" ];
1474 189 -> eof_189 [ label = "EOF / set_hostname" ];
1475 190 -> eof_190 [ label = "EOF / set_hostname" ];
1476 191 -> eof_191 [ label = "EOF / set_hostname" ];
1477 192 -> eof_192 [ label = "EOF / set_hostname" ];
1478 193 -> eof_193 [ label = "EOF / set_hostname" ];
1479 194 -> eof_194 [ label = "EOF / set_hostname" ];
1480 195 -> eof_195 [ label = "EOF / set_hostname" ];
1481 196 -> eof_196 [ label = "EOF / set_hostname" ];
1482 197 -> eof_197 [ label = "EOF / set_hostname" ];
1483 198 -> eof_198 [ label = "EOF / set_hostname" ];
1484 199 -> eof_199 [ label = "EOF / set_hostname" ];
1485 200 -> eof_200 [ label = "EOF / set_hostname" ];
1486 201 -> eof_201 [ label = "EOF / set_hostname" ];
1487 202 -> eof_202 [ label = "EOF / set_hostname" ];
1488 203 -> eof_203 [ label = "EOF / set_hostname" ];
1489 204 -> eof_204 [ label = "EOF / set_hostname" ];
1490 205 -> eof_205 [ label = "EOF / set_hostname" ];
1491 206 -> eof_206 [ label = "EOF / set_hostname" ];
1492 207 -> eof_207 [ label = "EOF / set_hostname" ];
1493 208 -> eof_208 [ label = "EOF / set_hostname" ];
1494 209 -> eof_209 [ label = "EOF / set_hostname" ];
1495 210 -> eof_210 [ label = "EOF / set_hostname" ];
1496 211 -> eof_211 [ label = "EOF / set_hostname" ];
1497 212 -> eof_212 [ label = "EOF / set_hostname" ];
1498 213 -> eof_213 [ label = "EOF / set_hostname" ];
1499 214 -> eof_214 [ label = "EOF / set_hostname" ];
1500 215 -> eof_215 [ label = "EOF / set_hostname" ];
1501 216 -> eof_216 [ label = "EOF / set_hostname" ];
1502 217 -> eof_217 [ label = "EOF / set_hostname" ];
1503 218 -> eof_218 [ label = "EOF / set_hostname" ];
1504 219 -> eof_219 [ label = "EOF / set_hostname" ];
1505 220 -> eof_220 [ label = "EOF / set_hostname" ];
1506 221 -> eof_221 [ label = "EOF / set_hostname" ];
1507 222 -> eof_222 [ label = "EOF / set_hostname" ];
1508 223 -> eof_223 [ label = "EOF / set_hostname" ];
1509 224 -> eof_224 [ label = "EOF / set_hostname" ];
1510 225 -> eof_225 [ label = "EOF / set_hostname" ];
1511 226 -> eof_226 [ label = "EOF / set_hostname" ];
1512 227 -> eof_227 [ label = "EOF / set_hostname" ];
1513 228 -> eof_228 [ label = "EOF / set_hostname" ];
1514 229 -> eof_229 [ label = "EOF / set_hostname" ];
1515 230 -> eof_230 [ label = "EOF / set_hostname" ];
1516 231 -> eof_231 [ label = "EOF / set_hostname" ];
1517 232 -> eof_232 [ label = "EOF / set_hostname" ];
1518 233 -> eof_233 [ label = "EOF / set_hostname" ];
1519 234 -> eof_234 [ label = "EOF / set_hostname" ];
1520 235 -> eof_235 [ label = "EOF / set_hostname" ];
1521 236 -> eof_236 [ label = "EOF / set_hostname" ];
1522 237 -> eof_237 [ label = "EOF / set_hostname" ];
1523 238 -> eof_238 [ label = "EOF / set_hostname" ];
1524 239 -> eof_239 [ label = "EOF / set_hostname" ];
1525 240 -> eof_240 [ label = "EOF / set_hostname" ];
1526 241 -> eof_241 [ label = "EOF / set_hostname" ];
1527 242 -> eof_242 [ label = "EOF / set_hostname" ];
1528 243 -> eof_243 [ label = "EOF / set_hostname" ];
1529 244 -> eof_244 [ label = "EOF / set_hostname" ];
1530 245 -> eof_245 [ label = "EOF / set_hostname" ];
1531 246 -> eof_246 [ label = "EOF / set_hostname" ];
1532 247 -> eof_247 [ label = "EOF / set_hostname" ];
1533 248 -> eof_248 [ label = "EOF / set_hostname" ];
1534 249 -> eof_249 [ label = "EOF / set_hostname" ];
1535 250 -> eof_250 [ label = "EOF / set_hostname" ];
1536 251 -> eof_251 [ label = "EOF / set_hostname" ];
1537 252 -> eof_252 [ label = "EOF / set_hostname" ];
1538 253 -> eof_253 [ label = "EOF / set_hostname" ];
1539 254 -> eof_254 [ label = "EOF / set_hostname" ];
1540 255 -> eof_255 [ label = "EOF / set_hostname" ];
1541 256 -> eof_256 [ label = "EOF / set_hostname" ];
1542 }
0 digraph rfc5424 {
1 rankdir=LR;
2 node [ shape = point ];
3 ENTRY;
4 eof_1;
5 eof_2;
6 eof_3;
7 eof_4;
8 eof_5;
9 eof_6;
10 eof_7;
11 eof_8;
12 eof_9;
13 node [ shape = circle, height = 0.2 ];
14 err_1 [ label=""];
15 err_2 [ label=""];
16 err_3 [ label=""];
17 err_4 [ label=""];
18 err_5 [ label=""];
19 err_6 [ label=""];
20 err_7 [ label=""];
21 err_8 [ label=""];
22 err_9 [ label=""];
23 node [ fixedsize = true, height = 0.65, shape = doublecircle ];
24 8;
25 9;
26 node [ shape = circle ];
27 1 -> 9 [ label = "128..191" ];
28 1 -> err_1 [ label = "DEF / err_msg" ];
29 2 -> 1 [ label = "160..191" ];
30 2 -> err_2 [ label = "DEF / err_msg" ];
31 3 -> 1 [ label = "128..191" ];
32 3 -> err_3 [ label = "DEF / err_msg" ];
33 4 -> 1 [ label = "128..159" ];
34 4 -> err_4 [ label = "DEF / err_msg" ];
35 5 -> 3 [ label = "144..191" ];
36 5 -> err_5 [ label = "DEF / err_msg" ];
37 6 -> 3 [ label = "128..191" ];
38 6 -> err_6 [ label = "DEF / err_msg" ];
39 7 -> 3 [ label = "128..143" ];
40 7 -> err_7 [ label = "DEF / err_msg" ];
41 8 -> err_8 [ label = "128..193, 245..255 / err_msg" ];
42 8 -> 1 [ label = "194..223 / mark, markmsg" ];
43 8 -> 2 [ label = "224 / mark, markmsg" ];
44 8 -> 3 [ label = "225..236, 238..239 / mark, markmsg" ];
45 8 -> 4 [ label = "237 / mark, markmsg" ];
46 8 -> 5 [ label = "240 / mark, markmsg" ];
47 8 -> 6 [ label = "241..243 / mark, markmsg" ];
48 8 -> 7 [ label = "244 / mark, markmsg" ];
49 8 -> 9 [ label = "DEF / mark, markmsg" ];
50 9 -> err_9 [ label = "128..193, 245..255 / err_msg" ];
51 9 -> 1 [ label = "194..223" ];
52 9 -> 2 [ label = "224" ];
53 9 -> 3 [ label = "225..236, 238..239" ];
54 9 -> 4 [ label = "237" ];
55 9 -> 5 [ label = "240" ];
56 9 -> 6 [ label = "241..243" ];
57 9 -> 7 [ label = "244" ];
58 9 -> 9 [ label = "DEF" ];
59 ENTRY -> 8 [ label = "IN" ];
60 1 -> eof_1 [ label = "EOF / err_msg" ];
61 2 -> eof_2 [ label = "EOF / err_msg" ];
62 3 -> eof_3 [ label = "EOF / err_msg" ];
63 4 -> eof_4 [ label = "EOF / err_msg" ];
64 5 -> eof_5 [ label = "EOF / err_msg" ];
65 6 -> eof_6 [ label = "EOF / err_msg" ];
66 7 -> eof_7 [ label = "EOF / err_msg" ];
67 8 -> eof_8 [ label = "EOF / mark, markmsg, set_msg" ];
68 9 -> eof_9 [ label = "EOF / set_msg" ];
69 }
0 digraph rfc5424 {
1 rankdir=LR;
2 node [ shape = point ];
3 ENTRY;
4 eof_1;
5 eof_2;
6 eof_3;
7 eof_4;
8 eof_5;
9 eof_6;
10 eof_7;
11 eof_8;
12 eof_9;
13 eof_10;
14 eof_11;
15 eof_12;
16 eof_13;
17 eof_14;
18 eof_15;
19 eof_16;
20 eof_17;
21 eof_18;
22 eof_19;
23 eof_20;
24 eof_21;
25 eof_22;
26 eof_23;
27 eof_24;
28 eof_25;
29 eof_26;
30 eof_27;
31 eof_28;
32 eof_29;
33 eof_30;
34 eof_31;
35 eof_32;
36 eof_33;
37 node [ shape = circle, height = 0.2 ];
38 err_1 [ label=""];
39 err_2 [ label=""];
40 err_3 [ label=""];
41 err_4 [ label=""];
42 err_5 [ label=""];
43 err_6 [ label=""];
44 err_7 [ label=""];
45 err_8 [ label=""];
46 err_9 [ label=""];
47 err_10 [ label=""];
48 err_11 [ label=""];
49 err_12 [ label=""];
50 err_13 [ label=""];
51 err_14 [ label=""];
52 err_15 [ label=""];
53 err_16 [ label=""];
54 err_17 [ label=""];
55 err_18 [ label=""];
56 err_19 [ label=""];
57 err_20 [ label=""];
58 err_21 [ label=""];
59 err_22 [ label=""];
60 err_23 [ label=""];
61 err_24 [ label=""];
62 err_25 [ label=""];
63 err_26 [ label=""];
64 err_27 [ label=""];
65 err_28 [ label=""];
66 err_29 [ label=""];
67 err_30 [ label=""];
68 err_31 [ label=""];
69 err_32 [ label=""];
70 err_33 [ label=""];
71 node [ fixedsize = true, height = 0.65, shape = doublecircle ];
72 2;
73 3;
74 4;
75 5;
76 6;
77 7;
78 8;
79 9;
80 10;
81 11;
82 12;
83 13;
84 14;
85 15;
86 16;
87 17;
88 18;
89 19;
90 20;
91 21;
92 22;
93 23;
94 24;
95 25;
96 26;
97 27;
98 28;
99 29;
100 30;
101 31;
102 32;
103 33;
104 node [ shape = circle ];
105 1 -> 2 [ label = "'!'..'~' / mark" ];
106 1 -> err_1 [ label = "DEF / err_msgid" ];
107 2 -> 3 [ label = "'!'..'~'" ];
108 2 -> err_2 [ label = "DEF / err_msgid" ];
109 3 -> 4 [ label = "'!'..'~'" ];
110 3 -> err_3 [ label = "DEF / err_msgid" ];
111 4 -> 5 [ label = "'!'..'~'" ];
112 4 -> err_4 [ label = "DEF / err_msgid" ];
113 5 -> 6 [ label = "'!'..'~'" ];
114 5 -> err_5 [ label = "DEF / err_msgid" ];
115 6 -> 7 [ label = "'!'..'~'" ];
116 6 -> err_6 [ label = "DEF / err_msgid" ];
117 7 -> 8 [ label = "'!'..'~'" ];
118 7 -> err_7 [ label = "DEF / err_msgid" ];
119 8 -> 9 [ label = "'!'..'~'" ];
120 8 -> err_8 [ label = "DEF / err_msgid" ];
121 9 -> 10 [ label = "'!'..'~'" ];
122 9 -> err_9 [ label = "DEF / err_msgid" ];
123 10 -> 11 [ label = "'!'..'~'" ];
124 10 -> err_10 [ label = "DEF / err_msgid" ];
125 11 -> 12 [ label = "'!'..'~'" ];
126 11 -> err_11 [ label = "DEF / err_msgid" ];
127 12 -> 13 [ label = "'!'..'~'" ];
128 12 -> err_12 [ label = "DEF / err_msgid" ];
129 13 -> 14 [ label = "'!'..'~'" ];
130 13 -> err_13 [ label = "DEF / err_msgid" ];
131 14 -> 15 [ label = "'!'..'~'" ];
132 14 -> err_14 [ label = "DEF / err_msgid" ];
133 15 -> 16 [ label = "'!'..'~'" ];
134 15 -> err_15 [ label = "DEF / err_msgid" ];
135 16 -> 17 [ label = "'!'..'~'" ];
136 16 -> err_16 [ label = "DEF / err_msgid" ];
137 17 -> 18 [ label = "'!'..'~'" ];
138 17 -> err_17 [ label = "DEF / err_msgid" ];
139 18 -> 19 [ label = "'!'..'~'" ];
140 18 -> err_18 [ label = "DEF / err_msgid" ];
141 19 -> 20 [ label = "'!'..'~'" ];
142 19 -> err_19 [ label = "DEF / err_msgid" ];
143 20 -> 21 [ label = "'!'..'~'" ];
144 20 -> err_20 [ label = "DEF / err_msgid" ];
145 21 -> 22 [ label = "'!'..'~'" ];
146 21 -> err_21 [ label = "DEF / err_msgid" ];
147 22 -> 23 [ label = "'!'..'~'" ];
148 22 -> err_22 [ label = "DEF / err_msgid" ];
149 23 -> 24 [ label = "'!'..'~'" ];
150 23 -> err_23 [ label = "DEF / err_msgid" ];
151 24 -> 25 [ label = "'!'..'~'" ];
152 24 -> err_24 [ label = "DEF / err_msgid" ];
153 25 -> 26 [ label = "'!'..'~'" ];
154 25 -> err_25 [ label = "DEF / err_msgid" ];
155 26 -> 27 [ label = "'!'..'~'" ];
156 26 -> err_26 [ label = "DEF / err_msgid" ];
157 27 -> 28 [ label = "'!'..'~'" ];
158 27 -> err_27 [ label = "DEF / err_msgid" ];
159 28 -> 29 [ label = "'!'..'~'" ];
160 28 -> err_28 [ label = "DEF / err_msgid" ];
161 29 -> 30 [ label = "'!'..'~'" ];
162 29 -> err_29 [ label = "DEF / err_msgid" ];
163 30 -> 31 [ label = "'!'..'~'" ];
164 30 -> err_30 [ label = "DEF / err_msgid" ];
165 31 -> 32 [ label = "'!'..'~'" ];
166 31 -> err_31 [ label = "DEF / err_msgid" ];
167 32 -> 33 [ label = "'!'..'~'" ];
168 32 -> err_32 [ label = "DEF / err_msgid" ];
169 33 -> err_33 [ label = "DEF / err_msgid" ];
170 ENTRY -> 1 [ label = "IN" ];
171 1 -> eof_1 [ label = "EOF / err_msgid" ];
172 2 -> eof_2 [ label = "EOF / set_msgid" ];
173 3 -> eof_3 [ label = "EOF / set_msgid" ];
174 4 -> eof_4 [ label = "EOF / set_msgid" ];
175 5 -> eof_5 [ label = "EOF / set_msgid" ];
176 6 -> eof_6 [ label = "EOF / set_msgid" ];
177 7 -> eof_7 [ label = "EOF / set_msgid" ];
178 8 -> eof_8 [ label = "EOF / set_msgid" ];
179 9 -> eof_9 [ label = "EOF / set_msgid" ];
180 10 -> eof_10 [ label = "EOF / set_msgid" ];
181 11 -> eof_11 [ label = "EOF / set_msgid" ];
182 12 -> eof_12 [ label = "EOF / set_msgid" ];
183 13 -> eof_13 [ label = "EOF / set_msgid" ];
184 14 -> eof_14 [ label = "EOF / set_msgid" ];
185 15 -> eof_15 [ label = "EOF / set_msgid" ];
186 16 -> eof_16 [ label = "EOF / set_msgid" ];
187 17 -> eof_17 [ label = "EOF / set_msgid" ];
188 18 -> eof_18 [ label = "EOF / set_msgid" ];
189 19 -> eof_19 [ label = "EOF / set_msgid" ];
190 20 -> eof_20 [ label = "EOF / set_msgid" ];
191 21 -> eof_21 [ label = "EOF / set_msgid" ];
192 22 -> eof_22 [ label = "EOF / set_msgid" ];
193 23 -> eof_23 [ label = "EOF / set_msgid" ];
194 24 -> eof_24 [ label = "EOF / set_msgid" ];
195 25 -> eof_25 [ label = "EOF / set_msgid" ];
196 26 -> eof_26 [ label = "EOF / set_msgid" ];
197 27 -> eof_27 [ label = "EOF / set_msgid" ];
198 28 -> eof_28 [ label = "EOF / set_msgid" ];
199 29 -> eof_29 [ label = "EOF / set_msgid" ];
200 30 -> eof_30 [ label = "EOF / set_msgid" ];
201 31 -> eof_31 [ label = "EOF / set_msgid" ];
202 32 -> eof_32 [ label = "EOF / set_msgid" ];
203 33 -> eof_33 [ label = "EOF / set_msgid" ];
204 }
0 digraph rfc5424 {
1 rankdir=LR;
2 node [ shape = point ];
3 ENTRY;
4 eof_1;
5 eof_2;
6 eof_3;
7 eof_4;
8 eof_5;
9 eof_6;
10 node [ shape = circle, height = 0.2 ];
11 err_1 [ label=""];
12 err_2 [ label=""];
13 err_3 [ label=""];
14 err_4 [ label=""];
15 err_5 [ label=""];
16 err_6 [ label=""];
17 node [ fixedsize = true, height = 0.65, shape = doublecircle ];
18 7;
19 node [ shape = circle ];
20 1 -> 2 [ label = "'<'" ];
21 1 -> err_1 [ label = "DEF / err_pri" ];
22 2 -> 3 [ label = "'0' / mark" ];
23 2 -> 4 [ label = "'1' / mark" ];
24 2 -> 5 [ label = "'2'..'9' / mark" ];
25 2 -> err_2 [ label = "DEF / err_prival, err_pri" ];
26 3 -> 7 [ label = "'>' / set_prival" ];
27 3 -> err_3 [ label = "DEF / set_prival, err_prival, err_pri" ];
28 4 -> 5 [ label = "'0'..'8' / set_prival" ];
29 4 -> 6 [ label = "'9' / set_prival" ];
30 4 -> 7 [ label = "'>' / set_prival" ];
31 4 -> err_4 [ label = "DEF / set_prival, err_prival, err_pri" ];
32 5 -> 3 [ label = "'0'..'9' / set_prival" ];
33 5 -> 7 [ label = "'>' / set_prival" ];
34 5 -> err_5 [ label = "DEF / set_prival, err_prival, err_pri" ];
35 6 -> 3 [ label = "'0'..'1' / set_prival" ];
36 6 -> 7 [ label = "'>' / set_prival" ];
37 6 -> err_6 [ label = "DEF / set_prival, err_prival, err_pri" ];
38 ENTRY -> 1 [ label = "IN" ];
39 1 -> eof_1 [ label = "EOF / err_pri" ];
40 2 -> eof_2 [ label = "EOF / err_prival, err_pri" ];
41 3 -> eof_3 [ label = "EOF / err_prival, err_pri" ];
42 4 -> eof_4 [ label = "EOF / err_prival, err_pri" ];
43 5 -> eof_5 [ label = "EOF / err_prival, err_pri" ];
44 6 -> eof_6 [ label = "EOF / err_prival, err_pri" ];
45 }
0 digraph rfc5424 {
1 rankdir=LR;
2 node [ shape = point ];
3 ENTRY;
4 eof_1;
5 eof_2;
6 eof_3;
7 eof_4;
8 eof_5;
9 eof_6;
10 eof_7;
11 eof_8;
12 eof_9;
13 eof_10;
14 eof_11;
15 eof_12;
16 eof_13;
17 eof_14;
18 eof_15;
19 eof_16;
20 eof_17;
21 eof_18;
22 eof_19;
23 eof_20;
24 eof_21;
25 eof_22;
26 eof_23;
27 eof_24;
28 eof_25;
29 eof_26;
30 eof_27;
31 eof_28;
32 eof_29;
33 eof_30;
34 eof_31;
35 eof_32;
36 eof_33;
37 eof_34;
38 eof_35;
39 eof_36;
40 eof_37;
41 eof_38;
42 eof_39;
43 eof_40;
44 eof_41;
45 eof_42;
46 eof_43;
47 eof_44;
48 eof_45;
49 eof_46;
50 eof_47;
51 eof_48;
52 eof_49;
53 eof_50;
54 eof_51;
55 eof_52;
56 eof_53;
57 eof_54;
58 eof_55;
59 eof_56;
60 eof_57;
61 eof_58;
62 eof_59;
63 eof_60;
64 eof_61;
65 eof_62;
66 eof_63;
67 eof_64;
68 eof_65;
69 eof_66;
70 eof_67;
71 eof_68;
72 eof_69;
73 eof_70;
74 eof_71;
75 eof_72;
76 eof_73;
77 eof_74;
78 eof_75;
79 eof_76;
80 eof_77;
81 eof_78;
82 eof_79;
83 eof_80;
84 eof_81;
85 eof_82;
86 eof_83;
87 eof_84;
88 eof_85;
89 eof_86;
90 eof_87;
91 eof_88;
92 eof_89;
93 eof_90;
94 eof_91;
95 eof_92;
96 eof_93;
97 eof_94;
98 eof_95;
99 eof_96;
100 eof_97;
101 eof_98;
102 eof_99;
103 eof_100;
104 eof_101;
105 eof_102;
106 eof_103;
107 eof_104;
108 eof_105;
109 eof_106;
110 eof_107;
111 eof_108;
112 eof_109;
113 eof_110;
114 eof_111;
115 eof_112;
116 eof_113;
117 eof_114;
118 eof_115;
119 eof_116;
120 eof_117;
121 eof_118;
122 eof_119;
123 eof_120;
124 eof_121;
125 eof_122;
126 eof_123;
127 eof_124;
128 eof_125;
129 eof_126;
130 eof_127;
131 eof_128;
132 eof_129;
133 node [ shape = circle, height = 0.2 ];
134 err_1 [ label=""];
135 err_2 [ label=""];
136 err_3 [ label=""];
137 err_4 [ label=""];
138 err_5 [ label=""];
139 err_6 [ label=""];
140 err_7 [ label=""];
141 err_8 [ label=""];
142 err_9 [ label=""];
143 err_10 [ label=""];
144 err_11 [ label=""];
145 err_12 [ label=""];
146 err_13 [ label=""];
147 err_14 [ label=""];
148 err_15 [ label=""];
149 err_16 [ label=""];
150 err_17 [ label=""];
151 err_18 [ label=""];
152 err_19 [ label=""];
153 err_20 [ label=""];
154 err_21 [ label=""];
155 err_22 [ label=""];
156 err_23 [ label=""];
157 err_24 [ label=""];
158 err_25 [ label=""];
159 err_26 [ label=""];
160 err_27 [ label=""];
161 err_28 [ label=""];
162 err_29 [ label=""];
163 err_30 [ label=""];
164 err_31 [ label=""];
165 err_32 [ label=""];
166 err_33 [ label=""];
167 err_34 [ label=""];
168 err_35 [ label=""];
169 err_36 [ label=""];
170 err_37 [ label=""];
171 err_38 [ label=""];
172 err_39 [ label=""];
173 err_40 [ label=""];
174 err_41 [ label=""];
175 err_42 [ label=""];
176 err_43 [ label=""];
177 err_44 [ label=""];
178 err_45 [ label=""];
179 err_46 [ label=""];
180 err_47 [ label=""];
181 err_48 [ label=""];
182 err_49 [ label=""];
183 err_50 [ label=""];
184 err_51 [ label=""];
185 err_52 [ label=""];
186 err_53 [ label=""];
187 err_54 [ label=""];
188 err_55 [ label=""];
189 err_56 [ label=""];
190 err_57 [ label=""];
191 err_58 [ label=""];
192 err_59 [ label=""];
193 err_60 [ label=""];
194 err_61 [ label=""];
195 err_62 [ label=""];
196 err_63 [ label=""];
197 err_64 [ label=""];
198 err_65 [ label=""];
199 err_66 [ label=""];
200 err_67 [ label=""];
201 err_68 [ label=""];
202 err_69 [ label=""];
203 err_70 [ label=""];
204 err_71 [ label=""];
205 err_72 [ label=""];
206 err_73 [ label=""];
207 err_74 [ label=""];
208 err_75 [ label=""];
209 err_76 [ label=""];
210 err_77 [ label=""];
211 err_78 [ label=""];
212 err_79 [ label=""];
213 err_80 [ label=""];
214 err_81 [ label=""];
215 err_82 [ label=""];
216 err_83 [ label=""];
217 err_84 [ label=""];
218 err_85 [ label=""];
219 err_86 [ label=""];
220 err_87 [ label=""];
221 err_88 [ label=""];
222 err_89 [ label=""];
223 err_90 [ label=""];
224 err_91 [ label=""];
225 err_92 [ label=""];
226 err_93 [ label=""];
227 err_94 [ label=""];
228 err_95 [ label=""];
229 err_96 [ label=""];
230 err_97 [ label=""];
231 err_98 [ label=""];
232 err_99 [ label=""];
233 err_100 [ label=""];
234 err_101 [ label=""];
235 err_102 [ label=""];
236 err_103 [ label=""];
237 err_104 [ label=""];
238 err_105 [ label=""];
239 err_106 [ label=""];
240 err_107 [ label=""];
241 err_108 [ label=""];
242 err_109 [ label=""];
243 err_110 [ label=""];
244 err_111 [ label=""];
245 err_112 [ label=""];
246 err_113 [ label=""];
247 err_114 [ label=""];
248 err_115 [ label=""];
249 err_116 [ label=""];
250 err_117 [ label=""];
251 err_118 [ label=""];
252 err_119 [ label=""];
253 err_120 [ label=""];
254 err_121 [ label=""];
255 err_122 [ label=""];
256 err_123 [ label=""];
257 err_124 [ label=""];
258 err_125 [ label=""];
259 err_126 [ label=""];
260 err_127 [ label=""];
261 err_128 [ label=""];
262 err_129 [ label=""];
263 node [ fixedsize = true, height = 0.65, shape = doublecircle ];
264 2;
265 3;
266 4;
267 5;
268 6;
269 7;
270 8;
271 9;
272 10;
273 11;
274 12;
275 13;
276 14;
277 15;
278 16;
279 17;
280 18;
281 19;
282 20;
283 21;
284 22;
285 23;
286 24;
287 25;
288 26;
289 27;
290 28;
291 29;
292 30;
293 31;
294 32;
295 33;
296 34;
297 35;
298 36;
299 37;
300 38;
301 39;
302 40;
303 41;
304 42;
305 43;
306 44;
307 45;
308 46;
309 47;
310 48;
311 49;
312 50;
313 51;
314 52;
315 53;
316 54;
317 55;
318 56;
319 57;
320 58;
321 59;
322 60;
323 61;
324 62;
325 63;
326 64;
327 65;
328 66;
329 67;
330 68;
331 69;
332 70;
333 71;
334 72;
335 73;
336 74;
337 75;
338 76;
339 77;
340 78;
341 79;
342 80;
343 81;
344 82;
345 83;
346 84;
347 85;
348 86;
349 87;
350 88;
351 89;
352 90;
353 91;
354 92;
355 93;
356 94;
357 95;
358 96;
359 97;
360 98;
361 99;
362 100;
363 101;
364 102;
365 103;
366 104;
367 105;
368 106;
369 107;
370 108;
371 109;
372 110;
373 111;
374 112;
375 113;
376 114;
377 115;
378 116;
379 117;
380 118;
381 119;
382 120;
383 121;
384 122;
385 123;
386 124;
387 125;
388 126;
389 127;
390 128;
391 129;
392 node [ shape = circle ];
393 1 -> 2 [ label = "'!'..'~' / mark" ];
394 1 -> err_1 [ label = "DEF / err_procid" ];
395 2 -> 3 [ label = "'!'..'~'" ];
396 2 -> err_2 [ label = "DEF / err_procid" ];
397 3 -> 4 [ label = "'!'..'~'" ];
398 3 -> err_3 [ label = "DEF / err_procid" ];
399 4 -> 5 [ label = "'!'..'~'" ];
400 4 -> err_4 [ label = "DEF / err_procid" ];
401 5 -> 6 [ label = "'!'..'~'" ];
402 5 -> err_5 [ label = "DEF / err_procid" ];
403 6 -> 7 [ label = "'!'..'~'" ];
404 6 -> err_6 [ label = "DEF / err_procid" ];
405 7 -> 8 [ label = "'!'..'~'" ];
406 7 -> err_7 [ label = "DEF / err_procid" ];
407 8 -> 9 [ label = "'!'..'~'" ];
408 8 -> err_8 [ label = "DEF / err_procid" ];
409 9 -> 10 [ label = "'!'..'~'" ];
410 9 -> err_9 [ label = "DEF / err_procid" ];
411 10 -> 11 [ label = "'!'..'~'" ];
412 10 -> err_10 [ label = "DEF / err_procid" ];
413 11 -> 12 [ label = "'!'..'~'" ];
414 11 -> err_11 [ label = "DEF / err_procid" ];
415 12 -> 13 [ label = "'!'..'~'" ];
416 12 -> err_12 [ label = "DEF / err_procid" ];
417 13 -> 14 [ label = "'!'..'~'" ];
418 13 -> err_13 [ label = "DEF / err_procid" ];
419 14 -> 15 [ label = "'!'..'~'" ];
420 14 -> err_14 [ label = "DEF / err_procid" ];
421 15 -> 16 [ label = "'!'..'~'" ];
422 15 -> err_15 [ label = "DEF / err_procid" ];
423 16 -> 17 [ label = "'!'..'~'" ];
424 16 -> err_16 [ label = "DEF / err_procid" ];
425 17 -> 18 [ label = "'!'..'~'" ];
426 17 -> err_17 [ label = "DEF / err_procid" ];
427 18 -> 19 [ label = "'!'..'~'" ];
428 18 -> err_18 [ label = "DEF / err_procid" ];
429 19 -> 20 [ label = "'!'..'~'" ];
430 19 -> err_19 [ label = "DEF / err_procid" ];
431 20 -> 21 [ label = "'!'..'~'" ];
432 20 -> err_20 [ label = "DEF / err_procid" ];
433 21 -> 22 [ label = "'!'..'~'" ];
434 21 -> err_21 [ label = "DEF / err_procid" ];
435 22 -> 23 [ label = "'!'..'~'" ];
436 22 -> err_22 [ label = "DEF / err_procid" ];
437 23 -> 24 [ label = "'!'..'~'" ];
438 23 -> err_23 [ label = "DEF / err_procid" ];
439 24 -> 25 [ label = "'!'..'~'" ];
440 24 -> err_24 [ label = "DEF / err_procid" ];
441 25 -> 26 [ label = "'!'..'~'" ];
442 25 -> err_25 [ label = "DEF / err_procid" ];
443 26 -> 27 [ label = "'!'..'~'" ];
444 26 -> err_26 [ label = "DEF / err_procid" ];
445 27 -> 28 [ label = "'!'..'~'" ];
446 27 -> err_27 [ label = "DEF / err_procid" ];
447 28 -> 29 [ label = "'!'..'~'" ];
448 28 -> err_28 [ label = "DEF / err_procid" ];
449 29 -> 30 [ label = "'!'..'~'" ];
450 29 -> err_29 [ label = "DEF / err_procid" ];
451 30 -> 31 [ label = "'!'..'~'" ];
452 30 -> err_30 [ label = "DEF / err_procid" ];
453 31 -> 32 [ label = "'!'..'~'" ];
454 31 -> err_31 [ label = "DEF / err_procid" ];
455 32 -> 33 [ label = "'!'..'~'" ];
456 32 -> err_32 [ label = "DEF / err_procid" ];
457 33 -> 34 [ label = "'!'..'~'" ];
458 33 -> err_33 [ label = "DEF / err_procid" ];
459 34 -> 35 [ label = "'!'..'~'" ];
460 34 -> err_34 [ label = "DEF / err_procid" ];
461 35 -> 36 [ label = "'!'..'~'" ];
462 35 -> err_35 [ label = "DEF / err_procid" ];
463 36 -> 37 [ label = "'!'..'~'" ];
464 36 -> err_36 [ label = "DEF / err_procid" ];
465 37 -> 38 [ label = "'!'..'~'" ];
466 37 -> err_37 [ label = "DEF / err_procid" ];
467 38 -> 39 [ label = "'!'..'~'" ];
468 38 -> err_38 [ label = "DEF / err_procid" ];
469 39 -> 40 [ label = "'!'..'~'" ];
470 39 -> err_39 [ label = "DEF / err_procid" ];
471 40 -> 41 [ label = "'!'..'~'" ];
472 40 -> err_40 [ label = "DEF / err_procid" ];
473 41 -> 42 [ label = "'!'..'~'" ];
474 41 -> err_41 [ label = "DEF / err_procid" ];
475 42 -> 43 [ label = "'!'..'~'" ];
476 42 -> err_42 [ label = "DEF / err_procid" ];
477 43 -> 44 [ label = "'!'..'~'" ];
478 43 -> err_43 [ label = "DEF / err_procid" ];
479 44 -> 45 [ label = "'!'..'~'" ];
480 44 -> err_44 [ label = "DEF / err_procid" ];
481 45 -> 46 [ label = "'!'..'~'" ];
482 45 -> err_45 [ label = "DEF / err_procid" ];
483 46 -> 47 [ label = "'!'..'~'" ];
484 46 -> err_46 [ label = "DEF / err_procid" ];
485 47 -> 48 [ label = "'!'..'~'" ];
486 47 -> err_47 [ label = "DEF / err_procid" ];
487 48 -> 49 [ label = "'!'..'~'" ];
488 48 -> err_48 [ label = "DEF / err_procid" ];
489 49 -> 50 [ label = "'!'..'~'" ];
490 49 -> err_49 [ label = "DEF / err_procid" ];
491 50 -> 51 [ label = "'!'..'~'" ];
492 50 -> err_50 [ label = "DEF / err_procid" ];
493 51 -> 52 [ label = "'!'..'~'" ];
494 51 -> err_51 [ label = "DEF / err_procid" ];
495 52 -> 53 [ label = "'!'..'~'" ];
496 52 -> err_52 [ label = "DEF / err_procid" ];
497 53 -> 54 [ label = "'!'..'~'" ];
498 53 -> err_53 [ label = "DEF / err_procid" ];
499 54 -> 55 [ label = "'!'..'~'" ];
500 54 -> err_54 [ label = "DEF / err_procid" ];
501 55 -> 56 [ label = "'!'..'~'" ];
502 55 -> err_55 [ label = "DEF / err_procid" ];
503 56 -> 57 [ label = "'!'..'~'" ];
504 56 -> err_56 [ label = "DEF / err_procid" ];
505 57 -> 58 [ label = "'!'..'~'" ];
506 57 -> err_57 [ label = "DEF / err_procid" ];
507 58 -> 59 [ label = "'!'..'~'" ];
508 58 -> err_58 [ label = "DEF / err_procid" ];
509 59 -> 60 [ label = "'!'..'~'" ];
510 59 -> err_59 [ label = "DEF / err_procid" ];
511 60 -> 61 [ label = "'!'..'~'" ];
512 60 -> err_60 [ label = "DEF / err_procid" ];
513 61 -> 62 [ label = "'!'..'~'" ];
514 61 -> err_61 [ label = "DEF / err_procid" ];
515 62 -> 63 [ label = "'!'..'~'" ];
516 62 -> err_62 [ label = "DEF / err_procid" ];
517 63 -> 64 [ label = "'!'..'~'" ];
518 63 -> err_63 [ label = "DEF / err_procid" ];
519 64 -> 65 [ label = "'!'..'~'" ];
520 64 -> err_64 [ label = "DEF / err_procid" ];
521 65 -> 66 [ label = "'!'..'~'" ];
522 65 -> err_65 [ label = "DEF / err_procid" ];
523 66 -> 67 [ label = "'!'..'~'" ];
524 66 -> err_66 [ label = "DEF / err_procid" ];
525 67 -> 68 [ label = "'!'..'~'" ];
526 67 -> err_67 [ label = "DEF / err_procid" ];
527 68 -> 69 [ label = "'!'..'~'" ];
528 68 -> err_68 [ label = "DEF / err_procid" ];
529 69 -> 70 [ label = "'!'..'~'" ];
530 69 -> err_69 [ label = "DEF / err_procid" ];
531 70 -> 71 [ label = "'!'..'~'" ];
532 70 -> err_70 [ label = "DEF / err_procid" ];
533 71 -> 72 [ label = "'!'..'~'" ];
534 71 -> err_71 [ label = "DEF / err_procid" ];
535 72 -> 73 [ label = "'!'..'~'" ];
536 72 -> err_72 [ label = "DEF / err_procid" ];
537 73 -> 74 [ label = "'!'..'~'" ];
538 73 -> err_73 [ label = "DEF / err_procid" ];
539 74 -> 75 [ label = "'!'..'~'" ];
540 74 -> err_74 [ label = "DEF / err_procid" ];
541 75 -> 76 [ label = "'!'..'~'" ];
542 75 -> err_75 [ label = "DEF / err_procid" ];
543 76 -> 77 [ label = "'!'..'~'" ];
544 76 -> err_76 [ label = "DEF / err_procid" ];
545 77 -> 78 [ label = "'!'..'~'" ];
546 77 -> err_77 [ label = "DEF / err_procid" ];
547 78 -> 79 [ label = "'!'..'~'" ];
548 78 -> err_78 [ label = "DEF / err_procid" ];
549 79 -> 80 [ label = "'!'..'~'" ];
550 79 -> err_79 [ label = "DEF / err_procid" ];
551 80 -> 81 [ label = "'!'..'~'" ];
552 80 -> err_80 [ label = "DEF / err_procid" ];
553 81 -> 82 [ label = "'!'..'~'" ];
554 81 -> err_81 [ label = "DEF / err_procid" ];
555 82 -> 83 [ label = "'!'..'~'" ];
556 82 -> err_82 [ label = "DEF / err_procid" ];
557 83 -> 84 [ label = "'!'..'~'" ];
558 83 -> err_83 [ label = "DEF / err_procid" ];
559 84 -> 85 [ label = "'!'..'~'" ];
560 84 -> err_84 [ label = "DEF / err_procid" ];
561 85 -> 86 [ label = "'!'..'~'" ];
562 85 -> err_85 [ label = "DEF / err_procid" ];
563 86 -> 87 [ label = "'!'..'~'" ];
564 86 -> err_86 [ label = "DEF / err_procid" ];
565 87 -> 88 [ label = "'!'..'~'" ];
566 87 -> err_87 [ label = "DEF / err_procid" ];
567 88 -> 89 [ label = "'!'..'~'" ];
568 88 -> err_88 [ label = "DEF / err_procid" ];
569 89 -> 90 [ label = "'!'..'~'" ];
570 89 -> err_89 [ label = "DEF / err_procid" ];
571 90 -> 91 [ label = "'!'..'~'" ];
572 90 -> err_90 [ label = "DEF / err_procid" ];
573 91 -> 92 [ label = "'!'..'~'" ];
574 91 -> err_91 [ label = "DEF / err_procid" ];
575 92 -> 93 [ label = "'!'..'~'" ];
576 92 -> err_92 [ label = "DEF / err_procid" ];
577 93 -> 94 [ label = "'!'..'~'" ];
578 93 -> err_93 [ label = "DEF / err_procid" ];
579 94 -> 95 [ label = "'!'..'~'" ];
580 94 -> err_94 [ label = "DEF / err_procid" ];
581 95 -> 96 [ label = "'!'..'~'" ];
582 95 -> err_95 [ label = "DEF / err_procid" ];
583 96 -> 97 [ label = "'!'..'~'" ];
584 96 -> err_96 [ label = "DEF / err_procid" ];
585 97 -> 98 [ label = "'!'..'~'" ];
586 97 -> err_97 [ label = "DEF / err_procid" ];
587 98 -> 99 [ label = "'!'..'~'" ];
588 98 -> err_98 [ label = "DEF / err_procid" ];
589 99 -> 100 [ label = "'!'..'~'" ];
590 99 -> err_99 [ label = "DEF / err_procid" ];
591 100 -> 101 [ label = "'!'..'~'" ];
592 100 -> err_100 [ label = "DEF / err_procid" ];
593 101 -> 102 [ label = "'!'..'~'" ];
594 101 -> err_101 [ label = "DEF / err_procid" ];
595 102 -> 103 [ label = "'!'..'~'" ];
596 102 -> err_102 [ label = "DEF / err_procid" ];
597 103 -> 104 [ label = "'!'..'~'" ];
598 103 -> err_103 [ label = "DEF / err_procid" ];
599 104 -> 105 [ label = "'!'..'~'" ];
600 104 -> err_104 [ label = "DEF / err_procid" ];
601 105 -> 106 [ label = "'!'..'~'" ];
602 105 -> err_105 [ label = "DEF / err_procid" ];
603 106 -> 107 [ label = "'!'..'~'" ];
604 106 -> err_106 [ label = "DEF / err_procid" ];
605 107 -> 108 [ label = "'!'..'~'" ];
606 107 -> err_107 [ label = "DEF / err_procid" ];
607 108 -> 109 [ label = "'!'..'~'" ];
608 108 -> err_108 [ label = "DEF / err_procid" ];
609 109 -> 110 [ label = "'!'..'~'" ];
610 109 -> err_109 [ label = "DEF / err_procid" ];
611 110 -> 111 [ label = "'!'..'~'" ];
612 110 -> err_110 [ label = "DEF / err_procid" ];
613 111 -> 112 [ label = "'!'..'~'" ];
614 111 -> err_111 [ label = "DEF / err_procid" ];
615 112 -> 113 [ label = "'!'..'~'" ];
616 112 -> err_112 [ label = "DEF / err_procid" ];
617 113 -> 114 [ label = "'!'..'~'" ];
618 113 -> err_113 [ label = "DEF / err_procid" ];
619 114 -> 115 [ label = "'!'..'~'" ];
620 114 -> err_114 [ label = "DEF / err_procid" ];
621 115 -> 116 [ label = "'!'..'~'" ];
622 115 -> err_115 [ label = "DEF / err_procid" ];
623 116 -> 117 [ label = "'!'..'~'" ];
624 116 -> err_116 [ label = "DEF / err_procid" ];
625 117 -> 118 [ label = "'!'..'~'" ];
626 117 -> err_117 [ label = "DEF / err_procid" ];
627 118 -> 119 [ label = "'!'..'~'" ];
628 118 -> err_118 [ label = "DEF / err_procid" ];
629 119 -> 120 [ label = "'!'..'~'" ];
630 119 -> err_119 [ label = "DEF / err_procid" ];
631 120 -> 121 [ label = "'!'..'~'" ];
632 120 -> err_120 [ label = "DEF / err_procid" ];
633 121 -> 122 [ label = "'!'..'~'" ];
634 121 -> err_121 [ label = "DEF / err_procid" ];
635 122 -> 123 [ label = "'!'..'~'" ];
636 122 -> err_122 [ label = "DEF / err_procid" ];
637 123 -> 124 [ label = "'!'..'~'" ];
638 123 -> err_123 [ label = "DEF / err_procid" ];
639 124 -> 125 [ label = "'!'..'~'" ];
640 124 -> err_124 [ label = "DEF / err_procid" ];
641 125 -> 126 [ label = "'!'..'~'" ];
642 125 -> err_125 [ label = "DEF / err_procid" ];
643 126 -> 127 [ label = "'!'..'~'" ];
644 126 -> err_126 [ label = "DEF / err_procid" ];
645 127 -> 128 [ label = "'!'..'~'" ];
646 127 -> err_127 [ label = "DEF / err_procid" ];
647 128 -> 129 [ label = "'!'..'~'" ];
648 128 -> err_128 [ label = "DEF / err_procid" ];
649 129 -> err_129 [ label = "DEF / err_procid" ];
650 ENTRY -> 1 [ label = "IN" ];
651 1 -> eof_1 [ label = "EOF / err_procid" ];
652 2 -> eof_2 [ label = "EOF / set_procid" ];
653 3 -> eof_3 [ label = "EOF / set_procid" ];
654 4 -> eof_4 [ label = "EOF / set_procid" ];
655 5 -> eof_5 [ label = "EOF / set_procid" ];
656 6 -> eof_6 [ label = "EOF / set_procid" ];
657 7 -> eof_7 [ label = "EOF / set_procid" ];
658 8 -> eof_8 [ label = "EOF / set_procid" ];
659 9 -> eof_9 [ label = "EOF / set_procid" ];
660 10 -> eof_10 [ label = "EOF / set_procid" ];
661 11 -> eof_11 [ label = "EOF / set_procid" ];
662 12 -> eof_12 [ label = "EOF / set_procid" ];
663 13 -> eof_13 [ label = "EOF / set_procid" ];
664 14 -> eof_14 [ label = "EOF / set_procid" ];
665 15 -> eof_15 [ label = "EOF / set_procid" ];
666 16 -> eof_16 [ label = "EOF / set_procid" ];
667 17 -> eof_17 [ label = "EOF / set_procid" ];
668 18 -> eof_18 [ label = "EOF / set_procid" ];
669 19 -> eof_19 [ label = "EOF / set_procid" ];
670 20 -> eof_20 [ label = "EOF / set_procid" ];
671 21 -> eof_21 [ label = "EOF / set_procid" ];
672 22 -> eof_22 [ label = "EOF / set_procid" ];
673 23 -> eof_23 [ label = "EOF / set_procid" ];
674 24 -> eof_24 [ label = "EOF / set_procid" ];
675 25 -> eof_25 [ label = "EOF / set_procid" ];
676 26 -> eof_26 [ label = "EOF / set_procid" ];
677 27 -> eof_27 [ label = "EOF / set_procid" ];
678 28 -> eof_28 [ label = "EOF / set_procid" ];
679 29 -> eof_29 [ label = "EOF / set_procid" ];
680 30 -> eof_30 [ label = "EOF / set_procid" ];
681 31 -> eof_31 [ label = "EOF / set_procid" ];
682 32 -> eof_32 [ label = "EOF / set_procid" ];
683 33 -> eof_33 [ label = "EOF / set_procid" ];
684 34 -> eof_34 [ label = "EOF / set_procid" ];
685 35 -> eof_35 [ label = "EOF / set_procid" ];
686 36 -> eof_36 [ label = "EOF / set_procid" ];
687 37 -> eof_37 [ label = "EOF / set_procid" ];
688 38 -> eof_38 [ label = "EOF / set_procid" ];
689 39 -> eof_39 [ label = "EOF / set_procid" ];
690 40 -> eof_40 [ label = "EOF / set_procid" ];
691 41 -> eof_41 [ label = "EOF / set_procid" ];
692 42 -> eof_42 [ label = "EOF / set_procid" ];
693 43 -> eof_43 [ label = "EOF / set_procid" ];
694 44 -> eof_44 [ label = "EOF / set_procid" ];
695 45 -> eof_45 [ label = "EOF / set_procid" ];
696 46 -> eof_46 [ label = "EOF / set_procid" ];
697 47 -> eof_47 [ label = "EOF / set_procid" ];
698 48 -> eof_48 [ label = "EOF / set_procid" ];
699 49 -> eof_49 [ label = "EOF / set_procid" ];
700 50 -> eof_50 [ label = "EOF / set_procid" ];
701 51 -> eof_51 [ label = "EOF / set_procid" ];
702 52 -> eof_52 [ label = "EOF / set_procid" ];
703 53 -> eof_53 [ label = "EOF / set_procid" ];
704 54 -> eof_54 [ label = "EOF / set_procid" ];
705 55 -> eof_55 [ label = "EOF / set_procid" ];
706 56 -> eof_56 [ label = "EOF / set_procid" ];
707 57 -> eof_57 [ label = "EOF / set_procid" ];
708 58 -> eof_58 [ label = "EOF / set_procid" ];
709 59 -> eof_59 [ label = "EOF / set_procid" ];
710 60 -> eof_60 [ label = "EOF / set_procid" ];
711 61 -> eof_61 [ label = "EOF / set_procid" ];
712 62 -> eof_62 [ label = "EOF / set_procid" ];
713 63 -> eof_63 [ label = "EOF / set_procid" ];
714 64 -> eof_64 [ label = "EOF / set_procid" ];
715 65 -> eof_65 [ label = "EOF / set_procid" ];
716 66 -> eof_66 [ label = "EOF / set_procid" ];
717 67 -> eof_67 [ label = "EOF / set_procid" ];
718 68 -> eof_68 [ label = "EOF / set_procid" ];
719 69 -> eof_69 [ label = "EOF / set_procid" ];
720 70 -> eof_70 [ label = "EOF / set_procid" ];
721 71 -> eof_71 [ label = "EOF / set_procid" ];
722 72 -> eof_72 [ label = "EOF / set_procid" ];
723 73 -> eof_73 [ label = "EOF / set_procid" ];
724 74 -> eof_74 [ label = "EOF / set_procid" ];
725 75 -> eof_75 [ label = "EOF / set_procid" ];
726 76 -> eof_76 [ label = "EOF / set_procid" ];
727 77 -> eof_77 [ label = "EOF / set_procid" ];
728 78 -> eof_78 [ label = "EOF / set_procid" ];
729 79 -> eof_79 [ label = "EOF / set_procid" ];
730 80 -> eof_80 [ label = "EOF / set_procid" ];
731 81 -> eof_81 [ label = "EOF / set_procid" ];
732 82 -> eof_82 [ label = "EOF / set_procid" ];
733 83 -> eof_83 [ label = "EOF / set_procid" ];
734 84 -> eof_84 [ label = "EOF / set_procid" ];
735 85 -> eof_85 [ label = "EOF / set_procid" ];
736 86 -> eof_86 [ label = "EOF / set_procid" ];
737 87 -> eof_87 [ label = "EOF / set_procid" ];
738 88 -> eof_88 [ label = "EOF / set_procid" ];
739 89 -> eof_89 [ label = "EOF / set_procid" ];
740 90 -> eof_90 [ label = "EOF / set_procid" ];
741 91 -> eof_91 [ label = "EOF / set_procid" ];
742 92 -> eof_92 [ label = "EOF / set_procid" ];
743 93 -> eof_93 [ label = "EOF / set_procid" ];
744 94 -> eof_94 [ label = "EOF / set_procid" ];
745 95 -> eof_95 [ label = "EOF / set_procid" ];
746 96 -> eof_96 [ label = "EOF / set_procid" ];
747 97 -> eof_97 [ label = "EOF / set_procid" ];
748 98 -> eof_98 [ label = "EOF / set_procid" ];
749 99 -> eof_99 [ label = "EOF / set_procid" ];
750 100 -> eof_100 [ label = "EOF / set_procid" ];
751 101 -> eof_101 [ label = "EOF / set_procid" ];
752 102 -> eof_102 [ label = "EOF / set_procid" ];
753 103 -> eof_103 [ label = "EOF / set_procid" ];
754 104 -> eof_104 [ label = "EOF / set_procid" ];
755 105 -> eof_105 [ label = "EOF / set_procid" ];
756 106 -> eof_106 [ label = "EOF / set_procid" ];
757 107 -> eof_107 [ label = "EOF / set_procid" ];
758 108 -> eof_108 [ label = "EOF / set_procid" ];
759 109 -> eof_109 [ label = "EOF / set_procid" ];
760 110 -> eof_110 [ label = "EOF / set_procid" ];
761 111 -> eof_111 [ label = "EOF / set_procid" ];
762 112 -> eof_112 [ label = "EOF / set_procid" ];
763 113 -> eof_113 [ label = "EOF / set_procid" ];
764 114 -> eof_114 [ label = "EOF / set_procid" ];
765 115 -> eof_115 [ label = "EOF / set_procid" ];
766 116 -> eof_116 [ label = "EOF / set_procid" ];
767 117 -> eof_117 [ label = "EOF / set_procid" ];
768 118 -> eof_118 [ label = "EOF / set_procid" ];
769 119 -> eof_119 [ label = "EOF / set_procid" ];
770 120 -> eof_120 [ label = "EOF / set_procid" ];
771 121 -> eof_121 [ label = "EOF / set_procid" ];
772 122 -> eof_122 [ label = "EOF / set_procid" ];
773 123 -> eof_123 [ label = "EOF / set_procid" ];
774 124 -> eof_124 [ label = "EOF / set_procid" ];
775 125 -> eof_125 [ label = "EOF / set_procid" ];
776 126 -> eof_126 [ label = "EOF / set_procid" ];
777 127 -> eof_127 [ label = "EOF / set_procid" ];
778 128 -> eof_128 [ label = "EOF / set_procid" ];
779 129 -> eof_129 [ label = "EOF / set_procid" ];
780 }
0 digraph rfc5424 {
1 rankdir=LR;
2 node [ shape = point ];
3 ENTRY;
4 eof_1;
5 eof_2;
6 eof_3;
7 eof_4;
8 eof_5;
9 eof_6;
10 eof_7;
11 eof_8;
12 eof_9;
13 eof_10;
14 eof_11;
15 eof_12;
16 eof_13;
17 eof_14;
18 eof_15;
19 eof_16;
20 eof_17;
21 eof_18;
22 eof_19;
23 eof_20;
24 eof_21;
25 eof_22;
26 eof_23;
27 eof_24;
28 eof_25;
29 eof_26;
30 eof_27;
31 eof_28;
32 eof_29;
33 eof_30;
34 eof_31;
35 eof_32;
36 eof_33;
37 eof_34;
38 eof_35;
39 eof_36;
40 eof_37;
41 eof_38;
42 eof_39;
43 eof_40;
44 eof_41;
45 eof_42;
46 eof_43;
47 eof_44;
48 eof_45;
49 eof_46;
50 eof_47;
51 eof_48;
52 eof_49;
53 eof_50;
54 eof_51;
55 eof_52;
56 eof_53;
57 eof_54;
58 eof_55;
59 eof_56;
60 eof_57;
61 eof_58;
62 eof_59;
63 eof_60;
64 eof_61;
65 eof_62;
66 eof_63;
67 eof_64;
68 eof_65;
69 eof_66;
70 eof_67;
71 eof_68;
72 eof_69;
73 eof_70;
74 eof_71;
75 eof_72;
76 eof_73;
77 eof_74;
78 eof_75;
79 eof_76;
80 eof_77;
81 eof_78;
82 eof_79;
83 node [ shape = circle, height = 0.2 ];
84 err_1 [ label=""];
85 err_2 [ label=""];
86 err_3 [ label=""];
87 err_4 [ label=""];
88 err_5 [ label=""];
89 err_6 [ label=""];
90 err_7 [ label=""];
91 err_8 [ label=""];
92 err_9 [ label=""];
93 err_10 [ label=""];
94 err_11 [ label=""];
95 err_12 [ label=""];
96 err_13 [ label=""];
97 err_14 [ label=""];
98 err_15 [ label=""];
99 err_16 [ label=""];
100 err_17 [ label=""];
101 err_18 [ label=""];
102 err_19 [ label=""];
103 err_20 [ label=""];
104 err_21 [ label=""];
105 err_22 [ label=""];
106 err_23 [ label=""];
107 err_24 [ label=""];
108 err_25 [ label=""];
109 err_26 [ label=""];
110 err_27 [ label=""];
111 err_28 [ label=""];
112 err_29 [ label=""];
113 err_30 [ label=""];
114 err_31 [ label=""];
115 err_32 [ label=""];
116 err_33 [ label=""];
117 err_34 [ label=""];
118 err_35 [ label=""];
119 err_36 [ label=""];
120 err_37 [ label=""];
121 err_38 [ label=""];
122 err_39 [ label=""];
123 err_40 [ label=""];
124 err_41 [ label=""];
125 err_42 [ label=""];
126 err_43 [ label=""];
127 err_44 [ label=""];
128 err_45 [ label=""];
129 err_46 [ label=""];
130 err_47 [ label=""];
131 err_48 [ label=""];
132 err_49 [ label=""];
133 err_50 [ label=""];
134 err_51 [ label=""];
135 err_52 [ label=""];
136 err_53 [ label=""];
137 err_54 [ label=""];
138 err_55 [ label=""];
139 err_56 [ label=""];
140 err_57 [ label=""];
141 err_58 [ label=""];
142 err_59 [ label=""];
143 err_60 [ label=""];
144 err_61 [ label=""];
145 err_62 [ label=""];
146 err_63 [ label=""];
147 err_64 [ label=""];
148 err_65 [ label=""];
149 err_66 [ label=""];
150 err_67 [ label=""];
151 err_68 [ label=""];
152 err_69 [ label=""];
153 err_70 [ label=""];
154 err_71 [ label=""];
155 err_72 [ label=""];
156 err_73 [ label=""];
157 err_74 [ label=""];
158 err_75 [ label=""];
159 err_76 [ label=""];
160 err_77 [ label=""];
161 err_78 [ label=""];
162 err_79 [ label=""];
163 err_81 [ label=""];
164 node [ fixedsize = true, height = 0.65, shape = doublecircle ];
165 80;
166 81;
167 node [ shape = circle ];
168 1 -> 80 [ label = "'-'" ];
169 1 -> 2 [ label = "'[' / ini_elements" ];
170 1 -> err_1 [ label = "DEF / err_structureddata" ];
171 2 -> 3 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~' / mark" ];
172 2 -> err_2 [ label = "DEF / err_sdid, err_structureddata" ];
173 3 -> 4 [ label = "SP / set_id" ];
174 3 -> 49 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
175 3 -> 81 [ label = "']' / set_id" ];
176 3 -> err_3 [ label = "DEF / set_id, err_sdid, err_structureddata" ];
177 4 -> 5 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~' / ini_sdparam, mark" ];
178 4 -> err_4 [ label = "DEF / err_sdparam, err_structureddata" ];
179 5 -> 6 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
180 5 -> 37 [ label = "'=' / set_paramname" ];
181 5 -> err_5 [ label = "DEF / err_sdparam, err_structureddata" ];
182 6 -> 7 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
183 6 -> 37 [ label = "'=' / set_paramname" ];
184 6 -> err_6 [ label = "DEF / err_sdparam, err_structureddata" ];
185 7 -> 8 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
186 7 -> 37 [ label = "'=' / set_paramname" ];
187 7 -> err_7 [ label = "DEF / err_sdparam, err_structureddata" ];
188 8 -> 9 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
189 8 -> 37 [ label = "'=' / set_paramname" ];
190 8 -> err_8 [ label = "DEF / err_sdparam, err_structureddata" ];
191 9 -> 10 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
192 9 -> 37 [ label = "'=' / set_paramname" ];
193 9 -> err_9 [ label = "DEF / err_sdparam, err_structureddata" ];
194 10 -> 11 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
195 10 -> 37 [ label = "'=' / set_paramname" ];
196 10 -> err_10 [ label = "DEF / err_sdparam, err_structureddata" ];
197 11 -> 12 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
198 11 -> 37 [ label = "'=' / set_paramname" ];
199 11 -> err_11 [ label = "DEF / err_sdparam, err_structureddata" ];
200 12 -> 13 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
201 12 -> 37 [ label = "'=' / set_paramname" ];
202 12 -> err_12 [ label = "DEF / err_sdparam, err_structureddata" ];
203 13 -> 14 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
204 13 -> 37 [ label = "'=' / set_paramname" ];
205 13 -> err_13 [ label = "DEF / err_sdparam, err_structureddata" ];
206 14 -> 15 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
207 14 -> 37 [ label = "'=' / set_paramname" ];
208 14 -> err_14 [ label = "DEF / err_sdparam, err_structureddata" ];
209 15 -> 16 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
210 15 -> 37 [ label = "'=' / set_paramname" ];
211 15 -> err_15 [ label = "DEF / err_sdparam, err_structureddata" ];
212 16 -> 17 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
213 16 -> 37 [ label = "'=' / set_paramname" ];
214 16 -> err_16 [ label = "DEF / err_sdparam, err_structureddata" ];
215 17 -> 18 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
216 17 -> 37 [ label = "'=' / set_paramname" ];
217 17 -> err_17 [ label = "DEF / err_sdparam, err_structureddata" ];
218 18 -> 19 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
219 18 -> 37 [ label = "'=' / set_paramname" ];
220 18 -> err_18 [ label = "DEF / err_sdparam, err_structureddata" ];
221 19 -> 20 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
222 19 -> 37 [ label = "'=' / set_paramname" ];
223 19 -> err_19 [ label = "DEF / err_sdparam, err_structureddata" ];
224 20 -> 21 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
225 20 -> 37 [ label = "'=' / set_paramname" ];
226 20 -> err_20 [ label = "DEF / err_sdparam, err_structureddata" ];
227 21 -> 22 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
228 21 -> 37 [ label = "'=' / set_paramname" ];
229 21 -> err_21 [ label = "DEF / err_sdparam, err_structureddata" ];
230 22 -> 23 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
231 22 -> 37 [ label = "'=' / set_paramname" ];
232 22 -> err_22 [ label = "DEF / err_sdparam, err_structureddata" ];
233 23 -> 24 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
234 23 -> 37 [ label = "'=' / set_paramname" ];
235 23 -> err_23 [ label = "DEF / err_sdparam, err_structureddata" ];
236 24 -> 25 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
237 24 -> 37 [ label = "'=' / set_paramname" ];
238 24 -> err_24 [ label = "DEF / err_sdparam, err_structureddata" ];
239 25 -> 26 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
240 25 -> 37 [ label = "'=' / set_paramname" ];
241 25 -> err_25 [ label = "DEF / err_sdparam, err_structureddata" ];
242 26 -> 27 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
243 26 -> 37 [ label = "'=' / set_paramname" ];
244 26 -> err_26 [ label = "DEF / err_sdparam, err_structureddata" ];
245 27 -> 28 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
246 27 -> 37 [ label = "'=' / set_paramname" ];
247 27 -> err_27 [ label = "DEF / err_sdparam, err_structureddata" ];
248 28 -> 29 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
249 28 -> 37 [ label = "'=' / set_paramname" ];
250 28 -> err_28 [ label = "DEF / err_sdparam, err_structureddata" ];
251 29 -> 30 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
252 29 -> 37 [ label = "'=' / set_paramname" ];
253 29 -> err_29 [ label = "DEF / err_sdparam, err_structureddata" ];
254 30 -> 31 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
255 30 -> 37 [ label = "'=' / set_paramname" ];
256 30 -> err_30 [ label = "DEF / err_sdparam, err_structureddata" ];
257 31 -> 32 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
258 31 -> 37 [ label = "'=' / set_paramname" ];
259 31 -> err_31 [ label = "DEF / err_sdparam, err_structureddata" ];
260 32 -> 33 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
261 32 -> 37 [ label = "'=' / set_paramname" ];
262 32 -> err_32 [ label = "DEF / err_sdparam, err_structureddata" ];
263 33 -> 34 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
264 33 -> 37 [ label = "'=' / set_paramname" ];
265 33 -> err_33 [ label = "DEF / err_sdparam, err_structureddata" ];
266 34 -> 35 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
267 34 -> 37 [ label = "'=' / set_paramname" ];
268 34 -> err_34 [ label = "DEF / err_sdparam, err_structureddata" ];
269 35 -> 36 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
270 35 -> 37 [ label = "'=' / set_paramname" ];
271 35 -> err_35 [ label = "DEF / err_sdparam, err_structureddata" ];
272 36 -> 37 [ label = "'=' / set_paramname" ];
273 36 -> err_36 [ label = "DEF / err_sdparam, err_structureddata" ];
274 37 -> 38 [ label = "'\"'" ];
275 37 -> err_37 [ label = "DEF / err_sdparam, err_structureddata" ];
276 38 -> 40 [ label = "'\"' / mark, set_paramvalue" ];
277 38 -> 41 [ label = "'\\' / mark, add_slash" ];
278 38 -> err_38 [ label = "']', 128..193, 245..255 / err_escape, err_sdparam, err_structureddata" ];
279 38 -> 42 [ label = "194..223 / mark" ];
280 38 -> 43 [ label = "224 / mark" ];
281 38 -> 44 [ label = "225..236, 238..239 / mark" ];
282 38 -> 45 [ label = "237 / mark" ];
283 38 -> 46 [ label = "240 / mark" ];
284 38 -> 47 [ label = "241..243 / mark" ];
285 38 -> 48 [ label = "244 / mark" ];
286 38 -> 39 [ label = "DEF / mark" ];
287 39 -> 40 [ label = "'\"' / set_paramvalue" ];
288 39 -> 41 [ label = "'\\' / add_slash" ];
289 39 -> err_39 [ label = "']', 128..193, 245..255 / err_escape, err_sdparam, err_structureddata" ];
290 39 -> 42 [ label = "194..223" ];
291 39 -> 43 [ label = "224" ];
292 39 -> 44 [ label = "225..236, 238..239" ];
293 39 -> 45 [ label = "237" ];
294 39 -> 46 [ label = "240" ];
295 39 -> 47 [ label = "241..243" ];
296 39 -> 48 [ label = "244" ];
297 39 -> 39 [ label = "DEF" ];
298 40 -> 4 [ label = "SP" ];
299 40 -> 81 [ label = "']'" ];
300 40 -> err_40 [ label = "DEF / err_sdparam, err_structureddata" ];
301 41 -> 39 [ label = "'\"', '\\'..']'" ];
302 41 -> err_41 [ label = "DEF / err_escape, err_sdparam, err_structureddata" ];
303 42 -> 39 [ label = "128..191" ];
304 42 -> err_42 [ label = "DEF / err_sdparam, err_structureddata" ];
305 43 -> 42 [ label = "160..191" ];
306 43 -> err_43 [ label = "DEF / err_sdparam, err_structureddata" ];
307 44 -> 42 [ label = "128..191" ];
308 44 -> err_44 [ label = "DEF / err_sdparam, err_structureddata" ];
309 45 -> 42 [ label = "128..159" ];
310 45 -> err_45 [ label = "DEF / err_sdparam, err_structureddata" ];
311 46 -> 44 [ label = "144..191" ];
312 46 -> err_46 [ label = "DEF / err_sdparam, err_structureddata" ];
313 47 -> 44 [ label = "128..191" ];
314 47 -> err_47 [ label = "DEF / err_sdparam, err_structureddata" ];
315 48 -> 44 [ label = "128..143" ];
316 48 -> err_48 [ label = "DEF / err_sdparam, err_structureddata" ];
317 49 -> 4 [ label = "SP / set_id" ];
318 49 -> 50 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
319 49 -> 81 [ label = "']' / set_id" ];
320 49 -> err_49 [ label = "DEF / set_id, err_sdid, err_structureddata" ];
321 50 -> 4 [ label = "SP / set_id" ];
322 50 -> 51 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
323 50 -> 81 [ label = "']' / set_id" ];
324 50 -> err_50 [ label = "DEF / set_id, err_sdid, err_structureddata" ];
325 51 -> 4 [ label = "SP / set_id" ];
326 51 -> 52 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
327 51 -> 81 [ label = "']' / set_id" ];
328 51 -> err_51 [ label = "DEF / set_id, err_sdid, err_structureddata" ];
329 52 -> 4 [ label = "SP / set_id" ];
330 52 -> 53 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
331 52 -> 81 [ label = "']' / set_id" ];
332 52 -> err_52 [ label = "DEF / set_id, err_sdid, err_structureddata" ];
333 53 -> 4 [ label = "SP / set_id" ];
334 53 -> 54 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
335 53 -> 81 [ label = "']' / set_id" ];
336 53 -> err_53 [ label = "DEF / set_id, err_sdid, err_structureddata" ];
337 54 -> 4 [ label = "SP / set_id" ];
338 54 -> 55 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
339 54 -> 81 [ label = "']' / set_id" ];
340 54 -> err_54 [ label = "DEF / set_id, err_sdid, err_structureddata" ];
341 55 -> 4 [ label = "SP / set_id" ];
342 55 -> 56 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
343 55 -> 81 [ label = "']' / set_id" ];
344 55 -> err_55 [ label = "DEF / set_id, err_sdid, err_structureddata" ];
345 56 -> 4 [ label = "SP / set_id" ];
346 56 -> 57 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
347 56 -> 81 [ label = "']' / set_id" ];
348 56 -> err_56 [ label = "DEF / set_id, err_sdid, err_structureddata" ];
349 57 -> 4 [ label = "SP / set_id" ];
350 57 -> 58 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
351 57 -> 81 [ label = "']' / set_id" ];
352 57 -> err_57 [ label = "DEF / set_id, err_sdid, err_structureddata" ];
353 58 -> 4 [ label = "SP / set_id" ];
354 58 -> 59 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
355 58 -> 81 [ label = "']' / set_id" ];
356 58 -> err_58 [ label = "DEF / set_id, err_sdid, err_structureddata" ];
357 59 -> 4 [ label = "SP / set_id" ];
358 59 -> 60 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
359 59 -> 81 [ label = "']' / set_id" ];
360 59 -> err_59 [ label = "DEF / set_id, err_sdid, err_structureddata" ];
361 60 -> 4 [ label = "SP / set_id" ];
362 60 -> 61 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
363 60 -> 81 [ label = "']' / set_id" ];
364 60 -> err_60 [ label = "DEF / set_id, err_sdid, err_structureddata" ];
365 61 -> 4 [ label = "SP / set_id" ];
366 61 -> 62 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
367 61 -> 81 [ label = "']' / set_id" ];
368 61 -> err_61 [ label = "DEF / set_id, err_sdid, err_structureddata" ];
369 62 -> 4 [ label = "SP / set_id" ];
370 62 -> 63 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
371 62 -> 81 [ label = "']' / set_id" ];
372 62 -> err_62 [ label = "DEF / set_id, err_sdid, err_structureddata" ];
373 63 -> 4 [ label = "SP / set_id" ];
374 63 -> 64 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
375 63 -> 81 [ label = "']' / set_id" ];
376 63 -> err_63 [ label = "DEF / set_id, err_sdid, err_structureddata" ];
377 64 -> 4 [ label = "SP / set_id" ];
378 64 -> 65 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
379 64 -> 81 [ label = "']' / set_id" ];
380 64 -> err_64 [ label = "DEF / set_id, err_sdid, err_structureddata" ];
381 65 -> 4 [ label = "SP / set_id" ];
382 65 -> 66 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
383 65 -> 81 [ label = "']' / set_id" ];
384 65 -> err_65 [ label = "DEF / set_id, err_sdid, err_structureddata" ];
385 66 -> 4 [ label = "SP / set_id" ];
386 66 -> 67 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
387 66 -> 81 [ label = "']' / set_id" ];
388 66 -> err_66 [ label = "DEF / set_id, err_sdid, err_structureddata" ];
389 67 -> 4 [ label = "SP / set_id" ];
390 67 -> 68 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
391 67 -> 81 [ label = "']' / set_id" ];
392 67 -> err_67 [ label = "DEF / set_id, err_sdid, err_structureddata" ];
393 68 -> 4 [ label = "SP / set_id" ];
394 68 -> 69 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
395 68 -> 81 [ label = "']' / set_id" ];
396 68 -> err_68 [ label = "DEF / set_id, err_sdid, err_structureddata" ];
397 69 -> 4 [ label = "SP / set_id" ];
398 69 -> 70 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
399 69 -> 81 [ label = "']' / set_id" ];
400 69 -> err_69 [ label = "DEF / set_id, err_sdid, err_structureddata" ];
401 70 -> 4 [ label = "SP / set_id" ];
402 70 -> 71 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
403 70 -> 81 [ label = "']' / set_id" ];
404 70 -> err_70 [ label = "DEF / set_id, err_sdid, err_structureddata" ];
405 71 -> 4 [ label = "SP / set_id" ];
406 71 -> 72 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
407 71 -> 81 [ label = "']' / set_id" ];
408 71 -> err_71 [ label = "DEF / set_id, err_sdid, err_structureddata" ];
409 72 -> 4 [ label = "SP / set_id" ];
410 72 -> 73 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
411 72 -> 81 [ label = "']' / set_id" ];
412 72 -> err_72 [ label = "DEF / set_id, err_sdid, err_structureddata" ];
413 73 -> 4 [ label = "SP / set_id" ];
414 73 -> 74 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
415 73 -> 81 [ label = "']' / set_id" ];
416 73 -> err_73 [ label = "DEF / set_id, err_sdid, err_structureddata" ];
417 74 -> 4 [ label = "SP / set_id" ];
418 74 -> 75 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
419 74 -> 81 [ label = "']' / set_id" ];
420 74 -> err_74 [ label = "DEF / set_id, err_sdid, err_structureddata" ];
421 75 -> 4 [ label = "SP / set_id" ];
422 75 -> 76 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
423 75 -> 81 [ label = "']' / set_id" ];
424 75 -> err_75 [ label = "DEF / set_id, err_sdid, err_structureddata" ];
425 76 -> 4 [ label = "SP / set_id" ];
426 76 -> 77 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
427 76 -> 81 [ label = "']' / set_id" ];
428 76 -> err_76 [ label = "DEF / set_id, err_sdid, err_structureddata" ];
429 77 -> 4 [ label = "SP / set_id" ];
430 77 -> 78 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
431 77 -> 81 [ label = "']' / set_id" ];
432 77 -> err_77 [ label = "DEF / set_id, err_sdid, err_structureddata" ];
433 78 -> 4 [ label = "SP / set_id" ];
434 78 -> 79 [ label = "'!', '#'..'<', '>'..'\\', '^'..'~'" ];
435 78 -> 81 [ label = "']' / set_id" ];
436 78 -> err_78 [ label = "DEF / set_id, err_sdid, err_structureddata" ];
437 79 -> 4 [ label = "SP / set_id" ];
438 79 -> 81 [ label = "']' / set_id" ];
439 79 -> err_79 [ label = "DEF / set_id, err_sdid, err_structureddata" ];
440 81 -> 2 [ label = "'['" ];
441 81 -> err_81 [ label = "DEF / err_structureddata" ];
442 ENTRY -> 1 [ label = "IN" ];
443 1 -> eof_1 [ label = "EOF / err_structureddata" ];
444 2 -> eof_2 [ label = "EOF / err_sdid, err_structureddata" ];
445 3 -> eof_3 [ label = "EOF / set_id, err_sdid, err_structureddata" ];
446 4 -> eof_4 [ label = "EOF / err_sdparam, err_structureddata" ];
447 5 -> eof_5 [ label = "EOF / err_sdparam, err_structureddata" ];
448 6 -> eof_6 [ label = "EOF / err_sdparam, err_structureddata" ];
449 7 -> eof_7 [ label = "EOF / err_sdparam, err_structureddata" ];
450 8 -> eof_8 [ label = "EOF / err_sdparam, err_structureddata" ];
451 9 -> eof_9 [ label = "EOF / err_sdparam, err_structureddata" ];
452 10 -> eof_10 [ label = "EOF / err_sdparam, err_structureddata" ];
453 11 -> eof_11 [ label = "EOF / err_sdparam, err_structureddata" ];
454 12 -> eof_12 [ label = "EOF / err_sdparam, err_structureddata" ];
455 13 -> eof_13 [ label = "EOF / err_sdparam, err_structureddata" ];
456 14 -> eof_14 [ label = "EOF / err_sdparam, err_structureddata" ];
457 15 -> eof_15 [ label = "EOF / err_sdparam, err_structureddata" ];
458 16 -> eof_16 [ label = "EOF / err_sdparam, err_structureddata" ];
459 17 -> eof_17 [ label = "EOF / err_sdparam, err_structureddata" ];
460 18 -> eof_18 [ label = "EOF / err_sdparam, err_structureddata" ];
461 19 -> eof_19 [ label = "EOF / err_sdparam, err_structureddata" ];
462 20 -> eof_20 [ label = "EOF / err_sdparam, err_structureddata" ];
463 21 -> eof_21 [ label = "EOF / err_sdparam, err_structureddata" ];
464 22 -> eof_22 [ label = "EOF / err_sdparam, err_structureddata" ];
465 23 -> eof_23 [ label = "EOF / err_sdparam, err_structureddata" ];
466 24 -> eof_24 [ label = "EOF / err_sdparam, err_structureddata" ];
467 25 -> eof_25 [ label = "EOF / err_sdparam, err_structureddata" ];
468 26 -> eof_26 [ label = "EOF / err_sdparam, err_structureddata" ];
469 27 -> eof_27 [ label = "EOF / err_sdparam, err_structureddata" ];
470 28 -> eof_28 [ label = "EOF / err_sdparam, err_structureddata" ];
471 29 -> eof_29 [ label = "EOF / err_sdparam, err_structureddata" ];
472 30 -> eof_30 [ label = "EOF / err_sdparam, err_structureddata" ];
473 31 -> eof_31 [ label = "EOF / err_sdparam, err_structureddata" ];
474 32 -> eof_32 [ label = "EOF / err_sdparam, err_structureddata" ];
475 33 -> eof_33 [ label = "EOF / err_sdparam, err_structureddata" ];
476 34 -> eof_34 [ label = "EOF / err_sdparam, err_structureddata" ];
477 35 -> eof_35 [ label = "EOF / err_sdparam, err_structureddata" ];
478 36 -> eof_36 [ label = "EOF / err_sdparam, err_structureddata" ];
479 37 -> eof_37 [ label = "EOF / err_sdparam, err_structureddata" ];
480 38 -> eof_38 [ label = "EOF / err_escape, err_sdparam, err_structureddata" ];
481 39 -> eof_39 [ label = "EOF / err_escape, err_sdparam, err_structureddata" ];
482 40 -> eof_40 [ label = "EOF / err_sdparam, err_structureddata" ];
483 41 -> eof_41 [ label = "EOF / err_escape, err_sdparam, err_structureddata" ];
484 42 -> eof_42 [ label = "EOF / err_sdparam, err_structureddata" ];
485 43 -> eof_43 [ label = "EOF / err_sdparam, err_structureddata" ];
486 44 -> eof_44 [ label = "EOF / err_sdparam, err_structureddata" ];
487 45 -> eof_45 [ label = "EOF / err_sdparam, err_structureddata" ];
488 46 -> eof_46 [ label = "EOF / err_sdparam, err_structureddata" ];
489 47 -> eof_47 [ label = "EOF / err_sdparam, err_structureddata" ];
490 48 -> eof_48 [ label = "EOF / err_sdparam, err_structureddata" ];
491 49 -> eof_49 [ label = "EOF / set_id, err_sdid, err_structureddata" ];
492 50 -> eof_50 [ label = "EOF / set_id, err_sdid, err_structureddata" ];
493 51 -> eof_51 [ label = "EOF / set_id, err_sdid, err_structureddata" ];
494 52 -> eof_52 [ label = "EOF / set_id, err_sdid, err_structureddata" ];
495 53 -> eof_53 [ label = "EOF / set_id, err_sdid, err_structureddata" ];
496 54 -> eof_54 [ label = "EOF / set_id, err_sdid, err_structureddata" ];
497 55 -> eof_55 [ label = "EOF / set_id, err_sdid, err_structureddata" ];
498 56 -> eof_56 [ label = "EOF / set_id, err_sdid, err_structureddata" ];
499 57 -> eof_57 [ label = "EOF / set_id, err_sdid, err_structureddata" ];
500 58 -> eof_58 [ label = "EOF / set_id, err_sdid, err_structureddata" ];
501 59 -> eof_59 [ label = "EOF / set_id, err_sdid, err_structureddata" ];
502 60 -> eof_60 [ label = "EOF / set_id, err_sdid, err_structureddata" ];
503 61 -> eof_61 [ label = "EOF / set_id, err_sdid, err_structureddata" ];
504 62 -> eof_62 [ label = "EOF / set_id, err_sdid, err_structureddata" ];
505 63 -> eof_63 [ label = "EOF / set_id, err_sdid, err_structureddata" ];
506 64 -> eof_64 [ label = "EOF / set_id, err_sdid, err_structureddata" ];
507 65 -> eof_65 [ label = "EOF / set_id, err_sdid, err_structureddata" ];
508 66 -> eof_66 [ label = "EOF / set_id, err_sdid, err_structureddata" ];
509 67 -> eof_67 [ label = "EOF / set_id, err_sdid, err_structureddata" ];
510 68 -> eof_68 [ label = "EOF / set_id, err_sdid, err_structureddata" ];
511 69 -> eof_69 [ label = "EOF / set_id, err_sdid, err_structureddata" ];
512 70 -> eof_70 [ label = "EOF / set_id, err_sdid, err_structureddata" ];
513 71 -> eof_71 [ label = "EOF / set_id, err_sdid, err_structureddata" ];
514 72 -> eof_72 [ label = "EOF / set_id, err_sdid, err_structureddata" ];
515 73 -> eof_73 [ label = "EOF / set_id, err_sdid, err_structureddata" ];
516 74 -> eof_74 [ label = "EOF / set_id, err_sdid, err_structureddata" ];
517 75 -> eof_75 [ label = "EOF / set_id, err_sdid, err_structureddata" ];
518 76 -> eof_76 [ label = "EOF / set_id, err_sdid, err_structureddata" ];
519 77 -> eof_77 [ label = "EOF / set_id, err_sdid, err_structureddata" ];
520 78 -> eof_78 [ label = "EOF / set_id, err_sdid, err_structureddata" ];
521 79 -> eof_79 [ label = "EOF / set_id, err_sdid, err_structureddata" ];
522 }
0 digraph rfc5424 {
1 rankdir=LR;
2 node [ shape = point ];
3 ENTRY;
4 eof_1;
5 eof_2;
6 eof_3;
7 eof_4;
8 eof_5;
9 eof_6;
10 eof_7;
11 eof_8;
12 eof_9;
13 eof_10;
14 eof_11;
15 eof_12;
16 eof_13;
17 eof_14;
18 eof_15;
19 eof_16;
20 eof_17;
21 eof_18;
22 eof_19;
23 eof_20;
24 eof_21;
25 eof_22;
26 eof_23;
27 eof_24;
28 eof_25;
29 eof_26;
30 eof_27;
31 eof_28;
32 eof_29;
33 eof_30;
34 eof_31;
35 eof_32;
36 eof_33;
37 eof_34;
38 eof_35;
39 eof_36;
40 eof_37;
41 eof_39;
42 node [ shape = circle, height = 0.2 ];
43 err_1 [ label=""];
44 err_2 [ label=""];
45 err_3 [ label=""];
46 err_4 [ label=""];
47 err_5 [ label=""];
48 err_6 [ label=""];
49 err_7 [ label=""];
50 err_8 [ label=""];
51 err_9 [ label=""];
52 err_10 [ label=""];
53 err_11 [ label=""];
54 err_12 [ label=""];
55 err_13 [ label=""];
56 err_14 [ label=""];
57 err_15 [ label=""];
58 err_16 [ label=""];
59 err_17 [ label=""];
60 err_18 [ label=""];
61 err_19 [ label=""];
62 err_20 [ label=""];
63 err_21 [ label=""];
64 err_22 [ label=""];
65 err_23 [ label=""];
66 err_24 [ label=""];
67 err_25 [ label=""];
68 err_26 [ label=""];
69 err_27 [ label=""];
70 err_28 [ label=""];
71 err_29 [ label=""];
72 err_30 [ label=""];
73 err_31 [ label=""];
74 err_32 [ label=""];
75 err_33 [ label=""];
76 err_34 [ label=""];
77 err_35 [ label=""];
78 err_36 [ label=""];
79 err_37 [ label=""];
80 err_39 [ label=""];
81 node [ fixedsize = true, height = 0.65, shape = doublecircle ];
82 38;
83 39;
84 node [ shape = circle ];
85 1 -> 38 [ label = "'-'" ];
86 1 -> 2 [ label = "'0'..'9' / mark" ];
87 1 -> err_1 [ label = "DEF / err_timestamp" ];
88 2 -> 3 [ label = "'0'..'9'" ];
89 2 -> err_2 [ label = "DEF / err_timestamp" ];
90 3 -> 4 [ label = "'0'..'9'" ];
91 3 -> err_3 [ label = "DEF / err_timestamp" ];
92 4 -> 5 [ label = "'0'..'9'" ];
93 4 -> err_4 [ label = "DEF / err_timestamp" ];
94 5 -> 6 [ label = "'-'" ];
95 5 -> err_5 [ label = "DEF / err_timestamp" ];
96 6 -> 7 [ label = "'0'" ];
97 6 -> 37 [ label = "'1'" ];
98 6 -> err_6 [ label = "DEF / err_timestamp" ];
99 7 -> 8 [ label = "'1'..'9'" ];
100 7 -> err_7 [ label = "DEF / err_timestamp" ];
101 8 -> 9 [ label = "'-'" ];
102 8 -> err_8 [ label = "DEF / err_timestamp" ];
103 9 -> 10 [ label = "'0'" ];
104 9 -> 35 [ label = "'1'..'2'" ];
105 9 -> 36 [ label = "'3'" ];
106 9 -> err_9 [ label = "DEF / err_timestamp" ];
107 10 -> 11 [ label = "'1'..'9'" ];
108 10 -> err_10 [ label = "DEF / err_timestamp" ];
109 11 -> 12 [ label = "'T'" ];
110 11 -> err_11 [ label = "DEF / err_timestamp" ];
111 12 -> 13 [ label = "'0'..'1'" ];
112 12 -> 34 [ label = "'2'" ];
113 12 -> err_12 [ label = "DEF / err_timestamp" ];
114 13 -> 14 [ label = "'0'..'9'" ];
115 13 -> err_13 [ label = "DEF / err_timestamp" ];
116 14 -> 15 [ label = "':'" ];
117 14 -> err_14 [ label = "DEF / err_timestamp" ];
118 15 -> 16 [ label = "'0'..'5'" ];
119 15 -> err_15 [ label = "DEF / err_timestamp" ];
120 16 -> 17 [ label = "'0'..'9'" ];
121 16 -> err_16 [ label = "DEF / err_timestamp" ];
122 17 -> 18 [ label = "':'" ];
123 17 -> err_17 [ label = "DEF / err_timestamp" ];
124 18 -> 19 [ label = "'0'..'5'" ];
125 18 -> err_18 [ label = "DEF / err_timestamp" ];
126 19 -> 20 [ label = "'0'..'9'" ];
127 19 -> err_19 [ label = "DEF / err_timestamp" ];
128 20 -> 21 [ label = "'+', '-'" ];
129 20 -> 27 [ label = "'.'" ];
130 20 -> 39 [ label = "'Z'" ];
131 20 -> err_20 [ label = "DEF / err_timestamp" ];
132 21 -> 22 [ label = "'0'..'1'" ];
133 21 -> 26 [ label = "'2'" ];
134 21 -> err_21 [ label = "DEF / err_timestamp" ];
135 22 -> 23 [ label = "'0'..'9'" ];
136 22 -> err_22 [ label = "DEF / err_timestamp" ];
137 23 -> 24 [ label = "':'" ];
138 23 -> err_23 [ label = "DEF / err_timestamp" ];
139 24 -> 25 [ label = "'0'..'5'" ];
140 24 -> err_24 [ label = "DEF / err_timestamp" ];
141 25 -> 39 [ label = "'0'..'9'" ];
142 25 -> err_25 [ label = "DEF / err_timestamp" ];
143 26 -> 23 [ label = "'0'..'3'" ];
144 26 -> err_26 [ label = "DEF / err_timestamp" ];
145 27 -> 28 [ label = "'0'..'9'" ];
146 27 -> err_27 [ label = "DEF / err_timestamp" ];
147 28 -> 21 [ label = "'+', '-'" ];
148 28 -> 29 [ label = "'0'..'9'" ];
149 28 -> 39 [ label = "'Z'" ];
150 28 -> err_28 [ label = "DEF / err_timestamp" ];
151 29 -> 21 [ label = "'+', '-'" ];
152 29 -> 30 [ label = "'0'..'9'" ];
153 29 -> 39 [ label = "'Z'" ];
154 29 -> err_29 [ label = "DEF / err_timestamp" ];
155 30 -> 21 [ label = "'+', '-'" ];
156 30 -> 31 [ label = "'0'..'9'" ];
157 30 -> 39 [ label = "'Z'" ];
158 30 -> err_30 [ label = "DEF / err_timestamp" ];
159 31 -> 21 [ label = "'+', '-'" ];
160 31 -> 32 [ label = "'0'..'9'" ];
161 31 -> 39 [ label = "'Z'" ];
162 31 -> err_31 [ label = "DEF / err_timestamp" ];
163 32 -> 21 [ label = "'+', '-'" ];
164 32 -> 33 [ label = "'0'..'9'" ];
165 32 -> 39 [ label = "'Z'" ];
166 32 -> err_32 [ label = "DEF / err_timestamp" ];
167 33 -> 21 [ label = "'+', '-'" ];
168 33 -> 39 [ label = "'Z'" ];
169 33 -> err_33 [ label = "DEF / err_timestamp" ];
170 34 -> 14 [ label = "'0'..'3'" ];
171 34 -> err_34 [ label = "DEF / err_timestamp" ];
172 35 -> 11 [ label = "'0'..'9'" ];
173 35 -> err_35 [ label = "DEF / err_timestamp" ];
174 36 -> 11 [ label = "'0'..'1'" ];
175 36 -> err_36 [ label = "DEF / err_timestamp" ];
176 37 -> 8 [ label = "'0'..'2'" ];
177 37 -> err_37 [ label = "DEF / err_timestamp" ];
178 39 -> err_39 [ label = "DEF / set_timestamp" ];
179 ENTRY -> 1 [ label = "IN" ];
180 1 -> eof_1 [ label = "EOF / err_timestamp" ];
181 2 -> eof_2 [ label = "EOF / err_timestamp" ];
182 3 -> eof_3 [ label = "EOF / err_timestamp" ];
183 4 -> eof_4 [ label = "EOF / err_timestamp" ];
184 5 -> eof_5 [ label = "EOF / err_timestamp" ];
185 6 -> eof_6 [ label = "EOF / err_timestamp" ];
186 7 -> eof_7 [ label = "EOF / err_timestamp" ];
187 8 -> eof_8 [ label = "EOF / err_timestamp" ];
188 9 -> eof_9 [ label = "EOF / err_timestamp" ];
189 10 -> eof_10 [ label = "EOF / err_timestamp" ];
190 11 -> eof_11 [ label = "EOF / err_timestamp" ];
191 12 -> eof_12 [ label = "EOF / err_timestamp" ];
192 13 -> eof_13 [ label = "EOF / err_timestamp" ];
193 14 -> eof_14 [ label = "EOF / err_timestamp" ];
194 15 -> eof_15 [ label = "EOF / err_timestamp" ];
195 16 -> eof_16 [ label = "EOF / err_timestamp" ];
196 17 -> eof_17 [ label = "EOF / err_timestamp" ];
197 18 -> eof_18 [ label = "EOF / err_timestamp" ];
198 19 -> eof_19 [ label = "EOF / err_timestamp" ];
199 20 -> eof_20 [ label = "EOF / err_timestamp" ];
200 21 -> eof_21 [ label = "EOF / err_timestamp" ];
201 22 -> eof_22 [ label = "EOF / err_timestamp" ];
202 23 -> eof_23 [ label = "EOF / err_timestamp" ];
203 24 -> eof_24 [ label = "EOF / err_timestamp" ];
204 25 -> eof_25 [ label = "EOF / err_timestamp" ];
205 26 -> eof_26 [ label = "EOF / err_timestamp" ];
206 27 -> eof_27 [ label = "EOF / err_timestamp" ];
207 28 -> eof_28 [ label = "EOF / err_timestamp" ];
208 29 -> eof_29 [ label = "EOF / err_timestamp" ];
209 30 -> eof_30 [ label = "EOF / err_timestamp" ];
210 31 -> eof_31 [ label = "EOF / err_timestamp" ];
211 32 -> eof_32 [ label = "EOF / err_timestamp" ];
212 33 -> eof_33 [ label = "EOF / err_timestamp" ];
213 34 -> eof_34 [ label = "EOF / err_timestamp" ];
214 35 -> eof_35 [ label = "EOF / err_timestamp" ];
215 36 -> eof_36 [ label = "EOF / err_timestamp" ];
216 37 -> eof_37 [ label = "EOF / err_timestamp" ];
217 39 -> eof_39 [ label = "EOF / set_timestamp" ];
218 }
0 digraph rfc5424 {
1 rankdir=LR;
2 node [ shape = point ];
3 ENTRY;
4 eof_1;
5 eof_2;
6 eof_3;
7 eof_4;
8 node [ shape = circle, height = 0.2 ];
9 err_1 [ label=""];
10 err_3 [ label=""];
11 err_4 [ label=""];
12 node [ fixedsize = true, height = 0.65, shape = doublecircle ];
13 2;
14 3;
15 4;
16 node [ shape = circle ];
17 1 -> 2 [ label = "'1'..'9' / mark" ];
18 1 -> err_1 [ label = "DEF / err_version" ];
19 2 -> 3 [ label = "'0'..'9' / set_version" ];
20 3 -> 4 [ label = "'0'..'9' / set_version" ];
21 3 -> err_3 [ label = "DEF / set_version, err_version" ];
22 4 -> err_4 [ label = "DEF / set_version, err_version" ];
23 ENTRY -> 1 [ label = "IN" ];
24 1 -> eof_1 [ label = "EOF / err_version" ];
25 2 -> eof_2 [ label = "EOF / set_version" ];
26 3 -> eof_3 [ label = "EOF / set_version" ];
27 4 -> eof_4 [ label = "EOF / set_version" ];
28 }
0 module github.com/influxdata/go-syslog
1
2 require (
3 github.com/davecgh/go-spew v1.1.1
4 github.com/leodido/ragel-machinery v0.0.0-20181214104525-299bdde78165
5 github.com/pmezard/go-difflib v1.0.0 // indirect
6 github.com/stretchr/testify v1.2.2
7 )
0 github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
1 github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
2 github.com/google/go-cmp v0.2.0 h1:+dTQ8DZQJz0Mb/HjFlkptS1FeQ4cWSnN941F8aEG4SQ=
3 github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
4 github.com/leodido/ragel-machinery v0.0.0-20181214104525-299bdde78165 h1:bCiVCRCs1Heq84lurVinUPy19keqGEe4jh5vtK37jcg=
5 github.com/leodido/ragel-machinery v0.0.0-20181214104525-299bdde78165/go.mod h1:WZxr2/6a/Ar9bMDc2rN/LJrE/hF6bXE4LPyDSIxwAfg=
6 github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
7 github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
8 github.com/stretchr/testify v1.2.2 h1:bSDNvY7ZPG5RlJ8otE/7V6gMiyenm9RtJ7IUVIAoJ1w=
9 github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
0 SHELL := /bin/bash
1
2 export GO_TEST=env GOTRACEBACK=all GO111MODULE=on go test $(GO_ARGS)
3
4 .PHONY: build
5 build: rfc5424/machine.go rfc5424/builder.go nontransparent/parser.go
6 @gofmt -w -s ./rfc5424
7 @gofmt -w -s ./octetcounting
8 @gofmt -w -s ./nontransparent
9
10 rfc5424/machine.go: rfc5424/machine.go.rl rfc5424/rfc5424.rl
11
12 rfc5424/builder.go: rfc5424/builder.go.rl rfc5424/rfc5424.rl
13
14 rfc5424/builder.go rfc5424/machine.go:
15 ragel -Z -G2 -e -o $@ $<
16 @sed -i '/^\/\/line/d' $@
17 $(MAKE) file=$@ snake2camel
18
19 nontransparent/parser.go: nontransparent/parser.go.rl
20 ragel -Z -G2 -e -o $@ $<
21 @sed -i '/^\/\/line/d' $@
22 $(MAKE) file=$@ snake2camel
23
24 .PHONY: snake2camel
25 snake2camel:
26 @awk -i inplace '{ \
27 while ( match($$0, /(.*)([a-z]+[0-9]*)_([a-zA-Z0-9])(.*)/, cap) ) \
28 $$0 = cap[1] cap[2] toupper(cap[3]) cap[4]; \
29 print \
30 }' $(file)
31
32 .PHONY: bench
33 bench: rfc5424/*_test.go rfc5424/machine.go
34 go test -bench=. -benchmem -benchtime=5s ./...
35
36 .PHONY: tests
37 tests:
38 $(GO_TEST) ./...
39
40 docs/nontransparent.dot: nontransparent/parser.go.rl
41 ragel -Z -Vp $< -o $@
42
43 docs/rfc5424.dot: rfc5424/machine.go.rl rfc5424/rfc5424.rl
44 ragel -Z -Vp $< -o $@
45
46 docs/rfc5424_pri.dot: rfc5424/machine.go.rl rfc5424/rfc5424.rl
47 ragel -Z -Vp -M pri $< -o $@
48
49 docs/rfc5424_pri.png: docs/rfc5424_pri.dot
50 dot $< -Tpng -o $@
51
52 docs/rfc5424_version.dot: rfc5424/machine.go.rl rfc5424/rfc5424.rl
53 ragel -Z -Vp -M version $< -o $@
54
55 docs/rfc5424_version.png: docs/rfc5424_version.dot
56 dot $< -Tpng -o $@
57
58 docs/rfc5424_timestamp.dot: rfc5424/machine.go.rl rfc5424/rfc5424.rl
59 ragel -Z -Vp -M timestamp $< -o $@
60
61 docs/rfc5424_timestamp.png: docs/rfc5424_timestamp.dot
62 dot $< -Tpng -o $@
63
64 docs/rfc5424_hostname.dot: rfc5424/machine.go.rl rfc5424/rfc5424.rl
65 ragel -Z -Vp -M hostname $< -o $@
66
67 docs/rfc5424_hostname.png: docs/rfc5424_hostname.dot
68 dot $< -Tpng -o $@
69
70 docs/rfc5424_appname.dot: rfc5424/machine.go.rl rfc5424/rfc5424.rl
71 ragel -Z -Vp -M appname $< -o $@
72
73 docs/rfc5424_appname.png: docs/rfc5424_appname.dot
74 dot $< -Tpng -o $@
75
76 docs/rfc5424_procid.dot: rfc5424/machine.go.rl rfc5424/rfc5424.rl
77 ragel -Z -Vp -M procid $< -o $@
78
79 docs/rfc5424_procid.png: docs/rfc5424_procid.dot
80 dot $< -Tpng -o $@
81
82 docs/rfc5424_msgid.dot: rfc5424/machine.go.rl rfc5424/rfc5424.rl
83 ragel -Z -Vp -M msgid $< -o $@
84
85 docs/rfc5424_msgid.png: docs/rfc5424_msgid.dot
86 dot $< -Tpng -o $@
87
88 docs/rfc5424_structureddata.dot: rfc5424/machine.go.rl rfc5424/rfc5424.rl
89 ragel -Z -Vp -M structureddata $< -o $@
90
91 docs/rfc5424_structureddata.png: docs/rfc5424_structureddata.dot
92 dot $< -Tpng -o $@
93
94 docs/rfc5424_msg.dot: rfc5424/machine.go.rl rfc5424/rfc5424.rl
95 ragel -Z -Vp -M msg $< -o $@
96
97 docs/rfc5424_msg.png: docs/rfc5424_msg.dot
98 dot $< -Tpng -o $@
99
100 docs:
101 @mkdir -p docs
102
103 .PHONY: graph
104 graph: docs docs/rfc5424.dot docs/rfc5424_pri.png docs/rfc5424_version.png docs/rfc5424_timestamp.png docs/rfc5424_hostname.png docs/rfc5424_appname.png docs/rfc5424_procid.png docs/rfc5424_msgid.png docs/rfc5424_structureddata.png docs/rfc5424_msg.png
105
106 .PHONY: clean
107 clean: rfc5424/machine.go
108 @rm -f $?
109 @rm -rf docs
0 package nontransparent
1
2 import (
3 "github.com/davecgh/go-spew/spew"
4 "io"
5 "math/rand"
6 "strings"
7
8 "github.com/influxdata/go-syslog"
9 "time"
10 )
11
12 func Example_withoutTrailerAtEnd() {
13 results := []syslog.Result{}
14 acc := func(res *syslog.Result) {
15 results = append(results, *res)
16 }
17 // Notice the message ends without trailer but we catch it anyway
18 r := strings.NewReader("<1>1 2003-10-11T22:14:15.003Z host.local - - - - mex")
19 NewParser(syslog.WithListener(acc)).Parse(r)
20 output(results)
21 // Output:
22 // ([]syslog.Result) (len=1) {
23 // (syslog.Result) {
24 // Message: (*rfc5424.SyslogMessage)({
25 // priority: (*uint8)(1),
26 // facility: (*uint8)(0),
27 // severity: (*uint8)(1),
28 // version: (uint16) 1,
29 // timestamp: (*time.Time)(2003-10-11 22:14:15.003 +0000 UTC),
30 // hostname: (*string)((len=10) "host.local"),
31 // appname: (*string)(<nil>),
32 // procID: (*string)(<nil>),
33 // msgID: (*string)(<nil>),
34 // structuredData: (*map[string]map[string]string)(<nil>),
35 // message: (*string)((len=3) "mex")
36 // }),
37 // Error: (*ragel.ReadingError)(unexpected EOF)
38 // }
39 // }
40 }
41
42 func Example_bestEffortOnLastOne() {
43 results := []syslog.Result{}
44 acc := func(res *syslog.Result) {
45 results = append(results, *res)
46 }
47 r := strings.NewReader("<1>1 - - - - - - -\n<3>1\n")
48 NewParser(syslog.WithBestEffort(), syslog.WithListener(acc)).Parse(r)
49 output(results)
50 // Output:
51 // ([]syslog.Result) (len=2) {
52 // (syslog.Result) {
53 // Message: (*rfc5424.SyslogMessage)({
54 // priority: (*uint8)(1),
55 // facility: (*uint8)(0),
56 // severity: (*uint8)(1),
57 // version: (uint16) 1,
58 // timestamp: (*time.Time)(<nil>),
59 // hostname: (*string)(<nil>),
60 // appname: (*string)(<nil>),
61 // procID: (*string)(<nil>),
62 // msgID: (*string)(<nil>),
63 // structuredData: (*map[string]map[string]string)(<nil>),
64 // message: (*string)((len=1) "-")
65 // }),
66 // Error: (error) <nil>
67 // },
68 // (syslog.Result) {
69 // Message: (*rfc5424.SyslogMessage)({
70 // priority: (*uint8)(3),
71 // facility: (*uint8)(0),
72 // severity: (*uint8)(3),
73 // version: (uint16) 1,
74 // timestamp: (*time.Time)(<nil>),
75 // hostname: (*string)(<nil>),
76 // appname: (*string)(<nil>),
77 // procID: (*string)(<nil>),
78 // msgID: (*string)(<nil>),
79 // structuredData: (*map[string]map[string]string)(<nil>),
80 // message: (*string)(<nil>)
81 // }),
82 // Error: (*errors.errorString)(parsing error [col 4])
83 // }
84 // }
85 }
86
87 func Example_intoChannelWithLF() {
88 messages := []string{
89 "<2>1 - - - - - - A\nB",
90 "<1>1 -",
91 "<1>1 - - - - - - A\nB\nC\nD",
92 }
93
94 r, w := io.Pipe()
95
96 go func() {
97 defer w.Close()
98
99 for _, m := range messages {
100 // Write message (containing trailers to be interpreted as part of the syslog MESSAGE)
101 w.Write([]byte(m))
102 // Write non-transparent frame boundary
103 w.Write([]byte{10})
104 // Wait a random amount of time
105 time.Sleep(time.Millisecond * time.Duration(rand.Intn(100)))
106 }
107 }()
108
109 results := make(chan *syslog.Result)
110 ln := func(x *syslog.Result) {
111 // Emit the result
112 results <- x
113 }
114
115 p := NewParser(syslog.WithListener(ln), syslog.WithBestEffort())
116 go func() {
117 defer close(results)
118 defer r.Close()
119 p.Parse(r)
120 }()
121
122 // Consume results
123 for r := range results {
124 output(r)
125 }
126
127 // Output:
128 // (*syslog.Result)({
129 // Message: (*rfc5424.SyslogMessage)({
130 // priority: (*uint8)(2),
131 // facility: (*uint8)(0),
132 // severity: (*uint8)(2),
133 // version: (uint16) 1,
134 // timestamp: (*time.Time)(<nil>),
135 // hostname: (*string)(<nil>),
136 // appname: (*string)(<nil>),
137 // procID: (*string)(<nil>),
138 // msgID: (*string)(<nil>),
139 // structuredData: (*map[string]map[string]string)(<nil>),
140 // message: (*string)((len=3) "A\nB")
141 // }),
142 // Error: (error) <nil>
143 // })
144 // (*syslog.Result)({
145 // Message: (*rfc5424.SyslogMessage)({
146 // priority: (*uint8)(1),
147 // facility: (*uint8)(0),
148 // severity: (*uint8)(1),
149 // version: (uint16) 1,
150 // timestamp: (*time.Time)(<nil>),
151 // hostname: (*string)(<nil>),
152 // appname: (*string)(<nil>),
153 // procID: (*string)(<nil>),
154 // msgID: (*string)(<nil>),
155 // structuredData: (*map[string]map[string]string)(<nil>),
156 // message: (*string)(<nil>)
157 // }),
158 // Error: (*errors.errorString)(parsing error [col 6])
159 // })
160 // (*syslog.Result)({
161 // Message: (*rfc5424.SyslogMessage)({
162 // priority: (*uint8)(1),
163 // facility: (*uint8)(0),
164 // severity: (*uint8)(1),
165 // version: (uint16) 1,
166 // timestamp: (*time.Time)(<nil>),
167 // hostname: (*string)(<nil>),
168 // appname: (*string)(<nil>),
169 // procID: (*string)(<nil>),
170 // msgID: (*string)(<nil>),
171 // structuredData: (*map[string]map[string]string)(<nil>),
172 // message: (*string)((len=7) "A\nB\nC\nD")
173 // }),
174 // Error: (error) <nil>
175 // })
176 }
177
178 func Example_intoChannelWithNUL() {
179 messages := []string{
180 "<2>1 - - - - - - A\x00B",
181 "<1>1 -",
182 "<1>1 - - - - - - A\x00B\x00C\x00D",
183 }
184
185 r, w := io.Pipe()
186
187 go func() {
188 defer w.Close()
189
190 for _, m := range messages {
191 // Write message (containing trailers to be interpreted as part of the syslog MESSAGE)
192 w.Write([]byte(m))
193 // Write non-transparent frame boundary
194 w.Write([]byte{0})
195 // Wait a random amount of time
196 time.Sleep(time.Millisecond * time.Duration(rand.Intn(100)))
197 }
198 }()
199
200 results := make(chan *syslog.Result)
201 ln := func(x *syslog.Result) {
202 // Emit the result
203 results <- x
204 }
205
206 p := NewParser(syslog.WithListener(ln), WithTrailer(NUL))
207
208 go func() {
209 defer close(results)
210 defer r.Close()
211 p.Parse(r)
212 }()
213
214 // Range over the results channel
215 for r := range results {
216 output(r)
217 }
218
219 // Output:
220 //(*syslog.Result)({
221 // Message: (*rfc5424.SyslogMessage)({
222 // priority: (*uint8)(2),
223 // facility: (*uint8)(0),
224 // severity: (*uint8)(2),
225 // version: (uint16) 1,
226 // timestamp: (*time.Time)(<nil>),
227 // hostname: (*string)(<nil>),
228 // appname: (*string)(<nil>),
229 // procID: (*string)(<nil>),
230 // msgID: (*string)(<nil>),
231 // structuredData: (*map[string]map[string]string)(<nil>),
232 // message: (*string)((len=3) "A\x00B")
233 // }),
234 // Error: (error) <nil>
235 // })
236 // (*syslog.Result)({
237 // Message: (syslog.Message) <nil>,
238 // Error: (*errors.errorString)(parsing error [col 6])
239 // })
240 // (*syslog.Result)({
241 // Message: (*rfc5424.SyslogMessage)({
242 // priority: (*uint8)(1),
243 // facility: (*uint8)(0),
244 // severity: (*uint8)(1),
245 // version: (uint16) 1,
246 // timestamp: (*time.Time)(<nil>),
247 // hostname: (*string)(<nil>),
248 // appname: (*string)(<nil>),
249 // procID: (*string)(<nil>),
250 // msgID: (*string)(<nil>),
251 // structuredData: (*map[string]map[string]string)(<nil>),
252 // message: (*string)((len=7) "A\x00B\x00C\x00D")
253 // }),
254 // Error: (error) <nil>
255 // })
256 }
257
258 func output(out interface{}) {
259 spew.Config.DisableCapacities = true
260 spew.Config.DisablePointerAddresses = true
261 spew.Dump(out)
262 }
0 package nontransparent
1
2 import (
3 syslog "github.com/influxdata/go-syslog"
4 "github.com/influxdata/go-syslog/rfc5424"
5 parser "github.com/leodido/ragel-machinery/parser"
6 "io"
7 )
8
9 const nontransparentStart int = 1
10 const nontransparentError int = 0
11
12 const nontransparentEnMain int = 1
13
14 type machine struct {
15 trailertyp TrailerType // default is 0 thus TrailerType(LF)
16 trailer byte
17 candidate []byte
18 bestEffort bool
19 internal syslog.Machine
20 emit syslog.ParserListener
21 readError error
22 lastChunk []byte // store last candidate message also if it does not ends with a trailer
23 }
24
25 // Exec implements the ragel.Parser interface.
26 func (m *machine) Exec(s *parser.State) (int, int) {
27 // Retrieve previously stored parsing variables
28 cs, p, pe, eof, data := s.Get()
29
30 {
31 var _widec int16
32 if p == pe {
33 goto _testEof
34 }
35 switch cs {
36 case 1:
37 goto stCase1
38 case 0:
39 goto stCase0
40 case 2:
41 goto stCase2
42 case 3:
43 goto stCase3
44 }
45 goto stOut
46 stCase1:
47 if data[p] == 60 {
48 goto tr0
49 }
50 goto st0
51 stCase0:
52 st0:
53 cs = 0
54 goto _out
55 tr0:
56
57 if len(m.candidate) > 0 {
58 m.process()
59 }
60 m.candidate = make([]byte, 0)
61
62 goto st2
63 st2:
64 if p++; p == pe {
65 goto _testEof2
66 }
67 stCase2:
68 _widec = int16(data[p])
69 switch {
70 case data[p] > 0:
71 if 10 <= data[p] && data[p] <= 10 {
72 _widec = 256 + (int16(data[p]) - 0)
73 if m.trailertyp == LF {
74 _widec += 256
75 }
76 }
77 default:
78 _widec = 768 + (int16(data[p]) - 0)
79 if m.trailertyp == NUL {
80 _widec += 256
81 }
82 }
83 switch _widec {
84 case 266:
85 goto st2
86 case 522:
87 goto tr3
88 case 768:
89 goto st2
90 case 1024:
91 goto tr3
92 }
93 switch {
94 case _widec > 9:
95 if 11 <= _widec {
96 goto st2
97 }
98 case _widec >= 1:
99 goto st2
100 }
101 goto st0
102 tr3:
103
104 m.candidate = append(m.candidate, data...)
105
106 goto st3
107 st3:
108 if p++; p == pe {
109 goto _testEof3
110 }
111 stCase3:
112 _widec = int16(data[p])
113 switch {
114 case data[p] > 0:
115 if 10 <= data[p] && data[p] <= 10 {
116 _widec = 256 + (int16(data[p]) - 0)
117 if m.trailertyp == LF {
118 _widec += 256
119 }
120 }
121 default:
122 _widec = 768 + (int16(data[p]) - 0)
123 if m.trailertyp == NUL {
124 _widec += 256
125 }
126 }
127 switch _widec {
128 case 60:
129 goto tr0
130 case 266:
131 goto st2
132 case 522:
133 goto tr3
134 case 768:
135 goto st2
136 case 1024:
137 goto tr3
138 }
139 switch {
140 case _widec > 9:
141 if 11 <= _widec {
142 goto st2
143 }
144 case _widec >= 1:
145 goto st2
146 }
147 goto st0
148 stOut:
149 _testEof2:
150 cs = 2
151 goto _testEof
152 _testEof3:
153 cs = 3
154 goto _testEof
155
156 _testEof:
157 {
158 }
159 _out:
160 {
161 }
162 }
163
164 // Update parsing variables
165 s.Set(cs, p, pe, eof)
166 return p, pe
167 }
168
169 func (m *machine) OnErr(chunk []byte, err error) {
170 // Store the last chunk of bytes ending without a trailer - ie., unexpected EOF from the reader
171 m.lastChunk = chunk
172 m.readError = err
173 }
174
175 func (m *machine) OnEOF(chunk []byte) {
176 }
177
178 func (m *machine) OnCompletion() {
179 if len(m.candidate) > 0 {
180 m.process()
181 }
182 // Try to parse last chunk as a candidate
183 if m.readError != nil && len(m.lastChunk) > 0 {
184 res, err := m.internal.Parse(m.lastChunk)
185 if err == nil {
186 err = m.readError
187 }
188 m.emit(&syslog.Result{
189 Message: res,
190 Error: err,
191 })
192 }
193 }
194
195 // NewParser returns a syslog.Parser suitable to parse syslog messages sent with non-transparent framing - ie. RFC 6587.
196 func NewParser(options ...syslog.ParserOption) syslog.Parser {
197 m := &machine{
198 emit: func(*syslog.Result) { /* noop */ },
199 }
200
201 for _, opt := range options {
202 m = opt(m).(*machine)
203 }
204
205 // No error can happens since during its setting we check the trailer type passed in
206 trailer, _ := m.trailertyp.Value()
207 m.trailer = byte(trailer)
208
209 // Create internal parser depending on options
210 if m.bestEffort {
211 m.internal = rfc5424.NewMachine(rfc5424.WithBestEffort())
212 } else {
213 m.internal = rfc5424.NewMachine()
214 }
215
216 return m
217 }
218
219 // HasBestEffort tells whether the receiving parser has best effort mode on or off.
220 func (m *machine) HasBestEffort() bool {
221 return m.bestEffort
222 }
223
224 // WithTrailer ... todo(leodido)
225 func WithTrailer(t TrailerType) syslog.ParserOption {
226 return func(m syslog.Parser) syslog.Parser {
227 if val, err := t.Value(); err == nil {
228 m.(*machine).trailer = byte(val)
229 m.(*machine).trailertyp = t
230 }
231 return m
232 }
233 }
234
235 // WithBestEffort implements the syslog.BestEfforter interface.
236 //
237 // The generic options uses it.
238 func (m *machine) WithBestEffort() {
239 m.bestEffort = true
240 }
241
242 // WithListener implements the syslog.Parser interface.
243 //
244 // The generic options uses it.
245 func (m *machine) WithListener(f syslog.ParserListener) {
246 m.emit = f
247 }
248
249 // Parse parses the io.Reader incoming bytes.
250 //
251 // It stops parsing when an error regarding RFC 6587 is found.
252 func (m *machine) Parse(reader io.Reader) {
253 r := parser.ArbitraryReader(reader, m.trailer)
254 parser.New(r, m, parser.WithStart(1)).Parse()
255 }
256
257 func (m *machine) process() {
258 lastByte := len(m.candidate) - 1
259 if m.candidate[lastByte] == m.trailer {
260 m.candidate = m.candidate[:lastByte]
261 }
262 res, err := m.internal.Parse(m.candidate)
263 m.emit(&syslog.Result{
264 Message: res,
265 Error: err,
266 })
267 }
0 package nontransparent
1
2 import (
3 "io"
4 parser "github.com/leodido/ragel-machinery/parser"
5 syslog "github.com/influxdata/go-syslog"
6 "github.com/influxdata/go-syslog/rfc5424"
7 )
8
9 %%{
10 machine nontransparent;
11
12 # unsigned alphabet
13 alphtype uint8;
14
15 action on_trailer {
16 m.candidate = append(m.candidate, data...)
17 }
18
19 action on_init {
20 if len(m.candidate) > 0 {
21 m.process()
22 }
23 m.candidate = make([]byte, 0)
24 }
25
26 t = 10 when { m.trailertyp == LF } |
27 00 when { m.trailertyp == NUL };
28
29 main :=
30 start: (
31 '<' >on_init (any)* -> trailer
32 ),
33 trailer: (
34 t >on_trailer -> final |
35 t >on_trailer -> start
36 );
37
38 }%%
39
40 %% write data nofinal;
41
42 type machine struct{
43 trailertyp TrailerType // default is 0 thus TrailerType(LF)
44 trailer byte
45 candidate []byte
46 bestEffort bool
47 internal syslog.Machine
48 emit syslog.ParserListener
49 readError error
50 lastChunk []byte // store last candidate message also if it does not ends with a trailer
51 }
52
53 // Exec implements the ragel.Parser interface.
54 func (m *machine) Exec(s *parser.State) (int, int) {
55 // Retrieve previously stored parsing variables
56 cs, p, pe, eof, data := s.Get()
57 %% write exec;
58 // Update parsing variables
59 s.Set(cs, p, pe, eof)
60 return p, pe
61 }
62
63 func (m *machine) OnErr(chunk []byte, err error) {
64 // Store the last chunk of bytes ending without a trailer - ie., unexpected EOF from the reader
65 m.lastChunk = chunk
66 m.readError = err
67 }
68
69 func (m *machine) OnEOF(chunk []byte) {
70 }
71
72 func (m *machine) OnCompletion() {
73 if len(m.candidate) > 0 {
74 m.process()
75 }
76 // Try to parse last chunk as a candidate
77 if m.readError != nil && len(m.lastChunk) > 0 {
78 res, err := m.internal.Parse(m.lastChunk)
79 if err == nil {
80 err = m.readError
81 }
82 m.emit(&syslog.Result{
83 Message: res,
84 Error: err,
85 })
86 }
87 }
88
89 // NewParser returns a syslog.Parser suitable to parse syslog messages sent with non-transparent framing - ie. RFC 6587.
90 func NewParser(options ...syslog.ParserOption) syslog.Parser {
91 m := &machine{
92 emit: func(*syslog.Result) { /* noop */ },
93 }
94
95 for _, opt := range options {
96 m = opt(m).(*machine)
97 }
98
99 // No error can happens since during its setting we check the trailer type passed in
100 trailer, _ := m.trailertyp.Value()
101 m.trailer = byte(trailer)
102
103 // Create internal parser depending on options
104 if m.bestEffort {
105 m.internal = rfc5424.NewMachine(rfc5424.WithBestEffort())
106 } else {
107 m.internal = rfc5424.NewMachine()
108 }
109
110 return m
111 }
112
113 // HasBestEffort tells whether the receiving parser has best effort mode on or off.
114 func (m *machine) HasBestEffort() bool {
115 return m.bestEffort
116 }
117
118 // WithTrailer ... todo(leodido)
119 func WithTrailer(t TrailerType) syslog.ParserOption {
120 return func(m syslog.Parser) syslog.Parser {
121 if val, err := t.Value(); err == nil {
122 m.(*machine).trailer = byte(val)
123 m.(*machine).trailertyp = t
124 }
125 return m
126 }
127 }
128
129 // WithBestEffort implements the syslog.BestEfforter interface.
130 //
131 // The generic options uses it.
132 func (m *machine) WithBestEffort() {
133 m.bestEffort = true
134 }
135
136 // WithListener implements the syslog.Parser interface.
137 //
138 // The generic options uses it.
139 func (m *machine) WithListener(f syslog.ParserListener) {
140 m.emit = f
141 }
142
143 // Parse parses the io.Reader incoming bytes.
144 //
145 // It stops parsing when an error regarding RFC 6587 is found.
146 func (m *machine) Parse(reader io.Reader) {
147 r := parser.ArbitraryReader(reader, m.trailer)
148 parser.New(r, m, parser.WithStart(%%{ write start; }%%)).Parse()
149 }
150
151 func (m *machine) process() {
152 lastByte := len(m.candidate) - 1
153 if m.candidate[lastByte] == m.trailer {
154 m.candidate = m.candidate[:lastByte]
155 }
156 res, err := m.internal.Parse(m.candidate)
157 m.emit(&syslog.Result{
158 Message: res,
159 Error: err,
160 })
161 }
0 package nontransparent
1
2 import (
3 "fmt"
4 "io"
5 "strings"
6 "testing"
7
8 "github.com/influxdata/go-syslog"
9 "github.com/influxdata/go-syslog/rfc5424"
10 "github.com/leodido/ragel-machinery"
11 "github.com/stretchr/testify/assert"
12 )
13
14 type testCase struct {
15 descr string
16 input string
17 substitute bool
18 results []syslog.Result
19 pResults []syslog.Result
20 }
21
22 var testCases []testCase
23
24 func getParsingError(col int) error {
25 return fmt.Errorf("parsing error [col %d]", col)
26 }
27
28 func getTestCases() []testCase {
29 return []testCase{
30 // fixme(leodido)
31 // {
32 // "empty",
33 // "",
34 // []syslog.Result{},
35 // []syslog.Result{},
36 // },
37
38 {
39 "1st ok",
40 "<1>1 - - - - - -%[1]s",
41 true,
42 []syslog.Result{
43 {
44 Message: (&rfc5424.SyslogMessage{}).SetPriority(1).SetVersion(1),
45 },
46 },
47 []syslog.Result{
48 {
49 Message: (&rfc5424.SyslogMessage{}).SetPriority(1).SetVersion(1),
50 },
51 },
52 },
53 {
54 "1st ok//notrailer",
55 "<3>1 - - - - - -",
56 false,
57 []syslog.Result{
58 {
59 Message: (&rfc5424.SyslogMessage{}).SetPriority(3).SetVersion(1),
60 Error: ragel.NewReadingError(io.ErrUnexpectedEOF.Error()),
61 },
62 },
63 []syslog.Result{
64 {
65 Message: (&rfc5424.SyslogMessage{}).SetPriority(3).SetVersion(1),
66 Error: ragel.NewReadingError(io.ErrUnexpectedEOF.Error()),
67 },
68 },
69 },
70 {
71 "1st ok/2nd ok",
72 "<1>1 - - - - - -%[1]s<2>1 - - - - - -%[1]s",
73 true,
74 []syslog.Result{
75 {
76 Message: (&rfc5424.SyslogMessage{}).SetPriority(1).SetVersion(1),
77 },
78 {
79 Message: (&rfc5424.SyslogMessage{}).SetPriority(2).SetVersion(1),
80 },
81 },
82 []syslog.Result{
83 {
84 Message: (&rfc5424.SyslogMessage{}).SetPriority(1).SetVersion(1),
85 },
86 {
87 Message: (&rfc5424.SyslogMessage{}).SetPriority(2).SetVersion(1),
88 },
89 },
90 },
91 {
92 "1st ok/2nd ok//notrailer",
93 "<1>1 - - - - - -%[1]s<2>1 - - - - - -",
94 true,
95 []syslog.Result{
96 {
97 Message: (&rfc5424.SyslogMessage{}).SetPriority(1).SetVersion(1),
98 },
99 {
100 Message: (&rfc5424.SyslogMessage{}).SetPriority(2).SetVersion(1),
101 Error: ragel.NewReadingError(io.ErrUnexpectedEOF.Error()),
102 },
103 },
104 []syslog.Result{
105 {
106 Message: (&rfc5424.SyslogMessage{}).SetPriority(1).SetVersion(1),
107 },
108 {
109 Message: (&rfc5424.SyslogMessage{}).SetPriority(2).SetVersion(1),
110 Error: ragel.NewReadingError(io.ErrUnexpectedEOF.Error()),
111 },
112 },
113 },
114 {
115 "1st ok//incomplete/2nd ok//incomplete",
116 "<1>1%[1]s<2>1%[1]s",
117 true,
118 []syslog.Result{
119 {
120 Error: getParsingError(4),
121 },
122 {
123 Error: getParsingError(4),
124 },
125 },
126 []syslog.Result{
127 {
128 Message: (&rfc5424.SyslogMessage{}).SetPriority(1).SetVersion(1),
129 Error: getParsingError(4),
130 },
131 {
132 Message: (&rfc5424.SyslogMessage{}).SetPriority(2).SetVersion(1),
133 Error: getParsingError(4),
134 },
135 },
136 },
137
138 // todo(leodido)
139 // {
140 // "1st ok//incomplete/2nd ok//incomplete",
141 // "",
142 // },
143 // {
144 // "1st ok//incomplete/2nd ok//incomplete",
145 // "",
146 // },
147 // {
148 // "1st ok//incomplete/2nd ok//incomplete",
149 // "",
150 // },
151 }
152 }
153
154 func init() {
155 testCases = getTestCases()
156 }
157
158 func TestParse(t *testing.T) {
159 for _, tc := range testCases {
160 tc := tc
161
162 // Test with trailer LF
163 var inputWithLF = tc.input
164 if tc.substitute {
165 lf, _ := LF.Value()
166 inputWithLF = fmt.Sprintf(tc.input, string(lf))
167 }
168 t.Run(fmt.Sprintf("strict/LF/%s", tc.descr), func(t *testing.T) {
169 t.Parallel()
170
171 res := []syslog.Result{}
172 strictParser := NewParser(syslog.WithListener(func(r *syslog.Result) {
173 res = append(res, *r)
174 }))
175 strictParser.Parse(strings.NewReader(inputWithLF))
176
177 assert.Equal(t, tc.results, res)
178 })
179 t.Run(fmt.Sprintf("effort/LF/%s", tc.descr), func(t *testing.T) {
180 t.Parallel()
181
182 res := []syslog.Result{}
183 effortParser := NewParser(syslog.WithBestEffort(), syslog.WithListener(func(r *syslog.Result) {
184 res = append(res, *r)
185 }))
186 effortParser.Parse(strings.NewReader(inputWithLF))
187
188 assert.Equal(t, tc.pResults, res)
189 })
190
191 // Test with trailer NUL
192 inputWithNUL := tc.input
193 if tc.substitute {
194 nul, _ := NUL.Value()
195 inputWithNUL = fmt.Sprintf(tc.input, string(nul))
196 }
197 t.Run(fmt.Sprintf("strict/NL/%s", tc.descr), func(t *testing.T) {
198 t.Parallel()
199
200 res := []syslog.Result{}
201 strictParser := NewParser(syslog.WithListener(func(r *syslog.Result) {
202 res = append(res, *r)
203 }), WithTrailer(NUL))
204 strictParser.Parse(strings.NewReader(inputWithNUL))
205
206 assert.Equal(t, tc.results, res)
207 })
208 t.Run(fmt.Sprintf("effort/NL/%s", tc.descr), func(t *testing.T) {
209 t.Parallel()
210
211 res := []syslog.Result{}
212 effortParser := NewParser(syslog.WithBestEffort(), syslog.WithListener(func(r *syslog.Result) {
213 res = append(res, *r)
214 }), WithTrailer(NUL))
215 effortParser.Parse(strings.NewReader(inputWithNUL))
216
217 assert.Equal(t, tc.pResults, res)
218 })
219 }
220 }
221
222 func TestParserBestEffortOption(t *testing.T) {
223 p1 := NewParser().(syslog.BestEfforter)
224 assert.False(t, p1.HasBestEffort())
225
226 p2 := NewParser(syslog.WithBestEffort()).(syslog.BestEfforter)
227 assert.True(t, p2.HasBestEffort())
228 }
0 package nontransparent
1
2 import (
3 "fmt"
4 "strings"
5 )
6
7 // TrailerType is the king of supported trailers for non-transparent frames.
8 type TrailerType int
9
10 const (
11 // LF is the line feed - ie., byte 10. Also the default one.
12 LF TrailerType = iota
13 // NUL is the nul byte - ie., byte 0.
14 NUL
15 )
16
17 var names = [...]string{"LF", "NUL"}
18 var bytes = []int{10, 0}
19
20 func (t TrailerType) String() string {
21 if t < LF || t > NUL {
22 return ""
23 }
24
25 return names[t]
26 }
27
28 // Value returns the byte corresponding to the receiving TrailerType.
29 func (t TrailerType) Value() (int, error) {
30 if t < LF || t > NUL {
31 return -1, fmt.Errorf("unknown TrailerType")
32 }
33
34 return bytes[t], nil
35 }
36
37 // TrailerTypeFromString returns a TrailerType given a string.
38 func TrailerTypeFromString(s string) (TrailerType, error) {
39 switch strings.ToUpper(s) {
40 case `"LF"`:
41 fallthrough
42 case `'LF'`:
43 fallthrough
44 case `LF`:
45 return LF, nil
46
47 case `"NUL"`:
48 fallthrough
49 case `'NUL'`:
50 fallthrough
51 case `NUL`:
52 return NUL, nil
53 }
54 return -1, fmt.Errorf("unknown TrailerType")
55 }
56
57 // UnmarshalTOML decodes trailer type from TOML data.
58 func (t *TrailerType) UnmarshalTOML(data []byte) (err error) {
59 return t.UnmarshalText(data)
60 }
61
62 // UnmarshalText implements encoding.TextUnmarshaler
63 func (t *TrailerType) UnmarshalText(data []byte) (err error) {
64 *t, err = TrailerTypeFromString(string(data))
65 return err
66 }
67
68 // MarshalText implements encoding.TextMarshaler
69 func (t TrailerType) MarshalText() ([]byte, error) {
70 s := t.String()
71 if s != "" {
72 return []byte(s), nil
73 }
74 return nil, fmt.Errorf("unknown TrailerType")
75 }
0 package nontransparent
1
2 import (
3 "encoding/json"
4
5 "github.com/stretchr/testify/assert"
6
7 "testing"
8 )
9
10 type trailerWrapper struct {
11 Trailer TrailerType `json:"trailer"`
12 }
13
14 func TestUnmarshalTOML(t *testing.T) {
15 var t1 TrailerType
16 t1.UnmarshalTOML([]byte(`"LF"`))
17 assert.Equal(t, LF, t1)
18
19 var t2 TrailerType
20 t2.UnmarshalTOML([]byte(`LF`))
21 assert.Equal(t, LF, t2)
22
23 var t3 TrailerType
24 t3.UnmarshalTOML([]byte(`'LF'`))
25 assert.Equal(t, LF, t3)
26
27 var t4 TrailerType
28 t4.UnmarshalTOML([]byte(`"NUL"`))
29 assert.Equal(t, NUL, t4)
30
31 var t5 TrailerType
32 t5.UnmarshalTOML([]byte(`NUL`))
33 assert.Equal(t, NUL, t5)
34
35 var t6 TrailerType
36 t6.UnmarshalTOML([]byte(`'NUL'`))
37 assert.Equal(t, NUL, t6)
38
39 var t7 TrailerType
40 err := t7.UnmarshalTOML([]byte(`wrong`))
41 assert.Equal(t, TrailerType(-1), t7)
42 assert.Error(t, err)
43 }
44
45 func TestUnmarshalLowercase(t *testing.T) {
46 x := &trailerWrapper{}
47 in := []byte(`{"trailer": "lf"}`)
48 err := json.Unmarshal(in, x)
49 assert.Nil(t, err)
50 assert.Equal(t, &trailerWrapper{Trailer: LF}, x)
51 }
52
53 func TestUnmarshalUnknown(t *testing.T) {
54 x := &trailerWrapper{}
55 in := []byte(`{"trailer": "UNK"}`)
56 err := json.Unmarshal(in, x)
57 assert.Error(t, err)
58 assert.Equal(t, &trailerWrapper{Trailer: -1}, x)
59 }
60
61 func TestUnmarshal(t *testing.T) {
62 x := &trailerWrapper{}
63 in := []byte(`{"trailer": "NUL"}`)
64 err := json.Unmarshal(in, x)
65 assert.Nil(t, err)
66 assert.Equal(t, &trailerWrapper{Trailer: NUL}, x)
67 }
68
69 func TestMarshalUnknown(t *testing.T) {
70 res, err := json.Marshal(&trailerWrapper{Trailer: TrailerType(-2)})
71 assert.Error(t, err)
72 assert.Empty(t, res)
73 }
74
75 func TestMarshal(t *testing.T) {
76 res, err := json.Marshal(&trailerWrapper{Trailer: NUL})
77 assert.Nil(t, err)
78 assert.Equal(t, `{"trailer":"NUL"}`, string(res))
79 }
0 package octetcounting
1
2 import (
3 "github.com/influxdata/go-syslog"
4 "io"
5 "strings"
6 "time"
7
8 "github.com/davecgh/go-spew/spew"
9 )
10
11 func output(out interface{}) {
12 spew.Config.DisableCapacities = true
13 spew.Config.DisablePointerAddresses = true
14 spew.Dump(out)
15 }
16
17 func Example() {
18 results := []syslog.Result{}
19 acc := func(res *syslog.Result) {
20 results = append(results, *res)
21 }
22 r := strings.NewReader("48 <1>1 2003-10-11T22:14:15.003Z host.local - - - -25 <3>1 - host.local - - - -38 <2>1 - host.local su - - - κόσμε")
23 NewParser(syslog.WithBestEffort(), syslog.WithListener(acc)).Parse(r)
24 output(results)
25 // Output:
26 // ([]syslog.Result) (len=3) {
27 // (syslog.Result) {
28 // Message: (*rfc5424.SyslogMessage)({
29 // priority: (*uint8)(1),
30 // facility: (*uint8)(0),
31 // severity: (*uint8)(1),
32 // version: (uint16) 1,
33 // timestamp: (*time.Time)(2003-10-11 22:14:15.003 +0000 UTC),
34 // hostname: (*string)((len=10) "host.local"),
35 // appname: (*string)(<nil>),
36 // procID: (*string)(<nil>),
37 // msgID: (*string)(<nil>),
38 // structuredData: (*map[string]map[string]string)(<nil>),
39 // message: (*string)(<nil>)
40 // }),
41 // Error: (error) <nil>
42 // },
43 // (syslog.Result) {
44 // Message: (*rfc5424.SyslogMessage)({
45 // priority: (*uint8)(3),
46 // facility: (*uint8)(0),
47 // severity: (*uint8)(3),
48 // version: (uint16) 1,
49 // timestamp: (*time.Time)(<nil>),
50 // hostname: (*string)((len=10) "host.local"),
51 // appname: (*string)(<nil>),
52 // procID: (*string)(<nil>),
53 // msgID: (*string)(<nil>),
54 // structuredData: (*map[string]map[string]string)(<nil>),
55 // message: (*string)(<nil>)
56 // }),
57 // Error: (error) <nil>
58 // },
59 // (syslog.Result) {
60 // Message: (*rfc5424.SyslogMessage)({
61 // priority: (*uint8)(2),
62 // facility: (*uint8)(0),
63 // severity: (*uint8)(2),
64 // version: (uint16) 1,
65 // timestamp: (*time.Time)(<nil>),
66 // hostname: (*string)((len=10) "host.local"),
67 // appname: (*string)((len=2) "su"),
68 // procID: (*string)(<nil>),
69 // msgID: (*string)(<nil>),
70 // structuredData: (*map[string]map[string]string)(<nil>),
71 // message: (*string)((len=11) "κόσμε")
72 // }),
73 // Error: (error) <nil>
74 // }
75 // }
76 }
77
78 func Example_channel() {
79 messages := []string{
80 "16 <1>1 - - - - - -",
81 "17 <2>12 A B C D E -",
82 "16 <1>1",
83 }
84
85 r, w := io.Pipe()
86
87 go func() {
88 defer w.Close()
89
90 for _, m := range messages {
91 w.Write([]byte(m))
92 time.Sleep(time.Millisecond * 220)
93 }
94 }()
95
96 c := make(chan syslog.Result)
97 emit := func(res *syslog.Result) {
98 c <- *res
99 }
100
101 parser := NewParser(syslog.WithBestEffort(), syslog.WithListener(emit))
102 go func() {
103 defer close(c)
104 parser.Parse(r)
105 }()
106
107 for r := range c {
108 output(r)
109 }
110
111 r.Close()
112
113 // Output:
114 // (syslog.Result) {
115 // Message: (*rfc5424.SyslogMessage)({
116 // priority: (*uint8)(1),
117 // facility: (*uint8)(0),
118 // severity: (*uint8)(1),
119 // version: (uint16) 1,
120 // timestamp: (*time.Time)(<nil>),
121 // hostname: (*string)(<nil>),
122 // appname: (*string)(<nil>),
123 // procID: (*string)(<nil>),
124 // msgID: (*string)(<nil>),
125 // structuredData: (*map[string]map[string]string)(<nil>),
126 // message: (*string)(<nil>)
127 // }),
128 // Error: (error) <nil>
129 // }
130 // (syslog.Result) {
131 // Message: (*rfc5424.SyslogMessage)({
132 // priority: (*uint8)(2),
133 // facility: (*uint8)(0),
134 // severity: (*uint8)(2),
135 // version: (uint16) 12,
136 // timestamp: (*time.Time)(<nil>),
137 // hostname: (*string)(<nil>),
138 // appname: (*string)(<nil>),
139 // procID: (*string)(<nil>),
140 // msgID: (*string)(<nil>),
141 // structuredData: (*map[string]map[string]string)(<nil>),
142 // message: (*string)(<nil>)
143 // }),
144 // Error: (*errors.errorString)(expecting a RFC3339MICRO timestamp or a nil value [col 6])
145 // }
146 // (syslog.Result) {
147 // Message: (*rfc5424.SyslogMessage)({
148 // priority: (*uint8)(1),
149 // facility: (*uint8)(0),
150 // severity: (*uint8)(1),
151 // version: (uint16) 1,
152 // timestamp: (*time.Time)(<nil>),
153 // hostname: (*string)(<nil>),
154 // appname: (*string)(<nil>),
155 // procID: (*string)(<nil>),
156 // msgID: (*string)(<nil>),
157 // structuredData: (*map[string]map[string]string)(<nil>),
158 // message: (*string)(<nil>)
159 // }),
160 // Error: (*errors.errorString)(parsing error [col 4])
161 // }
162 }
0 package octetcounting
1
2 import (
3 "fmt"
4 "io"
5
6 "github.com/influxdata/go-syslog"
7 "github.com/influxdata/go-syslog/rfc5424"
8 )
9
10 // parser is capable to parse the input stream following octetcounting.
11 //
12 // Use NewParser function to instantiate one.
13 type parser struct {
14 msglen int64
15 s Scanner
16 internal syslog.Machine
17 last Token
18 stepback bool // Wheter to retrieve the last token or not
19 bestEffort bool // Best effort mode flag
20 emit syslog.ParserListener
21 }
22
23 // NewParser returns a syslog.Parser suitable to parse syslog messages sent with transparent - ie. octet counting (RFC 5425) - framing.
24 func NewParser(opts ...syslog.ParserOption) syslog.Parser {
25 p := &parser{
26 emit: func(*syslog.Result) { /* noop */ },
27 }
28
29 for _, opt := range opts {
30 p = opt(p).(*parser)
31 }
32
33 // Create internal parser depending on options
34 if p.bestEffort {
35 p.internal = rfc5424.NewMachine(rfc5424.WithBestEffort())
36 } else {
37 p.internal = rfc5424.NewMachine()
38 }
39
40 return p
41 }
42
43 // HasBestEffort tells whether the receiving parser has best effort mode on or off.
44 func (p *parser) HasBestEffort() bool {
45 return p.bestEffort
46 }
47
48 // WithBestEffort implements the syslog.BestEfforter interface.
49 //
50 // The generic options uses it.
51 func (p *parser) WithBestEffort() {
52 p.bestEffort = true
53 }
54
55 // WithListener implements the syslog.Parser interface.
56 //
57 // The generic options uses it.
58 func (p *parser) WithListener(f syslog.ParserListener) {
59 p.emit = f
60 }
61
62 // Parse parses the io.Reader incoming bytes.
63 //
64 // It stops parsing when an error regarding RFC 5425 is found.
65 func (p *parser) Parse(r io.Reader) {
66 p.s = *NewScanner(r)
67 p.run()
68 }
69
70 func (p *parser) run() {
71 for {
72 var tok Token
73
74 // First token MUST be a MSGLEN
75 if tok = p.scan(); tok.typ != MSGLEN {
76 p.emit(&syslog.Result{
77 Error: fmt.Errorf("found %s, expecting a %s", tok, MSGLEN),
78 })
79 break
80 }
81
82 // Next we MUST see a WS
83 if tok = p.scan(); tok.typ != WS {
84 p.emit(&syslog.Result{
85 Error: fmt.Errorf("found %s, expecting a %s", tok, WS),
86 })
87 break
88 }
89
90 // Next we MUST see a SYSLOGMSG with length equal to MSGLEN
91 if tok = p.scan(); tok.typ != SYSLOGMSG {
92 e := fmt.Errorf(`found %s after "%s", expecting a %s containing %d octets`, tok, tok.lit, SYSLOGMSG, p.s.msglen)
93 // Underflow case
94 if len(tok.lit) < int(p.s.msglen) && p.bestEffort {
95 // Though MSGLEN was not respected, we try to parse the existing SYSLOGMSG as a RFC5424 syslog message
96 result := p.parse(tok.lit)
97 if result.Error == nil {
98 result.Error = e
99 }
100 p.emit(result)
101 break
102 }
103
104 p.emit(&syslog.Result{
105 Error: e,
106 })
107 break
108 }
109
110 // Parse the SYSLOGMSG literal pretending it is a RFC5424 syslog message
111 result := p.parse(tok.lit)
112 if p.bestEffort || result.Error == nil {
113 p.emit(result)
114 }
115 if !p.bestEffort && result.Error != nil {
116 p.emit(&syslog.Result{Error: result.Error})
117 break
118 }
119
120 // Next we MUST see an EOF otherwise the parsing we'll start again
121 if tok = p.scan(); tok.typ == EOF {
122 break
123 } else {
124 p.unscan()
125 }
126 }
127 }
128
129 func (p *parser) parse(input []byte) *syslog.Result {
130 sys, err := p.internal.Parse(input)
131
132 return &syslog.Result{
133 Message: sys,
134 Error: err,
135 }
136 }
137
138 // scan returns the next token from the underlying scanner;
139 // if a token has been unscanned then read that instead.
140 func (p *parser) scan() Token {
141 // If we have a token on the buffer, then return it.
142 if p.stepback {
143 p.stepback = false
144 return p.last
145 }
146
147 // Otherwise read the next token from the scanner.
148 tok := p.s.Scan()
149
150 // Save it to the buffer in case we unscan later.
151 p.last = tok
152
153 return tok
154 }
155
156 // unscan pushes the previously read token back onto the buffer.
157 func (p *parser) unscan() {
158 p.stepback = true
159 }
0 package octetcounting
1
2 import (
3 "fmt"
4 "math/rand"
5 "strings"
6 "testing"
7 "time"
8
9 "github.com/influxdata/go-syslog"
10 "github.com/influxdata/go-syslog/rfc5424"
11 "github.com/stretchr/testify/assert"
12 )
13
14 type testCase struct {
15 descr string
16 input string
17 results []syslog.Result
18 pResults []syslog.Result
19 }
20
21 var testCases []testCase
22
23 const (
24 letterBytes = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
25 letterIdxBits = 6 // 6 bits to represent a letter index
26 letterIdxMask = 1<<letterIdxBits - 1 // All 1-bits, as many as letterIdxBits
27 letterIdxMax = 63 / letterIdxBits // Number of letter indices fitting in 63 bits
28 )
29
30 func getRandomString(n int) string {
31 src := rand.NewSource(time.Now().UnixNano())
32 b := make([]byte, n)
33 // A src.Int63() generates 63 random bits, enough for letterIdxMax characters
34 for i, cache, remain := n-1, src.Int63(), letterIdxMax; i >= 0; {
35 if remain == 0 {
36 cache, remain = src.Int63(), letterIdxMax
37 }
38 if idx := int(cache & letterIdxMask); idx < len(letterBytes) {
39 b[i] = letterBytes[idx]
40 i--
41 }
42 cache >>= letterIdxBits
43 remain--
44 }
45
46 return string(b)
47 }
48
49 func getStringAddress(str string) *string {
50 return &str
51 }
52
53 func getUint8Address(x uint8) *uint8 {
54 return &x
55 }
56
57 func getTimestampError(col int) error {
58 return fmt.Errorf("expecting a RFC3339MICRO timestamp or a nil value [col %d]", col)
59 }
60
61 func getParsingError(col int) error {
62 return fmt.Errorf("parsing error [col %d]", col)
63 }
64
65 func getTestCases() []testCase {
66 maxPriority := uint8(191)
67 maxVersion := uint16(999)
68 maxTimestamp := "2018-12-31T23:59:59.999999-23:59"
69 maxHostname := "abcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabc"
70 maxAppname := "abcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdef"
71 maxProcID := "abcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzab"
72 maxMsgID := "abcdefghilmnopqrstuvzabcdefghilm"
73 message7681 := getRandomString(7681)
74
75 return []testCase{
76 {
77 "empty",
78 "",
79 []syslog.Result{
80 {Error: fmt.Errorf("found %s, expecting a %s", EOF, MSGLEN)},
81 },
82 []syslog.Result{
83 {Error: fmt.Errorf("found %s, expecting a %s", EOF, MSGLEN)},
84 },
85 },
86 {
87 "1st ok/2nd mf", // mf means malformed syslog message
88 "16 <1>1 - - - - - -17 <2>12 A B C D E -",
89 // results w/o best effort
90 []syslog.Result{
91 {
92 Message: (&rfc5424.SyslogMessage{}).SetPriority(1).SetVersion(1),
93 },
94 {
95 Error: getTimestampError(6),
96 },
97 },
98 // results with best effort
99 []syslog.Result{
100 {
101 Message: (&rfc5424.SyslogMessage{}).SetPriority(1).SetVersion(1),
102 },
103 {
104 Message: (&rfc5424.SyslogMessage{}).SetPriority(2).SetVersion(12),
105 Error: getTimestampError(6),
106 },
107 },
108 },
109 {
110 "1st ok/2nd ko", // ko means wrong token
111 "16 <1>1 - - - - - -xaaa",
112 // results w/o best effort
113 []syslog.Result{
114 {
115 Message: (&rfc5424.SyslogMessage{}).SetPriority(1).SetVersion(1),
116 },
117 {
118 Error: fmt.Errorf("found %s, expecting a %s", Token{ILLEGAL, []byte("x")}, MSGLEN),
119 },
120 },
121 // results with best effort
122 []syslog.Result{
123 {
124 Message: (&rfc5424.SyslogMessage{}).SetPriority(1).SetVersion(1),
125 },
126 {
127 Error: fmt.Errorf("found %s, expecting a %s", Token{ILLEGAL, []byte("x")}, MSGLEN),
128 },
129 },
130 },
131 {
132 "1st ml/2nd ko",
133 "16 <1>1 A B C D E -xaaa",
134 // results w/o best effort
135 []syslog.Result{
136 {
137 Error: getTimestampError(5),
138 },
139 },
140 // results with best effort
141 []syslog.Result{
142 {
143 Message: (&rfc5424.SyslogMessage{}).SetPriority(1).SetVersion(1),
144 Error: getTimestampError(5),
145 },
146 {
147 Error: fmt.Errorf("found %s, expecting a %s", Token{ILLEGAL, []byte("x")}, MSGLEN),
148 },
149 },
150 },
151 {
152 "1st ok//utf8",
153 "23 <1>1 - - - - - - hellø", // msglen MUST be the octet count
154 //results w/o best effort
155 []syslog.Result{
156 {
157 Message: (&rfc5424.SyslogMessage{}).
158 SetPriority(1).
159 SetVersion(1).
160 SetMessage("hellø"),
161 },
162 },
163 // results with best effort
164 []syslog.Result{
165 {
166 Message: (&rfc5424.SyslogMessage{}).
167 SetPriority(1).
168 SetVersion(1).
169 SetMessage("hellø"),
170 },
171 },
172 },
173 {
174 "1st ko//incomplete SYSLOGMSG",
175 "16 <1>1",
176 // results w/o best effort
177 []syslog.Result{
178 {
179 Error: fmt.Errorf(`found %s after "%s", expecting a %s containing %d octets`, EOF, "<1>1", SYSLOGMSG, 16),
180 },
181 },
182 // results with best effort
183 []syslog.Result{
184 {
185 Message: (&rfc5424.SyslogMessage{}).SetPriority(1).SetVersion(1),
186 Error: getParsingError(4),
187 // Error: fmt.Errorf(`found %s after "%s", expecting a %s containing %d octets`, EOF, "<1>1", SYSLOGMSG, 16),
188 },
189 },
190 },
191 {
192 "1st ko//missing WS found ILLEGAL",
193 "16<1>1",
194 // results w/o best effort
195 []syslog.Result{
196 {
197 Error: fmt.Errorf("found %s, expecting a %s", Token{ILLEGAL, []byte("<")}, WS),
198 },
199 },
200 // results with best effort
201 []syslog.Result{
202 {
203 Error: fmt.Errorf("found %s, expecting a %s", Token{ILLEGAL, []byte("<")}, WS),
204 },
205 },
206 },
207 {
208 "1st ko//missing WS found EOF",
209 "1",
210 // results w/o best effort
211 []syslog.Result{
212 {
213 Error: fmt.Errorf("found %s, expecting a %s", EOF, WS),
214 },
215 },
216 // results with best effort
217 []syslog.Result{
218 {
219 Error: fmt.Errorf("found %s, expecting a %s", EOF, WS),
220 },
221 },
222 },
223 {
224 "1st ok/2nd ok/3rd ok",
225 "48 <1>1 2003-10-11T22:14:15.003Z host.local - - - -25 <3>1 - host.local - - - -38 <2>1 - host.local su - - - κόσμε",
226 // results w/o best effort
227 []syslog.Result{
228 {
229 Message: (&rfc5424.SyslogMessage{}).
230 SetPriority(1).
231 SetVersion(1).
232 SetTimestamp("2003-10-11T22:14:15.003Z").
233 SetHostname("host.local"),
234 },
235 {
236 Message: (&rfc5424.SyslogMessage{}).
237 SetPriority(3).
238 SetVersion(1).
239 SetHostname("host.local"),
240 },
241 {
242 Message: (&rfc5424.SyslogMessage{}).
243 SetPriority(2).
244 SetVersion(1).
245 SetHostname("host.local").
246 SetAppname("su").
247 SetMessage("κόσμε"),
248 },
249 },
250 // results with best effort
251 []syslog.Result{
252 {
253 Message: (&rfc5424.SyslogMessage{}).
254 SetPriority(1).
255 SetVersion(1).
256 SetTimestamp("2003-10-11T22:14:15.003Z").
257 SetHostname("host.local"),
258 },
259 {
260 Message: (&rfc5424.SyslogMessage{}).
261 SetPriority(3).
262 SetVersion(1).
263 SetHostname("host.local"),
264 },
265 {
266 Message: (&rfc5424.SyslogMessage{}).
267 SetPriority(2).
268 SetVersion(1).
269 SetHostname("host.local").
270 SetAppname("su").
271 SetMessage("κόσμε"),
272 },
273 },
274 },
275 {
276 "1st ok/2nd mf/3rd ok", // mf means malformed syslog message
277 "16 <1>1 - - - - - -17 <2>12 A B C D E -16 <1>1 - - - - - -",
278 // results w/o best effort
279 []syslog.Result{
280 {
281 Message: (&rfc5424.SyslogMessage{}).SetPriority(1).SetVersion(1),
282 },
283 {
284 Error: getTimestampError(6),
285 },
286 },
287 // results with best effort
288 []syslog.Result{
289 {
290 Message: (&rfc5424.SyslogMessage{}).SetPriority(1).SetVersion(1),
291 },
292 {
293 Message: (&rfc5424.SyslogMessage{}).SetPriority(2).SetVersion(12),
294 Error: getTimestampError(6),
295 },
296 {
297 Message: (&rfc5424.SyslogMessage{}).SetPriority(1).SetVersion(1),
298 },
299 },
300 },
301 {
302 "1st ok//max",
303 fmt.Sprintf("8192 <%d>%d %s %s %s %s %s - %s", maxPriority, maxVersion, maxTimestamp, maxHostname, maxAppname, maxProcID, maxMsgID, message7681),
304 // results w/o best effort
305 []syslog.Result{
306 {
307 Message: (&rfc5424.SyslogMessage{}).
308 SetPriority(maxPriority).
309 SetVersion(maxVersion).
310 SetTimestamp(maxTimestamp).
311 SetHostname(maxHostname).
312 SetAppname(maxAppname).
313 SetProcID(maxProcID).
314 SetMsgID(maxMsgID).
315 SetMessage(message7681),
316 },
317 },
318 // results with best effort
319 []syslog.Result{
320 {
321 Message: (&rfc5424.SyslogMessage{}).
322 SetPriority(maxPriority).
323 SetVersion(maxVersion).
324 SetTimestamp(maxTimestamp).
325 SetHostname(maxHostname).
326 SetAppname(maxAppname).
327 SetProcID(maxProcID).
328 SetMsgID(maxMsgID).
329 SetMessage(message7681),
330 },
331 },
332 },
333 {
334 "1st ok/2nd ok//max/max",
335 fmt.Sprintf("8192 <%d>%d %s %s %s %s %s - %s8192 <%d>%d %s %s %s %s %s - %s", maxPriority, maxVersion, maxTimestamp, maxHostname, maxAppname, maxProcID, maxMsgID, message7681, maxPriority, maxVersion, maxTimestamp, maxHostname, maxAppname, maxProcID, maxMsgID, message7681),
336 // results w/o best effort
337 []syslog.Result{
338 {
339 Message: (&rfc5424.SyslogMessage{}).
340 SetPriority(maxPriority).
341 SetVersion(maxVersion).
342 SetTimestamp(maxTimestamp).
343 SetHostname(maxHostname).
344 SetAppname(maxAppname).
345 SetProcID(maxProcID).
346 SetMsgID(maxMsgID).
347 SetMessage(message7681),
348 },
349 {
350 Message: (&rfc5424.SyslogMessage{}).
351 SetPriority(maxPriority).
352 SetVersion(maxVersion).
353 SetTimestamp(maxTimestamp).
354 SetHostname(maxHostname).
355 SetAppname(maxAppname).
356 SetProcID(maxProcID).
357 SetMsgID(maxMsgID).
358 SetMessage(message7681),
359 },
360 },
361 // results with best effort
362 []syslog.Result{
363 {
364 Message: (&rfc5424.SyslogMessage{}).
365 SetPriority(maxPriority).
366 SetVersion(maxVersion).
367 SetTimestamp(maxTimestamp).
368 SetHostname(maxHostname).
369 SetAppname(maxAppname).
370 SetProcID(maxProcID).
371 SetMsgID(maxMsgID).
372 SetMessage(message7681),
373 },
374 {
375 Message: (&rfc5424.SyslogMessage{}).
376 SetPriority(maxPriority).
377 SetVersion(maxVersion).
378 SetTimestamp(maxTimestamp).
379 SetHostname(maxHostname).
380 SetAppname(maxAppname).
381 SetProcID(maxProcID).
382 SetMsgID(maxMsgID).
383 SetMessage(message7681),
384 },
385 },
386 },
387 {
388 "1st ok/2nd ok/3rd ok//max/no/max",
389 fmt.Sprintf("8192 <%d>%d %s %s %s %s %s - %s16 <1>1 - - - - - -8192 <%d>%d %s %s %s %s %s - %s", maxPriority, maxVersion, maxTimestamp, maxHostname, maxAppname, maxProcID, maxMsgID, message7681, maxPriority, maxVersion, maxTimestamp, maxHostname, maxAppname, maxProcID, maxMsgID, message7681),
390 // results w/o best effort
391 []syslog.Result{
392 {
393 Message: (&rfc5424.SyslogMessage{}).
394 SetPriority(maxPriority).
395 SetVersion(maxVersion).
396 SetTimestamp(maxTimestamp).
397 SetHostname(maxHostname).
398 SetAppname(maxAppname).
399 SetProcID(maxProcID).
400 SetMsgID(maxMsgID).
401 SetMessage(message7681),
402 },
403 {
404 Message: (&rfc5424.SyslogMessage{}).SetPriority(1).SetVersion(1),
405 },
406 {
407 Message: (&rfc5424.SyslogMessage{}).
408 SetPriority(maxPriority).
409 SetVersion(maxVersion).
410 SetTimestamp(maxTimestamp).
411 SetHostname(maxHostname).
412 SetAppname(maxAppname).
413 SetProcID(maxProcID).
414 SetMsgID(maxMsgID).
415 SetMessage(message7681),
416 },
417 },
418 // results with best effort
419 []syslog.Result{
420 {
421 Message: (&rfc5424.SyslogMessage{}).
422 SetPriority(maxPriority).
423 SetVersion(maxVersion).
424 SetTimestamp(maxTimestamp).
425 SetHostname(maxHostname).
426 SetAppname(maxAppname).
427 SetProcID(maxProcID).
428 SetMsgID(maxMsgID).
429 SetMessage(message7681),
430 },
431 {
432 Message: (&rfc5424.SyslogMessage{}).SetPriority(1).SetVersion(1),
433 },
434 {
435 Message: (&rfc5424.SyslogMessage{}).
436 SetPriority(maxPriority).
437 SetVersion(maxVersion).
438 SetTimestamp(maxTimestamp).
439 SetHostname(maxHostname).
440 SetAppname(maxAppname).
441 SetProcID(maxProcID).
442 SetMsgID(maxMsgID).
443 SetMessage(message7681),
444 },
445 },
446 },
447 {
448 "1st ml//maxlen gt 8192", // maxlength greather than the buffer size
449 fmt.Sprintf("8193 <%d>%d %s %s %s %s %s - %s", maxPriority, maxVersion, maxTimestamp, maxHostname, maxAppname, maxProcID, maxMsgID, message7681),
450 // results w/o best effort
451 []syslog.Result{
452 {
453 Error: fmt.Errorf("found %s after \"%s\", expecting a %s containing %d octets", EOF, fmt.Sprintf("<%d>%d %s %s %s %s %s - %s", maxPriority, maxVersion, maxTimestamp, maxHostname, maxAppname, maxProcID, maxMsgID, message7681), SYSLOGMSG, 8193),
454 },
455 },
456 // results with best effort
457 []syslog.Result{
458 {
459 Message: (&rfc5424.SyslogMessage{}).
460 SetPriority(maxPriority).
461 SetVersion(maxVersion).
462 SetTimestamp(maxTimestamp).
463 SetHostname(maxHostname).
464 SetAppname(maxAppname).
465 SetProcID(maxProcID).
466 SetMsgID(maxMsgID).
467 SetMessage(message7681),
468 Error: fmt.Errorf("found %s after \"%s\", expecting a %s containing %d octets", EOF, fmt.Sprintf("<%d>%d %s %s %s %s %s - %s", maxPriority, maxVersion, maxTimestamp, maxHostname, maxAppname, maxProcID, maxMsgID, message7681), SYSLOGMSG, 8193),
469 },
470 },
471 },
472 {
473 "1st uf/2nd ok//incomplete SYSLOGMSG/notdetectable",
474 "16 <1>217 <11>1 - - - - - -",
475 // results w/o best effort
476 []syslog.Result{
477 {
478 Error: getTimestampError(7),
479 },
480 },
481 // results with best effort
482 []syslog.Result{
483 {
484 Message: (&rfc5424.SyslogMessage{}).SetPriority(1).SetVersion(217),
485 Error: getTimestampError(7),
486 },
487 {
488 Error: fmt.Errorf("found %s, expecting a %s", WS, MSGLEN),
489 },
490 },
491 },
492 }
493 }
494
495 func init() {
496 testCases = getTestCases()
497 }
498
499 func TestParse(t *testing.T) {
500 for _, tc := range testCases {
501 tc := tc
502
503 t.Run(fmt.Sprintf("strict/%s", tc.descr), func(t *testing.T) {
504 t.Parallel()
505
506 res := []syslog.Result{}
507 strictParser := NewParser(syslog.WithListener(func(r *syslog.Result) {
508 res = append(res, *r)
509 }))
510 strictParser.Parse(strings.NewReader(tc.input))
511
512 assert.Equal(t, tc.results, res)
513 })
514 t.Run(fmt.Sprintf("effort/%s", tc.descr), func(t *testing.T) {
515 t.Parallel()
516
517 res := []syslog.Result{}
518 effortParser := NewParser(syslog.WithBestEffort(), syslog.WithListener(func(r *syslog.Result) {
519 res = append(res, *r)
520 }))
521 effortParser.Parse(strings.NewReader(tc.input))
522
523 assert.Equal(t, tc.pResults, res)
524 })
525 }
526 }
527
528 func TestParserBestEffortOption(t *testing.T) {
529 p1 := NewParser().(syslog.BestEfforter)
530 assert.False(t, p1.HasBestEffort())
531
532 p2 := NewParser(syslog.WithBestEffort()).(syslog.BestEfforter)
533 assert.True(t, p2.HasBestEffort())
534 }
0 package octetcounting
1
2 import (
3 "bufio"
4 "bytes"
5 "io"
6 "strconv"
7 )
8
9 // size as per RFC5425#section-4.3.1
10 var size = 8192
11
12 // eof represents a marker byte for the end of the reader
13 var eof = byte(0)
14
15 // ws represents the whitespace
16 var ws = byte(32)
17
18 // lt represents the "<" character
19 var lt = byte(60)
20
21 // isDigit returns true if the byte represents a number in [0,9]
22 func isDigit(ch byte) bool {
23 return (ch >= 47 && ch <= 57)
24 }
25
26 // isNonZeroDigit returns true if the byte represents a number in ]0,9]
27 func isNonZeroDigit(ch byte) bool {
28 return (ch >= 48 && ch <= 57)
29 }
30
31 // Scanner represents the lexical scanner for octet counting transport.
32 type Scanner struct {
33 r *bufio.Reader
34 msglen uint64
35 ready bool
36 }
37
38 // NewScanner returns a pointer to a new instance of Scanner.
39 func NewScanner(r io.Reader) *Scanner {
40 return &Scanner{
41 r: bufio.NewReaderSize(r, size+5), // "8192 " has length 5
42 }
43 }
44
45 // read reads the next byte from the buffered reader
46 // it returns the byte(0) if an error occurs (or io.EOF is returned)
47 func (s *Scanner) read() byte {
48 b, err := s.r.ReadByte()
49 if err != nil {
50 return eof
51 }
52 return b
53 }
54
55 // unread places the previously read byte back on the reader
56 func (s *Scanner) unread() {
57 _ = s.r.UnreadByte()
58 }
59
60 // Scan returns the next token.
61 func (s *Scanner) Scan() (tok Token) {
62 // Read the next byte.
63 b := s.read()
64
65 if isNonZeroDigit(b) {
66 s.unread()
67 s.ready = false
68 return s.scanMsgLen()
69 }
70
71 // Otherwise read the individual character
72 switch b {
73 case eof:
74 s.ready = false
75 return Token{
76 typ: EOF,
77 }
78 case ws:
79 s.ready = true
80 return Token{
81 typ: WS,
82 lit: []byte{ws},
83 }
84 case lt:
85 if s.msglen > 0 && s.ready {
86 s.unread()
87 return s.scanSyslogMsg()
88 }
89 }
90
91 return Token{
92 typ: ILLEGAL,
93 lit: []byte{b},
94 }
95 }
96
97 func (s *Scanner) scanMsgLen() Token {
98 // Create a buffer and read the current character into it
99 var buf bytes.Buffer
100 buf.WriteByte(s.read())
101
102 // Read every subsequent digit character into the buffer
103 // Non-digit characters and EOF will cause the loop to exit
104 for {
105 if b := s.read(); b == eof {
106 break
107 } else if !isDigit(b) {
108 s.unread()
109 break
110 } else {
111 buf.WriteByte(b)
112 }
113 }
114
115 msglen := buf.String()
116 s.msglen, _ = strconv.ParseUint(msglen, 10, 64)
117
118 // (todo) > return ILLEGAL if s.msglen > size (8192)
119 // (todo) > only when NOT in besteffort mode or always?
120
121 return Token{
122 typ: MSGLEN,
123 lit: buf.Bytes(),
124 }
125 }
126
127 func (s *Scanner) scanSyslogMsg() Token {
128 // Check the reader contains almost MSGLEN characters
129 n := int(s.msglen)
130 b, err := s.r.Peek(n)
131 if err != nil {
132 return Token{
133 typ: EOF,
134 lit: b,
135 }
136 }
137 // Advance the reader of MSGLEN characters
138 s.r.Discard(n)
139
140 // Reset status
141 s.ready = false
142 s.msglen = 0
143
144 // Return SYSLOGMSG token
145 return Token{
146 typ: SYSLOGMSG,
147 lit: b,
148 }
149 }
0 package octetcounting
1
2 import (
3 "strconv"
4 )
5
6 // Token represents a lexical token of the octetcounting.
7 type Token struct {
8 typ TokenType
9 lit []byte
10 }
11
12 // TokenType represents a lexical token type of the octetcounting.
13 type TokenType int
14
15 // Tokens
16 const (
17 ILLEGAL TokenType = iota
18 EOF
19 WS
20 MSGLEN
21 SYSLOGMSG
22 )
23
24 // String outputs the string representation of the receiving Token.
25 func (t Token) String() string {
26 switch t.typ {
27 case WS, EOF:
28 return t.typ.String()
29 default:
30 return t.typ.String() + "(" + string(t.lit) + ")"
31 }
32 }
33
34 const tokentypename = "ILLEGALEOFWSMSGLENSYSLOGMSG"
35
36 var tokentypeindex = [...]uint8{0, 7, 10, 12, 18, 27}
37
38 // String outputs the string representation of the receiving TokenType.
39 func (i TokenType) String() string {
40 if i < 0 || i >= TokenType(len(tokentypeindex)-1) {
41 return "TokenType(" + strconv.FormatInt(int64(i), 10) + ")"
42 }
43 return tokentypename[tokentypeindex[i]:tokentypeindex[i+1]]
44 }
0 package octetcounting
1
2 import (
3 "fmt"
4 "testing"
5
6 "github.com/stretchr/testify/assert"
7 )
8
9 func TestTokenTypeString(t *testing.T) {
10 const NOTEXISTING = 1000
11 assert.Equal(t, fmt.Sprintf("TokenType(%d)", NOTEXISTING), TokenType(NOTEXISTING).String())
12 assert.Equal(t, "ILLEGAL", ILLEGAL.String())
13 assert.Equal(t, "WS", TokenType(WS).String())
14 }
15
16 func TestTokenString(t *testing.T) {
17 tok := Token{typ: SYSLOGMSG, lit: []byte("<1>1 - - - - - -")}
18 assert.Equal(t, "SYSLOGMSG(<1>1 - - - - - -)", tok.String())
19 }
0 package syslog
1
2 // WithListener returns a generic option that sets the emit function for syslog parsers.
3 func WithListener(f ParserListener) ParserOption {
4 return func(p Parser) Parser {
5 p.WithListener(f)
6 return p
7 }
8 }
9
10 // WithBestEffort returns a generic options that enables best effort mode for syslog parsers.
11 //
12 // When passed to a parser it tries to recover as much of the syslog messages as possible.
13 func WithBestEffort() ParserOption {
14 return func(p Parser) Parser {
15 p.WithBestEffort()
16 return p
17 }
18 }
0 package rfc5424
1
2 import (
3 "fmt"
4 "sort"
5 "time"
6 )
7
8 const builderStart int = 59
9
10 const builderEnTimestamp int = 8
11 const builderEnHostname int = 45
12 const builderEnAppname int = 46
13 const builderEnProcid int = 47
14 const builderEnMsgid int = 48
15 const builderEnSdid int = 49
16 const builderEnSdpn int = 50
17 const builderEnSdpv int = 589
18 const builderEnMsg int = 59
19
20 type entrypoint int
21
22 const (
23 timestamp entrypoint = iota
24 hostname
25 appname
26 procid
27 msgid
28 sdid
29 sdpn
30 sdpv
31 msg
32 )
33
34 func (e entrypoint) translate() int {
35 switch e {
36 case timestamp:
37 return builderEnTimestamp
38 case hostname:
39 return builderEnHostname
40 case appname:
41 return builderEnAppname
42 case procid:
43 return builderEnProcid
44 case msgid:
45 return builderEnMsgid
46 case sdid:
47 return builderEnSdid
48 case sdpn:
49 return builderEnSdpn
50 case sdpv:
51 return builderEnSdpv
52 case msg:
53 return builderEnMsg
54 default:
55 return builderStart
56 }
57 }
58
59 var currentid string
60 var currentparamname string
61
62 func (sm *SyslogMessage) set(from entrypoint, value string) *SyslogMessage {
63 data := []byte(value)
64 p := 0
65 pb := 0
66 pe := len(data)
67 eof := len(data)
68 cs := from.translate()
69 backslashes := []int{}
70
71 {
72 if p == pe {
73 goto _testEof
74 }
75 switch cs {
76 case 59:
77 goto stCase59
78 case 60:
79 goto stCase60
80 case 0:
81 goto stCase0
82 case 1:
83 goto stCase1
84 case 2:
85 goto stCase2
86 case 3:
87 goto stCase3
88 case 4:
89 goto stCase4
90 case 5:
91 goto stCase5
92 case 6:
93 goto stCase6
94 case 7:
95 goto stCase7
96 case 8:
97 goto stCase8
98 case 9:
99 goto stCase9
100 case 10:
101 goto stCase10
102 case 11:
103 goto stCase11
104 case 12:
105 goto stCase12
106 case 13:
107 goto stCase13
108 case 14:
109 goto stCase14
110 case 15:
111 goto stCase15
112 case 16:
113 goto stCase16
114 case 17:
115 goto stCase17
116 case 18:
117 goto stCase18
118 case 19:
119 goto stCase19
120 case 20:
121 goto stCase20
122 case 21:
123 goto stCase21
124 case 22:
125 goto stCase22
126 case 23:
127 goto stCase23
128 case 24:
129 goto stCase24
130 case 25:
131 goto stCase25
132 case 26:
133 goto stCase26
134 case 27:
135 goto stCase27
136 case 28:
137 goto stCase28
138 case 29:
139 goto stCase29
140 case 30:
141 goto stCase30
142 case 31:
143 goto stCase31
144 case 32:
145 goto stCase32
146 case 61:
147 goto stCase61
148 case 33:
149 goto stCase33
150 case 34:
151 goto stCase34
152 case 35:
153 goto stCase35
154 case 36:
155 goto stCase36
156 case 37:
157 goto stCase37
158 case 38:
159 goto stCase38
160 case 39:
161 goto stCase39
162 case 40:
163 goto stCase40
164 case 41:
165 goto stCase41
166 case 42:
167 goto stCase42
168 case 43:
169 goto stCase43
170 case 44:
171 goto stCase44
172 case 45:
173 goto stCase45
174 case 62:
175 goto stCase62
176 case 63:
177 goto stCase63
178 case 64:
179 goto stCase64
180 case 65:
181 goto stCase65
182 case 66:
183 goto stCase66
184 case 67:
185 goto stCase67
186 case 68:
187 goto stCase68
188 case 69:
189 goto stCase69
190 case 70:
191 goto stCase70
192 case 71:
193 goto stCase71
194 case 72:
195 goto stCase72
196 case 73:
197 goto stCase73
198 case 74:
199 goto stCase74
200 case 75:
201 goto stCase75
202 case 76:
203 goto stCase76
204 case 77:
205 goto stCase77
206 case 78:
207 goto stCase78
208 case 79:
209 goto stCase79
210 case 80:
211 goto stCase80
212 case 81:
213 goto stCase81
214 case 82:
215 goto stCase82
216 case 83:
217 goto stCase83
218 case 84:
219 goto stCase84
220 case 85:
221 goto stCase85
222 case 86:
223 goto stCase86
224 case 87:
225 goto stCase87
226 case 88:
227 goto stCase88
228 case 89:
229 goto stCase89
230 case 90:
231 goto stCase90
232 case 91:
233 goto stCase91
234 case 92:
235 goto stCase92
236 case 93:
237 goto stCase93
238 case 94:
239 goto stCase94
240 case 95:
241 goto stCase95
242 case 96:
243 goto stCase96
244 case 97:
245 goto stCase97
246 case 98:
247 goto stCase98
248 case 99:
249 goto stCase99
250 case 100:
251 goto stCase100
252 case 101:
253 goto stCase101
254 case 102:
255 goto stCase102
256 case 103:
257 goto stCase103
258 case 104:
259 goto stCase104
260 case 105:
261 goto stCase105
262 case 106:
263 goto stCase106
264 case 107:
265 goto stCase107
266 case 108:
267 goto stCase108
268 case 109:
269 goto stCase109
270 case 110:
271 goto stCase110
272 case 111:
273 goto stCase111
274 case 112:
275 goto stCase112
276 case 113:
277 goto stCase113
278 case 114:
279 goto stCase114
280 case 115:
281 goto stCase115
282 case 116:
283 goto stCase116
284 case 117:
285 goto stCase117
286 case 118:
287 goto stCase118
288 case 119:
289 goto stCase119
290 case 120:
291 goto stCase120
292 case 121:
293 goto stCase121
294 case 122:
295 goto stCase122
296 case 123:
297 goto stCase123
298 case 124:
299 goto stCase124
300 case 125:
301 goto stCase125
302 case 126:
303 goto stCase126
304 case 127:
305 goto stCase127
306 case 128:
307 goto stCase128
308 case 129:
309 goto stCase129
310 case 130:
311 goto stCase130
312 case 131:
313 goto stCase131
314 case 132:
315 goto stCase132
316 case 133:
317 goto stCase133
318 case 134:
319 goto stCase134
320 case 135:
321 goto stCase135
322 case 136:
323 goto stCase136
324 case 137:
325 goto stCase137
326 case 138:
327 goto stCase138
328 case 139:
329 goto stCase139
330 case 140:
331 goto stCase140
332 case 141:
333 goto stCase141
334 case 142:
335 goto stCase142
336 case 143:
337 goto stCase143
338 case 144:
339 goto stCase144
340 case 145:
341 goto stCase145
342 case 146:
343 goto stCase146
344 case 147:
345 goto stCase147
346 case 148:
347 goto stCase148
348 case 149:
349 goto stCase149
350 case 150:
351 goto stCase150
352 case 151:
353 goto stCase151
354 case 152:
355 goto stCase152
356 case 153:
357 goto stCase153
358 case 154:
359 goto stCase154
360 case 155:
361 goto stCase155
362 case 156:
363 goto stCase156
364 case 157:
365 goto stCase157
366 case 158:
367 goto stCase158
368 case 159:
369 goto stCase159
370 case 160:
371 goto stCase160
372 case 161:
373 goto stCase161
374 case 162:
375 goto stCase162
376 case 163:
377 goto stCase163
378 case 164:
379 goto stCase164
380 case 165:
381 goto stCase165
382 case 166:
383 goto stCase166
384 case 167:
385 goto stCase167
386 case 168:
387 goto stCase168
388 case 169:
389 goto stCase169
390 case 170:
391 goto stCase170
392 case 171:
393 goto stCase171
394 case 172:
395 goto stCase172
396 case 173:
397 goto stCase173
398 case 174:
399 goto stCase174
400 case 175:
401 goto stCase175
402 case 176:
403 goto stCase176
404 case 177:
405 goto stCase177
406 case 178:
407 goto stCase178
408 case 179:
409 goto stCase179
410 case 180:
411 goto stCase180
412 case 181:
413 goto stCase181
414 case 182:
415 goto stCase182
416 case 183:
417 goto stCase183
418 case 184:
419 goto stCase184
420 case 185:
421 goto stCase185
422 case 186:
423 goto stCase186
424 case 187:
425 goto stCase187
426 case 188:
427 goto stCase188
428 case 189:
429 goto stCase189
430 case 190:
431 goto stCase190
432 case 191:
433 goto stCase191
434 case 192:
435 goto stCase192
436 case 193:
437 goto stCase193
438 case 194:
439 goto stCase194
440 case 195:
441 goto stCase195
442 case 196:
443 goto stCase196
444 case 197:
445 goto stCase197
446 case 198:
447 goto stCase198
448 case 199:
449 goto stCase199
450 case 200:
451 goto stCase200
452 case 201:
453 goto stCase201
454 case 202:
455 goto stCase202
456 case 203:
457 goto stCase203
458 case 204:
459 goto stCase204
460 case 205:
461 goto stCase205
462 case 206:
463 goto stCase206
464 case 207:
465 goto stCase207
466 case 208:
467 goto stCase208
468 case 209:
469 goto stCase209
470 case 210:
471 goto stCase210
472 case 211:
473 goto stCase211
474 case 212:
475 goto stCase212
476 case 213:
477 goto stCase213
478 case 214:
479 goto stCase214
480 case 215:
481 goto stCase215
482 case 216:
483 goto stCase216
484 case 217:
485 goto stCase217
486 case 218:
487 goto stCase218
488 case 219:
489 goto stCase219
490 case 220:
491 goto stCase220
492 case 221:
493 goto stCase221
494 case 222:
495 goto stCase222
496 case 223:
497 goto stCase223
498 case 224:
499 goto stCase224
500 case 225:
501 goto stCase225
502 case 226:
503 goto stCase226
504 case 227:
505 goto stCase227
506 case 228:
507 goto stCase228
508 case 229:
509 goto stCase229
510 case 230:
511 goto stCase230
512 case 231:
513 goto stCase231
514 case 232:
515 goto stCase232
516 case 233:
517 goto stCase233
518 case 234:
519 goto stCase234
520 case 235:
521 goto stCase235
522 case 236:
523 goto stCase236
524 case 237:
525 goto stCase237
526 case 238:
527 goto stCase238
528 case 239:
529 goto stCase239
530 case 240:
531 goto stCase240
532 case 241:
533 goto stCase241
534 case 242:
535 goto stCase242
536 case 243:
537 goto stCase243
538 case 244:
539 goto stCase244
540 case 245:
541 goto stCase245
542 case 246:
543 goto stCase246
544 case 247:
545 goto stCase247
546 case 248:
547 goto stCase248
548 case 249:
549 goto stCase249
550 case 250:
551 goto stCase250
552 case 251:
553 goto stCase251
554 case 252:
555 goto stCase252
556 case 253:
557 goto stCase253
558 case 254:
559 goto stCase254
560 case 255:
561 goto stCase255
562 case 256:
563 goto stCase256
564 case 257:
565 goto stCase257
566 case 258:
567 goto stCase258
568 case 259:
569 goto stCase259
570 case 260:
571 goto stCase260
572 case 261:
573 goto stCase261
574 case 262:
575 goto stCase262
576 case 263:
577 goto stCase263
578 case 264:
579 goto stCase264
580 case 265:
581 goto stCase265
582 case 266:
583 goto stCase266
584 case 267:
585 goto stCase267
586 case 268:
587 goto stCase268
588 case 269:
589 goto stCase269
590 case 270:
591 goto stCase270
592 case 271:
593 goto stCase271
594 case 272:
595 goto stCase272
596 case 273:
597 goto stCase273
598 case 274:
599 goto stCase274
600 case 275:
601 goto stCase275
602 case 276:
603 goto stCase276
604 case 277:
605 goto stCase277
606 case 278:
607 goto stCase278
608 case 279:
609 goto stCase279
610 case 280:
611 goto stCase280
612 case 281:
613 goto stCase281
614 case 282:
615 goto stCase282
616 case 283:
617 goto stCase283
618 case 284:
619 goto stCase284
620 case 285:
621 goto stCase285
622 case 286:
623 goto stCase286
624 case 287:
625 goto stCase287
626 case 288:
627 goto stCase288
628 case 289:
629 goto stCase289
630 case 290:
631 goto stCase290
632 case 291:
633 goto stCase291
634 case 292:
635 goto stCase292
636 case 293:
637 goto stCase293
638 case 294:
639 goto stCase294
640 case 295:
641 goto stCase295
642 case 296:
643 goto stCase296
644 case 297:
645 goto stCase297
646 case 298:
647 goto stCase298
648 case 299:
649 goto stCase299
650 case 300:
651 goto stCase300
652 case 301:
653 goto stCase301
654 case 302:
655 goto stCase302
656 case 303:
657 goto stCase303
658 case 304:
659 goto stCase304
660 case 305:
661 goto stCase305
662 case 306:
663 goto stCase306
664 case 307:
665 goto stCase307
666 case 308:
667 goto stCase308
668 case 309:
669 goto stCase309
670 case 310:
671 goto stCase310
672 case 311:
673 goto stCase311
674 case 312:
675 goto stCase312
676 case 313:
677 goto stCase313
678 case 314:
679 goto stCase314
680 case 315:
681 goto stCase315
682 case 316:
683 goto stCase316
684 case 46:
685 goto stCase46
686 case 317:
687 goto stCase317
688 case 318:
689 goto stCase318
690 case 319:
691 goto stCase319
692 case 320:
693 goto stCase320
694 case 321:
695 goto stCase321
696 case 322:
697 goto stCase322
698 case 323:
699 goto stCase323
700 case 324:
701 goto stCase324
702 case 325:
703 goto stCase325
704 case 326:
705 goto stCase326
706 case 327:
707 goto stCase327
708 case 328:
709 goto stCase328
710 case 329:
711 goto stCase329
712 case 330:
713 goto stCase330
714 case 331:
715 goto stCase331
716 case 332:
717 goto stCase332
718 case 333:
719 goto stCase333
720 case 334:
721 goto stCase334
722 case 335:
723 goto stCase335
724 case 336:
725 goto stCase336
726 case 337:
727 goto stCase337
728 case 338:
729 goto stCase338
730 case 339:
731 goto stCase339
732 case 340:
733 goto stCase340
734 case 341:
735 goto stCase341
736 case 342:
737 goto stCase342
738 case 343:
739 goto stCase343
740 case 344:
741 goto stCase344
742 case 345:
743 goto stCase345
744 case 346:
745 goto stCase346
746 case 347:
747 goto stCase347
748 case 348:
749 goto stCase348
750 case 349:
751 goto stCase349
752 case 350:
753 goto stCase350
754 case 351:
755 goto stCase351
756 case 352:
757 goto stCase352
758 case 353:
759 goto stCase353
760 case 354:
761 goto stCase354
762 case 355:
763 goto stCase355
764 case 356:
765 goto stCase356
766 case 357:
767 goto stCase357
768 case 358:
769 goto stCase358
770 case 359:
771 goto stCase359
772 case 360:
773 goto stCase360
774 case 361:
775 goto stCase361
776 case 362:
777 goto stCase362
778 case 363:
779 goto stCase363
780 case 364:
781 goto stCase364
782 case 47:
783 goto stCase47
784 case 365:
785 goto stCase365
786 case 366:
787 goto stCase366
788 case 367:
789 goto stCase367
790 case 368:
791 goto stCase368
792 case 369:
793 goto stCase369
794 case 370:
795 goto stCase370
796 case 371:
797 goto stCase371
798 case 372:
799 goto stCase372
800 case 373:
801 goto stCase373
802 case 374:
803 goto stCase374
804 case 375:
805 goto stCase375
806 case 376:
807 goto stCase376
808 case 377:
809 goto stCase377
810 case 378:
811 goto stCase378
812 case 379:
813 goto stCase379
814 case 380:
815 goto stCase380
816 case 381:
817 goto stCase381
818 case 382:
819 goto stCase382
820 case 383:
821 goto stCase383
822 case 384:
823 goto stCase384
824 case 385:
825 goto stCase385
826 case 386:
827 goto stCase386
828 case 387:
829 goto stCase387
830 case 388:
831 goto stCase388
832 case 389:
833 goto stCase389
834 case 390:
835 goto stCase390
836 case 391:
837 goto stCase391
838 case 392:
839 goto stCase392
840 case 393:
841 goto stCase393
842 case 394:
843 goto stCase394
844 case 395:
845 goto stCase395
846 case 396:
847 goto stCase396
848 case 397:
849 goto stCase397
850 case 398:
851 goto stCase398
852 case 399:
853 goto stCase399
854 case 400:
855 goto stCase400
856 case 401:
857 goto stCase401
858 case 402:
859 goto stCase402
860 case 403:
861 goto stCase403
862 case 404:
863 goto stCase404
864 case 405:
865 goto stCase405
866 case 406:
867 goto stCase406
868 case 407:
869 goto stCase407
870 case 408:
871 goto stCase408
872 case 409:
873 goto stCase409
874 case 410:
875 goto stCase410
876 case 411:
877 goto stCase411
878 case 412:
879 goto stCase412
880 case 413:
881 goto stCase413
882 case 414:
883 goto stCase414
884 case 415:
885 goto stCase415
886 case 416:
887 goto stCase416
888 case 417:
889 goto stCase417
890 case 418:
891 goto stCase418
892 case 419:
893 goto stCase419
894 case 420:
895 goto stCase420
896 case 421:
897 goto stCase421
898 case 422:
899 goto stCase422
900 case 423:
901 goto stCase423
902 case 424:
903 goto stCase424
904 case 425:
905 goto stCase425
906 case 426:
907 goto stCase426
908 case 427:
909 goto stCase427
910 case 428:
911 goto stCase428
912 case 429:
913 goto stCase429
914 case 430:
915 goto stCase430
916 case 431:
917 goto stCase431
918 case 432:
919 goto stCase432
920 case 433:
921 goto stCase433
922 case 434:
923 goto stCase434
924 case 435:
925 goto stCase435
926 case 436:
927 goto stCase436
928 case 437:
929 goto stCase437
930 case 438:
931 goto stCase438
932 case 439:
933 goto stCase439
934 case 440:
935 goto stCase440
936 case 441:
937 goto stCase441
938 case 442:
939 goto stCase442
940 case 443:
941 goto stCase443
942 case 444:
943 goto stCase444
944 case 445:
945 goto stCase445
946 case 446:
947 goto stCase446
948 case 447:
949 goto stCase447
950 case 448:
951 goto stCase448
952 case 449:
953 goto stCase449
954 case 450:
955 goto stCase450
956 case 451:
957 goto stCase451
958 case 452:
959 goto stCase452
960 case 453:
961 goto stCase453
962 case 454:
963 goto stCase454
964 case 455:
965 goto stCase455
966 case 456:
967 goto stCase456
968 case 457:
969 goto stCase457
970 case 458:
971 goto stCase458
972 case 459:
973 goto stCase459
974 case 460:
975 goto stCase460
976 case 461:
977 goto stCase461
978 case 462:
979 goto stCase462
980 case 463:
981 goto stCase463
982 case 464:
983 goto stCase464
984 case 465:
985 goto stCase465
986 case 466:
987 goto stCase466
988 case 467:
989 goto stCase467
990 case 468:
991 goto stCase468
992 case 469:
993 goto stCase469
994 case 470:
995 goto stCase470
996 case 471:
997 goto stCase471
998 case 472:
999 goto stCase472
1000 case 473:
1001 goto stCase473
1002 case 474:
1003 goto stCase474
1004 case 475:
1005 goto stCase475
1006 case 476:
1007 goto stCase476
1008 case 477:
1009 goto stCase477
1010 case 478:
1011 goto stCase478
1012 case 479:
1013 goto stCase479
1014 case 480:
1015 goto stCase480
1016 case 481:
1017 goto stCase481
1018 case 482:
1019 goto stCase482
1020 case 483:
1021 goto stCase483
1022 case 484:
1023 goto stCase484
1024 case 485:
1025 goto stCase485
1026 case 486:
1027 goto stCase486
1028 case 487:
1029 goto stCase487
1030 case 488:
1031 goto stCase488
1032 case 489:
1033 goto stCase489
1034 case 490:
1035 goto stCase490
1036 case 491:
1037 goto stCase491
1038 case 492:
1039 goto stCase492
1040 case 48:
1041 goto stCase48
1042 case 493:
1043 goto stCase493
1044 case 494:
1045 goto stCase494
1046 case 495:
1047 goto stCase495
1048 case 496:
1049 goto stCase496
1050 case 497:
1051 goto stCase497
1052 case 498:
1053 goto stCase498
1054 case 499:
1055 goto stCase499
1056 case 500:
1057 goto stCase500
1058 case 501:
1059 goto stCase501
1060 case 502:
1061 goto stCase502
1062 case 503:
1063 goto stCase503
1064 case 504:
1065 goto stCase504
1066 case 505:
1067 goto stCase505
1068 case 506:
1069 goto stCase506
1070 case 507:
1071 goto stCase507
1072 case 508:
1073 goto stCase508
1074 case 509:
1075 goto stCase509
1076 case 510:
1077 goto stCase510
1078 case 511:
1079 goto stCase511
1080 case 512:
1081 goto stCase512
1082 case 513:
1083 goto stCase513
1084 case 514:
1085 goto stCase514
1086 case 515:
1087 goto stCase515
1088 case 516:
1089 goto stCase516
1090 case 517:
1091 goto stCase517
1092 case 518:
1093 goto stCase518
1094 case 519:
1095 goto stCase519
1096 case 520:
1097 goto stCase520
1098 case 521:
1099 goto stCase521
1100 case 522:
1101 goto stCase522
1102 case 523:
1103 goto stCase523
1104 case 524:
1105 goto stCase524
1106 case 49:
1107 goto stCase49
1108 case 525:
1109 goto stCase525
1110 case 526:
1111 goto stCase526
1112 case 527:
1113 goto stCase527
1114 case 528:
1115 goto stCase528
1116 case 529:
1117 goto stCase529
1118 case 530:
1119 goto stCase530
1120 case 531:
1121 goto stCase531
1122 case 532:
1123 goto stCase532
1124 case 533:
1125 goto stCase533
1126 case 534:
1127 goto stCase534
1128 case 535:
1129 goto stCase535
1130 case 536:
1131 goto stCase536
1132 case 537:
1133 goto stCase537
1134 case 538:
1135 goto stCase538
1136 case 539:
1137 goto stCase539
1138 case 540:
1139 goto stCase540
1140 case 541:
1141 goto stCase541
1142 case 542:
1143 goto stCase542
1144 case 543:
1145 goto stCase543
1146 case 544:
1147 goto stCase544
1148 case 545:
1149 goto stCase545
1150 case 546:
1151 goto stCase546
1152 case 547:
1153 goto stCase547
1154 case 548:
1155 goto stCase548
1156 case 549:
1157 goto stCase549
1158 case 550:
1159 goto stCase550
1160 case 551:
1161 goto stCase551
1162 case 552:
1163 goto stCase552
1164 case 553:
1165 goto stCase553
1166 case 554:
1167 goto stCase554
1168 case 555:
1169 goto stCase555
1170 case 556:
1171 goto stCase556
1172 case 50:
1173 goto stCase50
1174 case 557:
1175 goto stCase557
1176 case 558:
1177 goto stCase558
1178 case 559:
1179 goto stCase559
1180 case 560:
1181 goto stCase560
1182 case 561:
1183 goto stCase561
1184 case 562:
1185 goto stCase562
1186 case 563:
1187 goto stCase563
1188 case 564:
1189 goto stCase564
1190 case 565:
1191 goto stCase565
1192 case 566:
1193 goto stCase566
1194 case 567:
1195 goto stCase567
1196 case 568:
1197 goto stCase568
1198 case 569:
1199 goto stCase569
1200 case 570:
1201 goto stCase570
1202 case 571:
1203 goto stCase571
1204 case 572:
1205 goto stCase572
1206 case 573:
1207 goto stCase573
1208 case 574:
1209 goto stCase574
1210 case 575:
1211 goto stCase575
1212 case 576:
1213 goto stCase576
1214 case 577:
1215 goto stCase577
1216 case 578:
1217 goto stCase578
1218 case 579:
1219 goto stCase579
1220 case 580:
1221 goto stCase580
1222 case 581:
1223 goto stCase581
1224 case 582:
1225 goto stCase582
1226 case 583:
1227 goto stCase583
1228 case 584:
1229 goto stCase584
1230 case 585:
1231 goto stCase585
1232 case 586:
1233 goto stCase586
1234 case 587:
1235 goto stCase587
1236 case 588:
1237 goto stCase588
1238 case 589:
1239 goto stCase589
1240 case 590:
1241 goto stCase590
1242 case 51:
1243 goto stCase51
1244 case 52:
1245 goto stCase52
1246 case 53:
1247 goto stCase53
1248 case 54:
1249 goto stCase54
1250 case 55:
1251 goto stCase55
1252 case 56:
1253 goto stCase56
1254 case 57:
1255 goto stCase57
1256 case 58:
1257 goto stCase58
1258 }
1259 goto stOut
1260 stCase59:
1261 switch data[p] {
1262 case 224:
1263 goto tr52
1264 case 237:
1265 goto tr54
1266 case 240:
1267 goto tr55
1268 case 244:
1269 goto tr57
1270 }
1271 switch {
1272 case data[p] < 225:
1273 switch {
1274 case data[p] > 193:
1275 if 194 <= data[p] && data[p] <= 223 {
1276 goto tr51
1277 }
1278 case data[p] >= 128:
1279 goto st0
1280 }
1281 case data[p] > 239:
1282 switch {
1283 case data[p] > 243:
1284 if 245 <= data[p] {
1285 goto st0
1286 }
1287 case data[p] >= 241:
1288 goto tr56
1289 }
1290 default:
1291 goto tr53
1292 }
1293 goto tr50
1294 tr50:
1295
1296 pb = p
1297
1298 goto st60
1299 st60:
1300 if p++; p == pe {
1301 goto _testEof60
1302 }
1303 stCase60:
1304 switch data[p] {
1305 case 224:
1306 goto st2
1307 case 237:
1308 goto st4
1309 case 240:
1310 goto st5
1311 case 244:
1312 goto st7
1313 }
1314 switch {
1315 case data[p] < 225:
1316 switch {
1317 case data[p] > 193:
1318 if 194 <= data[p] && data[p] <= 223 {
1319 goto st1
1320 }
1321 case data[p] >= 128:
1322 goto st0
1323 }
1324 case data[p] > 239:
1325 switch {
1326 case data[p] > 243:
1327 if 245 <= data[p] {
1328 goto st0
1329 }
1330 case data[p] >= 241:
1331 goto st6
1332 }
1333 default:
1334 goto st3
1335 }
1336 goto st60
1337 stCase0:
1338 st0:
1339 cs = 0
1340 goto _out
1341 tr51:
1342
1343 pb = p
1344
1345 goto st1
1346 st1:
1347 if p++; p == pe {
1348 goto _testEof1
1349 }
1350 stCase1:
1351 if 128 <= data[p] && data[p] <= 191 {
1352 goto st60
1353 }
1354 goto st0
1355 tr52:
1356
1357 pb = p
1358
1359 goto st2
1360 st2:
1361 if p++; p == pe {
1362 goto _testEof2
1363 }
1364 stCase2:
1365 if 160 <= data[p] && data[p] <= 191 {
1366 goto st1
1367 }
1368 goto st0
1369 tr53:
1370
1371 pb = p
1372
1373 goto st3
1374 st3:
1375 if p++; p == pe {
1376 goto _testEof3
1377 }
1378 stCase3:
1379 if 128 <= data[p] && data[p] <= 191 {
1380 goto st1
1381 }
1382 goto st0
1383 tr54:
1384
1385 pb = p
1386
1387 goto st4
1388 st4:
1389 if p++; p == pe {
1390 goto _testEof4
1391 }
1392 stCase4:
1393 if 128 <= data[p] && data[p] <= 159 {
1394 goto st1
1395 }
1396 goto st0
1397 tr55:
1398
1399 pb = p
1400
1401 goto st5
1402 st5:
1403 if p++; p == pe {
1404 goto _testEof5
1405 }
1406 stCase5:
1407 if 144 <= data[p] && data[p] <= 191 {
1408 goto st3
1409 }
1410 goto st0
1411 tr56:
1412
1413 pb = p
1414
1415 goto st6
1416 st6:
1417 if p++; p == pe {
1418 goto _testEof6
1419 }
1420 stCase6:
1421 if 128 <= data[p] && data[p] <= 191 {
1422 goto st3
1423 }
1424 goto st0
1425 tr57:
1426
1427 pb = p
1428
1429 goto st7
1430 st7:
1431 if p++; p == pe {
1432 goto _testEof7
1433 }
1434 stCase7:
1435 if 128 <= data[p] && data[p] <= 143 {
1436 goto st3
1437 }
1438 goto st0
1439 stCase8:
1440 if 48 <= data[p] && data[p] <= 57 {
1441 goto tr4
1442 }
1443 goto st0
1444 tr4:
1445
1446 pb = p
1447
1448 goto st9
1449 st9:
1450 if p++; p == pe {
1451 goto _testEof9
1452 }
1453 stCase9:
1454 if 48 <= data[p] && data[p] <= 57 {
1455 goto st10
1456 }
1457 goto st0
1458 st10:
1459 if p++; p == pe {
1460 goto _testEof10
1461 }
1462 stCase10:
1463 if 48 <= data[p] && data[p] <= 57 {
1464 goto st11
1465 }
1466 goto st0
1467 st11:
1468 if p++; p == pe {
1469 goto _testEof11
1470 }
1471 stCase11:
1472 if 48 <= data[p] && data[p] <= 57 {
1473 goto st12
1474 }
1475 goto st0
1476 st12:
1477 if p++; p == pe {
1478 goto _testEof12
1479 }
1480 stCase12:
1481 if data[p] == 45 {
1482 goto st13
1483 }
1484 goto st0
1485 st13:
1486 if p++; p == pe {
1487 goto _testEof13
1488 }
1489 stCase13:
1490 switch data[p] {
1491 case 48:
1492 goto st14
1493 case 49:
1494 goto st44
1495 }
1496 goto st0
1497 st14:
1498 if p++; p == pe {
1499 goto _testEof14
1500 }
1501 stCase14:
1502 if 49 <= data[p] && data[p] <= 57 {
1503 goto st15
1504 }
1505 goto st0
1506 st15:
1507 if p++; p == pe {
1508 goto _testEof15
1509 }
1510 stCase15:
1511 if data[p] == 45 {
1512 goto st16
1513 }
1514 goto st0
1515 st16:
1516 if p++; p == pe {
1517 goto _testEof16
1518 }
1519 stCase16:
1520 switch data[p] {
1521 case 48:
1522 goto st17
1523 case 51:
1524 goto st43
1525 }
1526 if 49 <= data[p] && data[p] <= 50 {
1527 goto st42
1528 }
1529 goto st0
1530 st17:
1531 if p++; p == pe {
1532 goto _testEof17
1533 }
1534 stCase17:
1535 if 49 <= data[p] && data[p] <= 57 {
1536 goto st18
1537 }
1538 goto st0
1539 st18:
1540 if p++; p == pe {
1541 goto _testEof18
1542 }
1543 stCase18:
1544 if data[p] == 84 {
1545 goto st19
1546 }
1547 goto st0
1548 st19:
1549 if p++; p == pe {
1550 goto _testEof19
1551 }
1552 stCase19:
1553 if data[p] == 50 {
1554 goto st41
1555 }
1556 if 48 <= data[p] && data[p] <= 49 {
1557 goto st20
1558 }
1559 goto st0
1560 st20:
1561 if p++; p == pe {
1562 goto _testEof20
1563 }
1564 stCase20:
1565 if 48 <= data[p] && data[p] <= 57 {
1566 goto st21
1567 }
1568 goto st0
1569 st21:
1570 if p++; p == pe {
1571 goto _testEof21
1572 }
1573 stCase21:
1574 if data[p] == 58 {
1575 goto st22
1576 }
1577 goto st0
1578 st22:
1579 if p++; p == pe {
1580 goto _testEof22
1581 }
1582 stCase22:
1583 if 48 <= data[p] && data[p] <= 53 {
1584 goto st23
1585 }
1586 goto st0
1587 st23:
1588 if p++; p == pe {
1589 goto _testEof23
1590 }
1591 stCase23:
1592 if 48 <= data[p] && data[p] <= 57 {
1593 goto st24
1594 }
1595 goto st0
1596 st24:
1597 if p++; p == pe {
1598 goto _testEof24
1599 }
1600 stCase24:
1601 if data[p] == 58 {
1602 goto st25
1603 }
1604 goto st0
1605 st25:
1606 if p++; p == pe {
1607 goto _testEof25
1608 }
1609 stCase25:
1610 if 48 <= data[p] && data[p] <= 53 {
1611 goto st26
1612 }
1613 goto st0
1614 st26:
1615 if p++; p == pe {
1616 goto _testEof26
1617 }
1618 stCase26:
1619 if 48 <= data[p] && data[p] <= 57 {
1620 goto st27
1621 }
1622 goto st0
1623 st27:
1624 if p++; p == pe {
1625 goto _testEof27
1626 }
1627 stCase27:
1628 switch data[p] {
1629 case 43:
1630 goto st28
1631 case 45:
1632 goto st28
1633 case 46:
1634 goto st34
1635 case 90:
1636 goto st61
1637 }
1638 goto st0
1639 st28:
1640 if p++; p == pe {
1641 goto _testEof28
1642 }
1643 stCase28:
1644 if data[p] == 50 {
1645 goto st33
1646 }
1647 if 48 <= data[p] && data[p] <= 49 {
1648 goto st29
1649 }
1650 goto st0
1651 st29:
1652 if p++; p == pe {
1653 goto _testEof29
1654 }
1655 stCase29:
1656 if 48 <= data[p] && data[p] <= 57 {
1657 goto st30
1658 }
1659 goto st0
1660 st30:
1661 if p++; p == pe {
1662 goto _testEof30
1663 }
1664 stCase30:
1665 if data[p] == 58 {
1666 goto st31
1667 }
1668 goto st0
1669 st31:
1670 if p++; p == pe {
1671 goto _testEof31
1672 }
1673 stCase31:
1674 if 48 <= data[p] && data[p] <= 53 {
1675 goto st32
1676 }
1677 goto st0
1678 st32:
1679 if p++; p == pe {
1680 goto _testEof32
1681 }
1682 stCase32:
1683 if 48 <= data[p] && data[p] <= 57 {
1684 goto st61
1685 }
1686 goto st0
1687 st61:
1688 if p++; p == pe {
1689 goto _testEof61
1690 }
1691 stCase61:
1692 goto st0
1693 st33:
1694 if p++; p == pe {
1695 goto _testEof33
1696 }
1697 stCase33:
1698 if 48 <= data[p] && data[p] <= 51 {
1699 goto st30
1700 }
1701 goto st0
1702 st34:
1703 if p++; p == pe {
1704 goto _testEof34
1705 }
1706 stCase34:
1707 if 48 <= data[p] && data[p] <= 57 {
1708 goto st35
1709 }
1710 goto st0
1711 st35:
1712 if p++; p == pe {
1713 goto _testEof35
1714 }
1715 stCase35:
1716 switch data[p] {
1717 case 43:
1718 goto st28
1719 case 45:
1720 goto st28
1721 case 90:
1722 goto st61
1723 }
1724 if 48 <= data[p] && data[p] <= 57 {
1725 goto st36
1726 }
1727 goto st0
1728 st36:
1729 if p++; p == pe {
1730 goto _testEof36
1731 }
1732 stCase36:
1733 switch data[p] {
1734 case 43:
1735 goto st28
1736 case 45:
1737 goto st28
1738 case 90:
1739 goto st61
1740 }
1741 if 48 <= data[p] && data[p] <= 57 {
1742 goto st37
1743 }
1744 goto st0
1745 st37:
1746 if p++; p == pe {
1747 goto _testEof37
1748 }
1749 stCase37:
1750 switch data[p] {
1751 case 43:
1752 goto st28
1753 case 45:
1754 goto st28
1755 case 90:
1756 goto st61
1757 }
1758 if 48 <= data[p] && data[p] <= 57 {
1759 goto st38
1760 }
1761 goto st0
1762 st38:
1763 if p++; p == pe {
1764 goto _testEof38
1765 }
1766 stCase38:
1767 switch data[p] {
1768 case 43:
1769 goto st28
1770 case 45:
1771 goto st28
1772 case 90:
1773 goto st61
1774 }
1775 if 48 <= data[p] && data[p] <= 57 {
1776 goto st39
1777 }
1778 goto st0
1779 st39:
1780 if p++; p == pe {
1781 goto _testEof39
1782 }
1783 stCase39:
1784 switch data[p] {
1785 case 43:
1786 goto st28
1787 case 45:
1788 goto st28
1789 case 90:
1790 goto st61
1791 }
1792 if 48 <= data[p] && data[p] <= 57 {
1793 goto st40
1794 }
1795 goto st0
1796 st40:
1797 if p++; p == pe {
1798 goto _testEof40
1799 }
1800 stCase40:
1801 switch data[p] {
1802 case 43:
1803 goto st28
1804 case 45:
1805 goto st28
1806 case 90:
1807 goto st61
1808 }
1809 goto st0
1810 st41:
1811 if p++; p == pe {
1812 goto _testEof41
1813 }
1814 stCase41:
1815 if 48 <= data[p] && data[p] <= 51 {
1816 goto st21
1817 }
1818 goto st0
1819 st42:
1820 if p++; p == pe {
1821 goto _testEof42
1822 }
1823 stCase42:
1824 if 48 <= data[p] && data[p] <= 57 {
1825 goto st18
1826 }
1827 goto st0
1828 st43:
1829 if p++; p == pe {
1830 goto _testEof43
1831 }
1832 stCase43:
1833 if 48 <= data[p] && data[p] <= 49 {
1834 goto st18
1835 }
1836 goto st0
1837 st44:
1838 if p++; p == pe {
1839 goto _testEof44
1840 }
1841 stCase44:
1842 if 48 <= data[p] && data[p] <= 50 {
1843 goto st15
1844 }
1845 goto st0
1846 stCase45:
1847 if 33 <= data[p] && data[p] <= 126 {
1848 goto tr41
1849 }
1850 goto st0
1851 tr41:
1852
1853 pb = p
1854
1855 goto st62
1856 st62:
1857 if p++; p == pe {
1858 goto _testEof62
1859 }
1860 stCase62:
1861 if 33 <= data[p] && data[p] <= 126 {
1862 goto st63
1863 }
1864 goto st0
1865 st63:
1866 if p++; p == pe {
1867 goto _testEof63
1868 }
1869 stCase63:
1870 if 33 <= data[p] && data[p] <= 126 {
1871 goto st64
1872 }
1873 goto st0
1874 st64:
1875 if p++; p == pe {
1876 goto _testEof64
1877 }
1878 stCase64:
1879 if 33 <= data[p] && data[p] <= 126 {
1880 goto st65
1881 }
1882 goto st0
1883 st65:
1884 if p++; p == pe {
1885 goto _testEof65
1886 }
1887 stCase65:
1888 if 33 <= data[p] && data[p] <= 126 {
1889 goto st66
1890 }
1891 goto st0
1892 st66:
1893 if p++; p == pe {
1894 goto _testEof66
1895 }
1896 stCase66:
1897 if 33 <= data[p] && data[p] <= 126 {
1898 goto st67
1899 }
1900 goto st0
1901 st67:
1902 if p++; p == pe {
1903 goto _testEof67
1904 }
1905 stCase67:
1906 if 33 <= data[p] && data[p] <= 126 {
1907 goto st68
1908 }
1909 goto st0
1910 st68:
1911 if p++; p == pe {
1912 goto _testEof68
1913 }
1914 stCase68:
1915 if 33 <= data[p] && data[p] <= 126 {
1916 goto st69
1917 }
1918 goto st0
1919 st69:
1920 if p++; p == pe {
1921 goto _testEof69
1922 }
1923 stCase69:
1924 if 33 <= data[p] && data[p] <= 126 {
1925 goto st70
1926 }
1927 goto st0
1928 st70:
1929 if p++; p == pe {
1930 goto _testEof70
1931 }
1932 stCase70:
1933 if 33 <= data[p] && data[p] <= 126 {
1934 goto st71
1935 }
1936 goto st0
1937 st71:
1938 if p++; p == pe {
1939 goto _testEof71
1940 }
1941 stCase71:
1942 if 33 <= data[p] && data[p] <= 126 {
1943 goto st72
1944 }
1945 goto st0
1946 st72:
1947 if p++; p == pe {
1948 goto _testEof72
1949 }
1950 stCase72:
1951 if 33 <= data[p] && data[p] <= 126 {
1952 goto st73
1953 }
1954 goto st0
1955 st73:
1956 if p++; p == pe {
1957 goto _testEof73
1958 }
1959 stCase73:
1960 if 33 <= data[p] && data[p] <= 126 {
1961 goto st74
1962 }
1963 goto st0
1964 st74:
1965 if p++; p == pe {
1966 goto _testEof74
1967 }
1968 stCase74:
1969 if 33 <= data[p] && data[p] <= 126 {
1970 goto st75
1971 }
1972 goto st0
1973 st75:
1974 if p++; p == pe {
1975 goto _testEof75
1976 }
1977 stCase75:
1978 if 33 <= data[p] && data[p] <= 126 {
1979 goto st76
1980 }
1981 goto st0
1982 st76:
1983 if p++; p == pe {
1984 goto _testEof76
1985 }
1986 stCase76:
1987 if 33 <= data[p] && data[p] <= 126 {
1988 goto st77
1989 }
1990 goto st0
1991 st77:
1992 if p++; p == pe {
1993 goto _testEof77
1994 }
1995 stCase77:
1996 if 33 <= data[p] && data[p] <= 126 {
1997 goto st78
1998 }
1999 goto st0
2000 st78:
2001 if p++; p == pe {
2002 goto _testEof78
2003 }
2004 stCase78:
2005 if 33 <= data[p] && data[p] <= 126 {
2006 goto st79
2007 }
2008 goto st0
2009 st79:
2010 if p++; p == pe {
2011 goto _testEof79
2012 }
2013 stCase79:
2014 if 33 <= data[p] && data[p] <= 126 {
2015 goto st80
2016 }
2017 goto st0
2018 st80:
2019 if p++; p == pe {
2020 goto _testEof80
2021 }
2022 stCase80:
2023 if 33 <= data[p] && data[p] <= 126 {
2024 goto st81
2025 }
2026 goto st0
2027 st81:
2028 if p++; p == pe {
2029 goto _testEof81
2030 }
2031 stCase81:
2032 if 33 <= data[p] && data[p] <= 126 {
2033 goto st82
2034 }
2035 goto st0
2036 st82:
2037 if p++; p == pe {
2038 goto _testEof82
2039 }
2040 stCase82:
2041 if 33 <= data[p] && data[p] <= 126 {
2042 goto st83
2043 }
2044 goto st0
2045 st83:
2046 if p++; p == pe {
2047 goto _testEof83
2048 }
2049 stCase83:
2050 if 33 <= data[p] && data[p] <= 126 {
2051 goto st84
2052 }
2053 goto st0
2054 st84:
2055 if p++; p == pe {
2056 goto _testEof84
2057 }
2058 stCase84:
2059 if 33 <= data[p] && data[p] <= 126 {
2060 goto st85
2061 }
2062 goto st0
2063 st85:
2064 if p++; p == pe {
2065 goto _testEof85
2066 }
2067 stCase85:
2068 if 33 <= data[p] && data[p] <= 126 {
2069 goto st86
2070 }
2071 goto st0
2072 st86:
2073 if p++; p == pe {
2074 goto _testEof86
2075 }
2076 stCase86:
2077 if 33 <= data[p] && data[p] <= 126 {
2078 goto st87
2079 }
2080 goto st0
2081 st87:
2082 if p++; p == pe {
2083 goto _testEof87
2084 }
2085 stCase87:
2086 if 33 <= data[p] && data[p] <= 126 {
2087 goto st88
2088 }
2089 goto st0
2090 st88:
2091 if p++; p == pe {
2092 goto _testEof88
2093 }
2094 stCase88:
2095 if 33 <= data[p] && data[p] <= 126 {
2096 goto st89
2097 }
2098 goto st0
2099 st89:
2100 if p++; p == pe {
2101 goto _testEof89
2102 }
2103 stCase89:
2104 if 33 <= data[p] && data[p] <= 126 {
2105 goto st90
2106 }
2107 goto st0
2108 st90:
2109 if p++; p == pe {
2110 goto _testEof90
2111 }
2112 stCase90:
2113 if 33 <= data[p] && data[p] <= 126 {
2114 goto st91
2115 }
2116 goto st0
2117 st91:
2118 if p++; p == pe {
2119 goto _testEof91
2120 }
2121 stCase91:
2122 if 33 <= data[p] && data[p] <= 126 {
2123 goto st92
2124 }
2125 goto st0
2126 st92:
2127 if p++; p == pe {
2128 goto _testEof92
2129 }
2130 stCase92:
2131 if 33 <= data[p] && data[p] <= 126 {
2132 goto st93
2133 }
2134 goto st0
2135 st93:
2136 if p++; p == pe {
2137 goto _testEof93
2138 }
2139 stCase93:
2140 if 33 <= data[p] && data[p] <= 126 {
2141 goto st94
2142 }
2143 goto st0
2144 st94:
2145 if p++; p == pe {
2146 goto _testEof94
2147 }
2148 stCase94:
2149 if 33 <= data[p] && data[p] <= 126 {
2150 goto st95
2151 }
2152 goto st0
2153 st95:
2154 if p++; p == pe {
2155 goto _testEof95
2156 }
2157 stCase95:
2158 if 33 <= data[p] && data[p] <= 126 {
2159 goto st96
2160 }
2161 goto st0
2162 st96:
2163 if p++; p == pe {
2164 goto _testEof96
2165 }
2166 stCase96:
2167 if 33 <= data[p] && data[p] <= 126 {
2168 goto st97
2169 }
2170 goto st0
2171 st97:
2172 if p++; p == pe {
2173 goto _testEof97
2174 }
2175 stCase97:
2176 if 33 <= data[p] && data[p] <= 126 {
2177 goto st98
2178 }
2179 goto st0
2180 st98:
2181 if p++; p == pe {
2182 goto _testEof98
2183 }
2184 stCase98:
2185 if 33 <= data[p] && data[p] <= 126 {
2186 goto st99
2187 }
2188 goto st0
2189 st99:
2190 if p++; p == pe {
2191 goto _testEof99
2192 }
2193 stCase99:
2194 if 33 <= data[p] && data[p] <= 126 {
2195 goto st100
2196 }
2197 goto st0
2198 st100:
2199 if p++; p == pe {
2200 goto _testEof100
2201 }
2202 stCase100:
2203 if 33 <= data[p] && data[p] <= 126 {
2204 goto st101
2205 }
2206 goto st0
2207 st101:
2208 if p++; p == pe {
2209 goto _testEof101
2210 }
2211 stCase101:
2212 if 33 <= data[p] && data[p] <= 126 {
2213 goto st102
2214 }
2215 goto st0
2216 st102:
2217 if p++; p == pe {
2218 goto _testEof102
2219 }
2220 stCase102:
2221 if 33 <= data[p] && data[p] <= 126 {
2222 goto st103
2223 }
2224 goto st0
2225 st103:
2226 if p++; p == pe {
2227 goto _testEof103
2228 }
2229 stCase103:
2230 if 33 <= data[p] && data[p] <= 126 {
2231 goto st104
2232 }
2233 goto st0
2234 st104:
2235 if p++; p == pe {
2236 goto _testEof104
2237 }
2238 stCase104:
2239 if 33 <= data[p] && data[p] <= 126 {
2240 goto st105
2241 }
2242 goto st0
2243 st105:
2244 if p++; p == pe {
2245 goto _testEof105
2246 }
2247 stCase105:
2248 if 33 <= data[p] && data[p] <= 126 {
2249 goto st106
2250 }
2251 goto st0
2252 st106:
2253 if p++; p == pe {
2254 goto _testEof106
2255 }
2256 stCase106:
2257 if 33 <= data[p] && data[p] <= 126 {
2258 goto st107
2259 }
2260 goto st0
2261 st107:
2262 if p++; p == pe {
2263 goto _testEof107
2264 }
2265 stCase107:
2266 if 33 <= data[p] && data[p] <= 126 {
2267 goto st108
2268 }
2269 goto st0
2270 st108:
2271 if p++; p == pe {
2272 goto _testEof108
2273 }
2274 stCase108:
2275 if 33 <= data[p] && data[p] <= 126 {
2276 goto st109
2277 }
2278 goto st0
2279 st109:
2280 if p++; p == pe {
2281 goto _testEof109
2282 }
2283 stCase109:
2284 if 33 <= data[p] && data[p] <= 126 {
2285 goto st110
2286 }
2287 goto st0
2288 st110:
2289 if p++; p == pe {
2290 goto _testEof110
2291 }
2292 stCase110:
2293 if 33 <= data[p] && data[p] <= 126 {
2294 goto st111
2295 }
2296 goto st0
2297 st111:
2298 if p++; p == pe {
2299 goto _testEof111
2300 }
2301 stCase111:
2302 if 33 <= data[p] && data[p] <= 126 {
2303 goto st112
2304 }
2305 goto st0
2306 st112:
2307 if p++; p == pe {
2308 goto _testEof112
2309 }
2310 stCase112:
2311 if 33 <= data[p] && data[p] <= 126 {
2312 goto st113
2313 }
2314 goto st0
2315 st113:
2316 if p++; p == pe {
2317 goto _testEof113
2318 }
2319 stCase113:
2320 if 33 <= data[p] && data[p] <= 126 {
2321 goto st114
2322 }
2323 goto st0
2324 st114:
2325 if p++; p == pe {
2326 goto _testEof114
2327 }
2328 stCase114:
2329 if 33 <= data[p] && data[p] <= 126 {
2330 goto st115
2331 }
2332 goto st0
2333 st115:
2334 if p++; p == pe {
2335 goto _testEof115
2336 }
2337 stCase115:
2338 if 33 <= data[p] && data[p] <= 126 {
2339 goto st116
2340 }
2341 goto st0
2342 st116:
2343 if p++; p == pe {
2344 goto _testEof116
2345 }
2346 stCase116:
2347 if 33 <= data[p] && data[p] <= 126 {
2348 goto st117
2349 }
2350 goto st0
2351 st117:
2352 if p++; p == pe {
2353 goto _testEof117
2354 }
2355 stCase117:
2356 if 33 <= data[p] && data[p] <= 126 {
2357 goto st118
2358 }
2359 goto st0
2360 st118:
2361 if p++; p == pe {
2362 goto _testEof118
2363 }
2364 stCase118:
2365 if 33 <= data[p] && data[p] <= 126 {
2366 goto st119
2367 }
2368 goto st0
2369 st119:
2370 if p++; p == pe {
2371 goto _testEof119
2372 }
2373 stCase119:
2374 if 33 <= data[p] && data[p] <= 126 {
2375 goto st120
2376 }
2377 goto st0
2378 st120:
2379 if p++; p == pe {
2380 goto _testEof120
2381 }
2382 stCase120:
2383 if 33 <= data[p] && data[p] <= 126 {
2384 goto st121
2385 }
2386 goto st0
2387 st121:
2388 if p++; p == pe {
2389 goto _testEof121
2390 }
2391 stCase121:
2392 if 33 <= data[p] && data[p] <= 126 {
2393 goto st122
2394 }
2395 goto st0
2396 st122:
2397 if p++; p == pe {
2398 goto _testEof122
2399 }
2400 stCase122:
2401 if 33 <= data[p] && data[p] <= 126 {
2402 goto st123
2403 }
2404 goto st0
2405 st123:
2406 if p++; p == pe {
2407 goto _testEof123
2408 }
2409 stCase123:
2410 if 33 <= data[p] && data[p] <= 126 {
2411 goto st124
2412 }
2413 goto st0
2414 st124:
2415 if p++; p == pe {
2416 goto _testEof124
2417 }
2418 stCase124:
2419 if 33 <= data[p] && data[p] <= 126 {
2420 goto st125
2421 }
2422 goto st0
2423 st125:
2424 if p++; p == pe {
2425 goto _testEof125
2426 }
2427 stCase125:
2428 if 33 <= data[p] && data[p] <= 126 {
2429 goto st126
2430 }
2431 goto st0
2432 st126:
2433 if p++; p == pe {
2434 goto _testEof126
2435 }
2436 stCase126:
2437 if 33 <= data[p] && data[p] <= 126 {
2438 goto st127
2439 }
2440 goto st0
2441 st127:
2442 if p++; p == pe {
2443 goto _testEof127
2444 }
2445 stCase127:
2446 if 33 <= data[p] && data[p] <= 126 {
2447 goto st128
2448 }
2449 goto st0
2450 st128:
2451 if p++; p == pe {
2452 goto _testEof128
2453 }
2454 stCase128:
2455 if 33 <= data[p] && data[p] <= 126 {
2456 goto st129
2457 }
2458 goto st0
2459 st129:
2460 if p++; p == pe {
2461 goto _testEof129
2462 }
2463 stCase129:
2464 if 33 <= data[p] && data[p] <= 126 {
2465 goto st130
2466 }
2467 goto st0
2468 st130:
2469 if p++; p == pe {
2470 goto _testEof130
2471 }
2472 stCase130:
2473 if 33 <= data[p] && data[p] <= 126 {
2474 goto st131
2475 }
2476 goto st0
2477 st131:
2478 if p++; p == pe {
2479 goto _testEof131
2480 }
2481 stCase131:
2482 if 33 <= data[p] && data[p] <= 126 {
2483 goto st132
2484 }
2485 goto st0
2486 st132:
2487 if p++; p == pe {
2488 goto _testEof132
2489 }
2490 stCase132:
2491 if 33 <= data[p] && data[p] <= 126 {
2492 goto st133
2493 }
2494 goto st0
2495 st133:
2496 if p++; p == pe {
2497 goto _testEof133
2498 }
2499 stCase133:
2500 if 33 <= data[p] && data[p] <= 126 {
2501 goto st134
2502 }
2503 goto st0
2504 st134:
2505 if p++; p == pe {
2506 goto _testEof134
2507 }
2508 stCase134:
2509 if 33 <= data[p] && data[p] <= 126 {
2510 goto st135
2511 }
2512 goto st0
2513 st135:
2514 if p++; p == pe {
2515 goto _testEof135
2516 }
2517 stCase135:
2518 if 33 <= data[p] && data[p] <= 126 {
2519 goto st136
2520 }
2521 goto st0
2522 st136:
2523 if p++; p == pe {
2524 goto _testEof136
2525 }
2526 stCase136:
2527 if 33 <= data[p] && data[p] <= 126 {
2528 goto st137
2529 }
2530 goto st0
2531 st137:
2532 if p++; p == pe {
2533 goto _testEof137
2534 }
2535 stCase137:
2536 if 33 <= data[p] && data[p] <= 126 {
2537 goto st138
2538 }
2539 goto st0
2540 st138:
2541 if p++; p == pe {
2542 goto _testEof138
2543 }
2544 stCase138:
2545 if 33 <= data[p] && data[p] <= 126 {
2546 goto st139
2547 }
2548 goto st0
2549 st139:
2550 if p++; p == pe {
2551 goto _testEof139
2552 }
2553 stCase139:
2554 if 33 <= data[p] && data[p] <= 126 {
2555 goto st140
2556 }
2557 goto st0
2558 st140:
2559 if p++; p == pe {
2560 goto _testEof140
2561 }
2562 stCase140:
2563 if 33 <= data[p] && data[p] <= 126 {
2564 goto st141
2565 }
2566 goto st0
2567 st141:
2568 if p++; p == pe {
2569 goto _testEof141
2570 }
2571 stCase141:
2572 if 33 <= data[p] && data[p] <= 126 {
2573 goto st142
2574 }
2575 goto st0
2576 st142:
2577 if p++; p == pe {
2578 goto _testEof142
2579 }
2580 stCase142:
2581 if 33 <= data[p] && data[p] <= 126 {
2582 goto st143
2583 }
2584 goto st0
2585 st143:
2586 if p++; p == pe {
2587 goto _testEof143
2588 }
2589 stCase143:
2590 if 33 <= data[p] && data[p] <= 126 {
2591 goto st144
2592 }
2593 goto st0
2594 st144:
2595 if p++; p == pe {
2596 goto _testEof144
2597 }
2598 stCase144:
2599 if 33 <= data[p] && data[p] <= 126 {
2600 goto st145
2601 }
2602 goto st0
2603 st145:
2604 if p++; p == pe {
2605 goto _testEof145
2606 }
2607 stCase145:
2608 if 33 <= data[p] && data[p] <= 126 {
2609 goto st146
2610 }
2611 goto st0
2612 st146:
2613 if p++; p == pe {
2614 goto _testEof146
2615 }
2616 stCase146:
2617 if 33 <= data[p] && data[p] <= 126 {
2618 goto st147
2619 }
2620 goto st0
2621 st147:
2622 if p++; p == pe {
2623 goto _testEof147
2624 }
2625 stCase147:
2626 if 33 <= data[p] && data[p] <= 126 {
2627 goto st148
2628 }
2629 goto st0
2630 st148:
2631 if p++; p == pe {
2632 goto _testEof148
2633 }
2634 stCase148:
2635 if 33 <= data[p] && data[p] <= 126 {
2636 goto st149
2637 }
2638 goto st0
2639 st149:
2640 if p++; p == pe {
2641 goto _testEof149
2642 }
2643 stCase149:
2644 if 33 <= data[p] && data[p] <= 126 {
2645 goto st150
2646 }
2647 goto st0
2648 st150:
2649 if p++; p == pe {
2650 goto _testEof150
2651 }
2652 stCase150:
2653 if 33 <= data[p] && data[p] <= 126 {
2654 goto st151
2655 }
2656 goto st0
2657 st151:
2658 if p++; p == pe {
2659 goto _testEof151
2660 }
2661 stCase151:
2662 if 33 <= data[p] && data[p] <= 126 {
2663 goto st152
2664 }
2665 goto st0
2666 st152:
2667 if p++; p == pe {
2668 goto _testEof152
2669 }
2670 stCase152:
2671 if 33 <= data[p] && data[p] <= 126 {
2672 goto st153
2673 }
2674 goto st0
2675 st153:
2676 if p++; p == pe {
2677 goto _testEof153
2678 }
2679 stCase153:
2680 if 33 <= data[p] && data[p] <= 126 {
2681 goto st154
2682 }
2683 goto st0
2684 st154:
2685 if p++; p == pe {
2686 goto _testEof154
2687 }
2688 stCase154:
2689 if 33 <= data[p] && data[p] <= 126 {
2690 goto st155
2691 }
2692 goto st0
2693 st155:
2694 if p++; p == pe {
2695 goto _testEof155
2696 }
2697 stCase155:
2698 if 33 <= data[p] && data[p] <= 126 {
2699 goto st156
2700 }
2701 goto st0
2702 st156:
2703 if p++; p == pe {
2704 goto _testEof156
2705 }
2706 stCase156:
2707 if 33 <= data[p] && data[p] <= 126 {
2708 goto st157
2709 }
2710 goto st0
2711 st157:
2712 if p++; p == pe {
2713 goto _testEof157
2714 }
2715 stCase157:
2716 if 33 <= data[p] && data[p] <= 126 {
2717 goto st158
2718 }
2719 goto st0
2720 st158:
2721 if p++; p == pe {
2722 goto _testEof158
2723 }
2724 stCase158:
2725 if 33 <= data[p] && data[p] <= 126 {
2726 goto st159
2727 }
2728 goto st0
2729 st159:
2730 if p++; p == pe {
2731 goto _testEof159
2732 }
2733 stCase159:
2734 if 33 <= data[p] && data[p] <= 126 {
2735 goto st160
2736 }
2737 goto st0
2738 st160:
2739 if p++; p == pe {
2740 goto _testEof160
2741 }
2742 stCase160:
2743 if 33 <= data[p] && data[p] <= 126 {
2744 goto st161
2745 }
2746 goto st0
2747 st161:
2748 if p++; p == pe {
2749 goto _testEof161
2750 }
2751 stCase161:
2752 if 33 <= data[p] && data[p] <= 126 {
2753 goto st162
2754 }
2755 goto st0
2756 st162:
2757 if p++; p == pe {
2758 goto _testEof162
2759 }
2760 stCase162:
2761 if 33 <= data[p] && data[p] <= 126 {
2762 goto st163
2763 }
2764 goto st0
2765 st163:
2766 if p++; p == pe {
2767 goto _testEof163
2768 }
2769 stCase163:
2770 if 33 <= data[p] && data[p] <= 126 {
2771 goto st164
2772 }
2773 goto st0
2774 st164:
2775 if p++; p == pe {
2776 goto _testEof164
2777 }
2778 stCase164:
2779 if 33 <= data[p] && data[p] <= 126 {
2780 goto st165
2781 }
2782 goto st0
2783 st165:
2784 if p++; p == pe {
2785 goto _testEof165
2786 }
2787 stCase165:
2788 if 33 <= data[p] && data[p] <= 126 {
2789 goto st166
2790 }
2791 goto st0
2792 st166:
2793 if p++; p == pe {
2794 goto _testEof166
2795 }
2796 stCase166:
2797 if 33 <= data[p] && data[p] <= 126 {
2798 goto st167
2799 }
2800 goto st0
2801 st167:
2802 if p++; p == pe {
2803 goto _testEof167
2804 }
2805 stCase167:
2806 if 33 <= data[p] && data[p] <= 126 {
2807 goto st168
2808 }
2809 goto st0
2810 st168:
2811 if p++; p == pe {
2812 goto _testEof168
2813 }
2814 stCase168:
2815 if 33 <= data[p] && data[p] <= 126 {
2816 goto st169
2817 }
2818 goto st0
2819 st169:
2820 if p++; p == pe {
2821 goto _testEof169
2822 }
2823 stCase169:
2824 if 33 <= data[p] && data[p] <= 126 {
2825 goto st170
2826 }
2827 goto st0
2828 st170:
2829 if p++; p == pe {
2830 goto _testEof170
2831 }
2832 stCase170:
2833 if 33 <= data[p] && data[p] <= 126 {
2834 goto st171
2835 }
2836 goto st0
2837 st171:
2838 if p++; p == pe {
2839 goto _testEof171
2840 }
2841 stCase171:
2842 if 33 <= data[p] && data[p] <= 126 {
2843 goto st172
2844 }
2845 goto st0
2846 st172:
2847 if p++; p == pe {
2848 goto _testEof172
2849 }
2850 stCase172:
2851 if 33 <= data[p] && data[p] <= 126 {
2852 goto st173
2853 }
2854 goto st0
2855 st173:
2856 if p++; p == pe {
2857 goto _testEof173
2858 }
2859 stCase173:
2860 if 33 <= data[p] && data[p] <= 126 {
2861 goto st174
2862 }
2863 goto st0
2864 st174:
2865 if p++; p == pe {
2866 goto _testEof174
2867 }
2868 stCase174:
2869 if 33 <= data[p] && data[p] <= 126 {
2870 goto st175
2871 }
2872 goto st0
2873 st175:
2874 if p++; p == pe {
2875 goto _testEof175
2876 }
2877 stCase175:
2878 if 33 <= data[p] && data[p] <= 126 {
2879 goto st176
2880 }
2881 goto st0
2882 st176:
2883 if p++; p == pe {
2884 goto _testEof176
2885 }
2886 stCase176:
2887 if 33 <= data[p] && data[p] <= 126 {
2888 goto st177
2889 }
2890 goto st0
2891 st177:
2892 if p++; p == pe {
2893 goto _testEof177
2894 }
2895 stCase177:
2896 if 33 <= data[p] && data[p] <= 126 {
2897 goto st178
2898 }
2899 goto st0
2900 st178:
2901 if p++; p == pe {
2902 goto _testEof178
2903 }
2904 stCase178:
2905 if 33 <= data[p] && data[p] <= 126 {
2906 goto st179
2907 }
2908 goto st0
2909 st179:
2910 if p++; p == pe {
2911 goto _testEof179
2912 }
2913 stCase179:
2914 if 33 <= data[p] && data[p] <= 126 {
2915 goto st180
2916 }
2917 goto st0
2918 st180:
2919 if p++; p == pe {
2920 goto _testEof180
2921 }
2922 stCase180:
2923 if 33 <= data[p] && data[p] <= 126 {
2924 goto st181
2925 }
2926 goto st0
2927 st181:
2928 if p++; p == pe {
2929 goto _testEof181
2930 }
2931 stCase181:
2932 if 33 <= data[p] && data[p] <= 126 {
2933 goto st182
2934 }
2935 goto st0
2936 st182:
2937 if p++; p == pe {
2938 goto _testEof182
2939 }
2940 stCase182:
2941 if 33 <= data[p] && data[p] <= 126 {
2942 goto st183
2943 }
2944 goto st0
2945 st183:
2946 if p++; p == pe {
2947 goto _testEof183
2948 }
2949 stCase183:
2950 if 33 <= data[p] && data[p] <= 126 {
2951 goto st184
2952 }
2953 goto st0
2954 st184:
2955 if p++; p == pe {
2956 goto _testEof184
2957 }
2958 stCase184:
2959 if 33 <= data[p] && data[p] <= 126 {
2960 goto st185
2961 }
2962 goto st0
2963 st185:
2964 if p++; p == pe {
2965 goto _testEof185
2966 }
2967 stCase185:
2968 if 33 <= data[p] && data[p] <= 126 {
2969 goto st186
2970 }
2971 goto st0
2972 st186:
2973 if p++; p == pe {
2974 goto _testEof186
2975 }
2976 stCase186:
2977 if 33 <= data[p] && data[p] <= 126 {
2978 goto st187
2979 }
2980 goto st0
2981 st187:
2982 if p++; p == pe {
2983 goto _testEof187
2984 }
2985 stCase187:
2986 if 33 <= data[p] && data[p] <= 126 {
2987 goto st188
2988 }
2989 goto st0
2990 st188:
2991 if p++; p == pe {
2992 goto _testEof188
2993 }
2994 stCase188:
2995 if 33 <= data[p] && data[p] <= 126 {
2996 goto st189
2997 }
2998 goto st0
2999 st189:
3000 if p++; p == pe {
3001 goto _testEof189
3002 }
3003 stCase189:
3004 if 33 <= data[p] && data[p] <= 126 {
3005 goto st190
3006 }
3007 goto st0
3008 st190:
3009 if p++; p == pe {
3010 goto _testEof190
3011 }
3012 stCase190:
3013 if 33 <= data[p] && data[p] <= 126 {
3014 goto st191
3015 }
3016 goto st0
3017 st191:
3018 if p++; p == pe {
3019 goto _testEof191
3020 }
3021 stCase191:
3022 if 33 <= data[p] && data[p] <= 126 {
3023 goto st192
3024 }
3025 goto st0
3026 st192:
3027 if p++; p == pe {
3028 goto _testEof192
3029 }
3030 stCase192:
3031 if 33 <= data[p] && data[p] <= 126 {
3032 goto st193
3033 }
3034 goto st0
3035 st193:
3036 if p++; p == pe {
3037 goto _testEof193
3038 }
3039 stCase193:
3040 if 33 <= data[p] && data[p] <= 126 {
3041 goto st194
3042 }
3043 goto st0
3044 st194:
3045 if p++; p == pe {
3046 goto _testEof194
3047 }
3048 stCase194:
3049 if 33 <= data[p] && data[p] <= 126 {
3050 goto st195
3051 }
3052 goto st0
3053 st195:
3054 if p++; p == pe {
3055 goto _testEof195
3056 }
3057 stCase195:
3058 if 33 <= data[p] && data[p] <= 126 {
3059 goto st196
3060 }
3061 goto st0
3062 st196:
3063 if p++; p == pe {
3064 goto _testEof196
3065 }
3066 stCase196:
3067 if 33 <= data[p] && data[p] <= 126 {
3068 goto st197
3069 }
3070 goto st0
3071 st197:
3072 if p++; p == pe {
3073 goto _testEof197
3074 }
3075 stCase197:
3076 if 33 <= data[p] && data[p] <= 126 {
3077 goto st198
3078 }
3079 goto st0
3080 st198:
3081 if p++; p == pe {
3082 goto _testEof198
3083 }
3084 stCase198:
3085 if 33 <= data[p] && data[p] <= 126 {
3086 goto st199
3087 }
3088 goto st0
3089 st199:
3090 if p++; p == pe {
3091 goto _testEof199
3092 }
3093 stCase199:
3094 if 33 <= data[p] && data[p] <= 126 {
3095 goto st200
3096 }
3097 goto st0
3098 st200:
3099 if p++; p == pe {
3100 goto _testEof200
3101 }
3102 stCase200:
3103 if 33 <= data[p] && data[p] <= 126 {
3104 goto st201
3105 }
3106 goto st0
3107 st201:
3108 if p++; p == pe {
3109 goto _testEof201
3110 }
3111 stCase201:
3112 if 33 <= data[p] && data[p] <= 126 {
3113 goto st202
3114 }
3115 goto st0
3116 st202:
3117 if p++; p == pe {
3118 goto _testEof202
3119 }
3120 stCase202:
3121 if 33 <= data[p] && data[p] <= 126 {
3122 goto st203
3123 }
3124 goto st0
3125 st203:
3126 if p++; p == pe {
3127 goto _testEof203
3128 }
3129 stCase203:
3130 if 33 <= data[p] && data[p] <= 126 {
3131 goto st204
3132 }
3133 goto st0
3134 st204:
3135 if p++; p == pe {
3136 goto _testEof204
3137 }
3138 stCase204:
3139 if 33 <= data[p] && data[p] <= 126 {
3140 goto st205
3141 }
3142 goto st0
3143 st205:
3144 if p++; p == pe {
3145 goto _testEof205
3146 }
3147 stCase205:
3148 if 33 <= data[p] && data[p] <= 126 {
3149 goto st206
3150 }
3151 goto st0
3152 st206:
3153 if p++; p == pe {
3154 goto _testEof206
3155 }
3156 stCase206:
3157 if 33 <= data[p] && data[p] <= 126 {
3158 goto st207
3159 }
3160 goto st0
3161 st207:
3162 if p++; p == pe {
3163 goto _testEof207
3164 }
3165 stCase207:
3166 if 33 <= data[p] && data[p] <= 126 {
3167 goto st208
3168 }
3169 goto st0
3170 st208:
3171 if p++; p == pe {
3172 goto _testEof208
3173 }
3174 stCase208:
3175 if 33 <= data[p] && data[p] <= 126 {
3176 goto st209
3177 }
3178 goto st0
3179 st209:
3180 if p++; p == pe {
3181 goto _testEof209
3182 }
3183 stCase209:
3184 if 33 <= data[p] && data[p] <= 126 {
3185 goto st210
3186 }
3187 goto st0
3188 st210:
3189 if p++; p == pe {
3190 goto _testEof210
3191 }
3192 stCase210:
3193 if 33 <= data[p] && data[p] <= 126 {
3194 goto st211
3195 }
3196 goto st0
3197 st211:
3198 if p++; p == pe {
3199 goto _testEof211
3200 }
3201 stCase211:
3202 if 33 <= data[p] && data[p] <= 126 {
3203 goto st212
3204 }
3205 goto st0
3206 st212:
3207 if p++; p == pe {
3208 goto _testEof212
3209 }
3210 stCase212:
3211 if 33 <= data[p] && data[p] <= 126 {
3212 goto st213
3213 }
3214 goto st0
3215 st213:
3216 if p++; p == pe {
3217 goto _testEof213
3218 }
3219 stCase213:
3220 if 33 <= data[p] && data[p] <= 126 {
3221 goto st214
3222 }
3223 goto st0
3224 st214:
3225 if p++; p == pe {
3226 goto _testEof214
3227 }
3228 stCase214:
3229 if 33 <= data[p] && data[p] <= 126 {
3230 goto st215
3231 }
3232 goto st0
3233 st215:
3234 if p++; p == pe {
3235 goto _testEof215
3236 }
3237 stCase215:
3238 if 33 <= data[p] && data[p] <= 126 {
3239 goto st216
3240 }
3241 goto st0
3242 st216:
3243 if p++; p == pe {
3244 goto _testEof216
3245 }
3246 stCase216:
3247 if 33 <= data[p] && data[p] <= 126 {
3248 goto st217
3249 }
3250 goto st0
3251 st217:
3252 if p++; p == pe {
3253 goto _testEof217
3254 }
3255 stCase217:
3256 if 33 <= data[p] && data[p] <= 126 {
3257 goto st218
3258 }
3259 goto st0
3260 st218:
3261 if p++; p == pe {
3262 goto _testEof218
3263 }
3264 stCase218:
3265 if 33 <= data[p] && data[p] <= 126 {
3266 goto st219
3267 }
3268 goto st0
3269 st219:
3270 if p++; p == pe {
3271 goto _testEof219
3272 }
3273 stCase219:
3274 if 33 <= data[p] && data[p] <= 126 {
3275 goto st220
3276 }
3277 goto st0
3278 st220:
3279 if p++; p == pe {
3280 goto _testEof220
3281 }
3282 stCase220:
3283 if 33 <= data[p] && data[p] <= 126 {
3284 goto st221
3285 }
3286 goto st0
3287 st221:
3288 if p++; p == pe {
3289 goto _testEof221
3290 }
3291 stCase221:
3292 if 33 <= data[p] && data[p] <= 126 {
3293 goto st222
3294 }
3295 goto st0
3296 st222:
3297 if p++; p == pe {
3298 goto _testEof222
3299 }
3300 stCase222:
3301 if 33 <= data[p] && data[p] <= 126 {
3302 goto st223
3303 }
3304 goto st0
3305 st223:
3306 if p++; p == pe {
3307 goto _testEof223
3308 }
3309 stCase223:
3310 if 33 <= data[p] && data[p] <= 126 {
3311 goto st224
3312 }
3313 goto st0
3314 st224:
3315 if p++; p == pe {
3316 goto _testEof224
3317 }
3318 stCase224:
3319 if 33 <= data[p] && data[p] <= 126 {
3320 goto st225
3321 }
3322 goto st0
3323 st225:
3324 if p++; p == pe {
3325 goto _testEof225
3326 }
3327 stCase225:
3328 if 33 <= data[p] && data[p] <= 126 {
3329 goto st226
3330 }
3331 goto st0
3332 st226:
3333 if p++; p == pe {
3334 goto _testEof226
3335 }
3336 stCase226:
3337 if 33 <= data[p] && data[p] <= 126 {
3338 goto st227
3339 }
3340 goto st0
3341 st227:
3342 if p++; p == pe {
3343 goto _testEof227
3344 }
3345 stCase227:
3346 if 33 <= data[p] && data[p] <= 126 {
3347 goto st228
3348 }
3349 goto st0
3350 st228:
3351 if p++; p == pe {
3352 goto _testEof228
3353 }
3354 stCase228:
3355 if 33 <= data[p] && data[p] <= 126 {
3356 goto st229
3357 }
3358 goto st0
3359 st229:
3360 if p++; p == pe {
3361 goto _testEof229
3362 }
3363 stCase229:
3364 if 33 <= data[p] && data[p] <= 126 {
3365 goto st230
3366 }
3367 goto st0
3368 st230:
3369 if p++; p == pe {
3370 goto _testEof230
3371 }
3372 stCase230:
3373 if 33 <= data[p] && data[p] <= 126 {
3374 goto st231
3375 }
3376 goto st0
3377 st231:
3378 if p++; p == pe {
3379 goto _testEof231
3380 }
3381 stCase231:
3382 if 33 <= data[p] && data[p] <= 126 {
3383 goto st232
3384 }
3385 goto st0
3386 st232:
3387 if p++; p == pe {
3388 goto _testEof232
3389 }
3390 stCase232:
3391 if 33 <= data[p] && data[p] <= 126 {
3392 goto st233
3393 }
3394 goto st0
3395 st233:
3396 if p++; p == pe {
3397 goto _testEof233
3398 }
3399 stCase233:
3400 if 33 <= data[p] && data[p] <= 126 {
3401 goto st234
3402 }
3403 goto st0
3404 st234:
3405 if p++; p == pe {
3406 goto _testEof234
3407 }
3408 stCase234:
3409 if 33 <= data[p] && data[p] <= 126 {
3410 goto st235
3411 }
3412 goto st0
3413 st235:
3414 if p++; p == pe {
3415 goto _testEof235
3416 }
3417 stCase235:
3418 if 33 <= data[p] && data[p] <= 126 {
3419 goto st236
3420 }
3421 goto st0
3422 st236:
3423 if p++; p == pe {
3424 goto _testEof236
3425 }
3426 stCase236:
3427 if 33 <= data[p] && data[p] <= 126 {
3428 goto st237
3429 }
3430 goto st0
3431 st237:
3432 if p++; p == pe {
3433 goto _testEof237
3434 }
3435 stCase237:
3436 if 33 <= data[p] && data[p] <= 126 {
3437 goto st238
3438 }
3439 goto st0
3440 st238:
3441 if p++; p == pe {
3442 goto _testEof238
3443 }
3444 stCase238:
3445 if 33 <= data[p] && data[p] <= 126 {
3446 goto st239
3447 }
3448 goto st0
3449 st239:
3450 if p++; p == pe {
3451 goto _testEof239
3452 }
3453 stCase239:
3454 if 33 <= data[p] && data[p] <= 126 {
3455 goto st240
3456 }
3457 goto st0
3458 st240:
3459 if p++; p == pe {
3460 goto _testEof240
3461 }
3462 stCase240:
3463 if 33 <= data[p] && data[p] <= 126 {
3464 goto st241
3465 }
3466 goto st0
3467 st241:
3468 if p++; p == pe {
3469 goto _testEof241
3470 }
3471 stCase241:
3472 if 33 <= data[p] && data[p] <= 126 {
3473 goto st242
3474 }
3475 goto st0
3476 st242:
3477 if p++; p == pe {
3478 goto _testEof242
3479 }
3480 stCase242:
3481 if 33 <= data[p] && data[p] <= 126 {
3482 goto st243
3483 }
3484 goto st0
3485 st243:
3486 if p++; p == pe {
3487 goto _testEof243
3488 }
3489 stCase243:
3490 if 33 <= data[p] && data[p] <= 126 {
3491 goto st244
3492 }
3493 goto st0
3494 st244:
3495 if p++; p == pe {
3496 goto _testEof244
3497 }
3498 stCase244:
3499 if 33 <= data[p] && data[p] <= 126 {
3500 goto st245
3501 }
3502 goto st0
3503 st245:
3504 if p++; p == pe {
3505 goto _testEof245
3506 }
3507 stCase245:
3508 if 33 <= data[p] && data[p] <= 126 {
3509 goto st246
3510 }
3511 goto st0
3512 st246:
3513 if p++; p == pe {
3514 goto _testEof246
3515 }
3516 stCase246:
3517 if 33 <= data[p] && data[p] <= 126 {
3518 goto st247
3519 }
3520 goto st0
3521 st247:
3522 if p++; p == pe {
3523 goto _testEof247
3524 }
3525 stCase247:
3526 if 33 <= data[p] && data[p] <= 126 {
3527 goto st248
3528 }
3529 goto st0
3530 st248:
3531 if p++; p == pe {
3532 goto _testEof248
3533 }
3534 stCase248:
3535 if 33 <= data[p] && data[p] <= 126 {
3536 goto st249
3537 }
3538 goto st0
3539 st249:
3540 if p++; p == pe {
3541 goto _testEof249
3542 }
3543 stCase249:
3544 if 33 <= data[p] && data[p] <= 126 {
3545 goto st250
3546 }
3547 goto st0
3548 st250:
3549 if p++; p == pe {
3550 goto _testEof250
3551 }
3552 stCase250:
3553 if 33 <= data[p] && data[p] <= 126 {
3554 goto st251
3555 }
3556 goto st0
3557 st251:
3558 if p++; p == pe {
3559 goto _testEof251
3560 }
3561 stCase251:
3562 if 33 <= data[p] && data[p] <= 126 {
3563 goto st252
3564 }
3565 goto st0
3566 st252:
3567 if p++; p == pe {
3568 goto _testEof252
3569 }
3570 stCase252:
3571 if 33 <= data[p] && data[p] <= 126 {
3572 goto st253
3573 }
3574 goto st0
3575 st253:
3576 if p++; p == pe {
3577 goto _testEof253
3578 }
3579 stCase253:
3580 if 33 <= data[p] && data[p] <= 126 {
3581 goto st254
3582 }
3583 goto st0
3584 st254:
3585 if p++; p == pe {
3586 goto _testEof254
3587 }
3588 stCase254:
3589 if 33 <= data[p] && data[p] <= 126 {
3590 goto st255
3591 }
3592 goto st0
3593 st255:
3594 if p++; p == pe {
3595 goto _testEof255
3596 }
3597 stCase255:
3598 if 33 <= data[p] && data[p] <= 126 {
3599 goto st256
3600 }
3601 goto st0
3602 st256:
3603 if p++; p == pe {
3604 goto _testEof256
3605 }
3606 stCase256:
3607 if 33 <= data[p] && data[p] <= 126 {
3608 goto st257
3609 }
3610 goto st0
3611 st257:
3612 if p++; p == pe {
3613 goto _testEof257
3614 }
3615 stCase257:
3616 if 33 <= data[p] && data[p] <= 126 {
3617 goto st258
3618 }
3619 goto st0
3620 st258:
3621 if p++; p == pe {
3622 goto _testEof258
3623 }
3624 stCase258:
3625 if 33 <= data[p] && data[p] <= 126 {
3626 goto st259
3627 }
3628 goto st0
3629 st259:
3630 if p++; p == pe {
3631 goto _testEof259
3632 }
3633 stCase259:
3634 if 33 <= data[p] && data[p] <= 126 {
3635 goto st260
3636 }
3637 goto st0
3638 st260:
3639 if p++; p == pe {
3640 goto _testEof260
3641 }
3642 stCase260:
3643 if 33 <= data[p] && data[p] <= 126 {
3644 goto st261
3645 }
3646 goto st0
3647 st261:
3648 if p++; p == pe {
3649 goto _testEof261
3650 }
3651 stCase261:
3652 if 33 <= data[p] && data[p] <= 126 {
3653 goto st262
3654 }
3655 goto st0
3656 st262:
3657 if p++; p == pe {
3658 goto _testEof262
3659 }
3660 stCase262:
3661 if 33 <= data[p] && data[p] <= 126 {
3662 goto st263
3663 }
3664 goto st0
3665 st263:
3666 if p++; p == pe {
3667 goto _testEof263
3668 }
3669 stCase263:
3670 if 33 <= data[p] && data[p] <= 126 {
3671 goto st264
3672 }
3673 goto st0
3674 st264:
3675 if p++; p == pe {
3676 goto _testEof264
3677 }
3678 stCase264:
3679 if 33 <= data[p] && data[p] <= 126 {
3680 goto st265
3681 }
3682 goto st0
3683 st265:
3684 if p++; p == pe {
3685 goto _testEof265
3686 }
3687 stCase265:
3688 if 33 <= data[p] && data[p] <= 126 {
3689 goto st266
3690 }
3691 goto st0
3692 st266:
3693 if p++; p == pe {
3694 goto _testEof266
3695 }
3696 stCase266:
3697 if 33 <= data[p] && data[p] <= 126 {
3698 goto st267
3699 }
3700 goto st0
3701 st267:
3702 if p++; p == pe {
3703 goto _testEof267
3704 }
3705 stCase267:
3706 if 33 <= data[p] && data[p] <= 126 {
3707 goto st268
3708 }
3709 goto st0
3710 st268:
3711 if p++; p == pe {
3712 goto _testEof268
3713 }
3714 stCase268:
3715 if 33 <= data[p] && data[p] <= 126 {
3716 goto st269
3717 }
3718 goto st0
3719 st269:
3720 if p++; p == pe {
3721 goto _testEof269
3722 }
3723 stCase269:
3724 if 33 <= data[p] && data[p] <= 126 {
3725 goto st270
3726 }
3727 goto st0
3728 st270:
3729 if p++; p == pe {
3730 goto _testEof270
3731 }
3732 stCase270:
3733 if 33 <= data[p] && data[p] <= 126 {
3734 goto st271
3735 }
3736 goto st0
3737 st271:
3738 if p++; p == pe {
3739 goto _testEof271
3740 }
3741 stCase271:
3742 if 33 <= data[p] && data[p] <= 126 {
3743 goto st272
3744 }
3745 goto st0
3746 st272:
3747 if p++; p == pe {
3748 goto _testEof272
3749 }
3750 stCase272:
3751 if 33 <= data[p] && data[p] <= 126 {
3752 goto st273
3753 }
3754 goto st0
3755 st273:
3756 if p++; p == pe {
3757 goto _testEof273
3758 }
3759 stCase273:
3760 if 33 <= data[p] && data[p] <= 126 {
3761 goto st274
3762 }
3763 goto st0
3764 st274:
3765 if p++; p == pe {
3766 goto _testEof274
3767 }
3768 stCase274:
3769 if 33 <= data[p] && data[p] <= 126 {
3770 goto st275
3771 }
3772 goto st0
3773 st275:
3774 if p++; p == pe {
3775 goto _testEof275
3776 }
3777 stCase275:
3778 if 33 <= data[p] && data[p] <= 126 {
3779 goto st276
3780 }
3781 goto st0
3782 st276:
3783 if p++; p == pe {
3784 goto _testEof276
3785 }
3786 stCase276:
3787 if 33 <= data[p] && data[p] <= 126 {
3788 goto st277
3789 }
3790 goto st0
3791 st277:
3792 if p++; p == pe {
3793 goto _testEof277
3794 }
3795 stCase277:
3796 if 33 <= data[p] && data[p] <= 126 {
3797 goto st278
3798 }
3799 goto st0
3800 st278:
3801 if p++; p == pe {
3802 goto _testEof278
3803 }
3804 stCase278:
3805 if 33 <= data[p] && data[p] <= 126 {
3806 goto st279
3807 }
3808 goto st0
3809 st279:
3810 if p++; p == pe {
3811 goto _testEof279
3812 }
3813 stCase279:
3814 if 33 <= data[p] && data[p] <= 126 {
3815 goto st280
3816 }
3817 goto st0
3818 st280:
3819 if p++; p == pe {
3820 goto _testEof280
3821 }
3822 stCase280:
3823 if 33 <= data[p] && data[p] <= 126 {
3824 goto st281
3825 }
3826 goto st0
3827 st281:
3828 if p++; p == pe {
3829 goto _testEof281
3830 }
3831 stCase281:
3832 if 33 <= data[p] && data[p] <= 126 {
3833 goto st282
3834 }
3835 goto st0
3836 st282:
3837 if p++; p == pe {
3838 goto _testEof282
3839 }
3840 stCase282:
3841 if 33 <= data[p] && data[p] <= 126 {
3842 goto st283
3843 }
3844 goto st0
3845 st283:
3846 if p++; p == pe {
3847 goto _testEof283
3848 }
3849 stCase283:
3850 if 33 <= data[p] && data[p] <= 126 {
3851 goto st284
3852 }
3853 goto st0
3854 st284:
3855 if p++; p == pe {
3856 goto _testEof284
3857 }
3858 stCase284:
3859 if 33 <= data[p] && data[p] <= 126 {
3860 goto st285
3861 }
3862 goto st0
3863 st285:
3864 if p++; p == pe {
3865 goto _testEof285
3866 }
3867 stCase285:
3868 if 33 <= data[p] && data[p] <= 126 {
3869 goto st286
3870 }
3871 goto st0
3872 st286:
3873 if p++; p == pe {
3874 goto _testEof286
3875 }
3876 stCase286:
3877 if 33 <= data[p] && data[p] <= 126 {
3878 goto st287
3879 }
3880 goto st0
3881 st287:
3882 if p++; p == pe {
3883 goto _testEof287
3884 }
3885 stCase287:
3886 if 33 <= data[p] && data[p] <= 126 {
3887 goto st288
3888 }
3889 goto st0
3890 st288:
3891 if p++; p == pe {
3892 goto _testEof288
3893 }
3894 stCase288:
3895 if 33 <= data[p] && data[p] <= 126 {
3896 goto st289
3897 }
3898 goto st0
3899 st289:
3900 if p++; p == pe {
3901 goto _testEof289
3902 }
3903 stCase289:
3904 if 33 <= data[p] && data[p] <= 126 {
3905 goto st290
3906 }
3907 goto st0
3908 st290:
3909 if p++; p == pe {
3910 goto _testEof290
3911 }
3912 stCase290:
3913 if 33 <= data[p] && data[p] <= 126 {
3914 goto st291
3915 }
3916 goto st0
3917 st291:
3918 if p++; p == pe {
3919 goto _testEof291
3920 }
3921 stCase291:
3922 if 33 <= data[p] && data[p] <= 126 {
3923 goto st292
3924 }
3925 goto st0
3926 st292:
3927 if p++; p == pe {
3928 goto _testEof292
3929 }
3930 stCase292:
3931 if 33 <= data[p] && data[p] <= 126 {
3932 goto st293
3933 }
3934 goto st0
3935 st293:
3936 if p++; p == pe {
3937 goto _testEof293
3938 }
3939 stCase293:
3940 if 33 <= data[p] && data[p] <= 126 {
3941 goto st294
3942 }
3943 goto st0
3944 st294:
3945 if p++; p == pe {
3946 goto _testEof294
3947 }
3948 stCase294:
3949 if 33 <= data[p] && data[p] <= 126 {
3950 goto st295
3951 }
3952 goto st0
3953 st295:
3954 if p++; p == pe {
3955 goto _testEof295
3956 }
3957 stCase295:
3958 if 33 <= data[p] && data[p] <= 126 {
3959 goto st296
3960 }
3961 goto st0
3962 st296:
3963 if p++; p == pe {
3964 goto _testEof296
3965 }
3966 stCase296:
3967 if 33 <= data[p] && data[p] <= 126 {
3968 goto st297
3969 }
3970 goto st0
3971 st297:
3972 if p++; p == pe {
3973 goto _testEof297
3974 }
3975 stCase297:
3976 if 33 <= data[p] && data[p] <= 126 {
3977 goto st298
3978 }
3979 goto st0
3980 st298:
3981 if p++; p == pe {
3982 goto _testEof298
3983 }
3984 stCase298:
3985 if 33 <= data[p] && data[p] <= 126 {
3986 goto st299
3987 }
3988 goto st0
3989 st299:
3990 if p++; p == pe {
3991 goto _testEof299
3992 }
3993 stCase299:
3994 if 33 <= data[p] && data[p] <= 126 {
3995 goto st300
3996 }
3997 goto st0
3998 st300:
3999 if p++; p == pe {
4000 goto _testEof300
4001 }
4002 stCase300:
4003 if 33 <= data[p] && data[p] <= 126 {
4004 goto st301
4005 }
4006 goto st0
4007 st301:
4008 if p++; p == pe {
4009 goto _testEof301
4010 }
4011 stCase301:
4012 if 33 <= data[p] && data[p] <= 126 {
4013 goto st302
4014 }
4015 goto st0
4016 st302:
4017 if p++; p == pe {
4018 goto _testEof302
4019 }
4020 stCase302:
4021 if 33 <= data[p] && data[p] <= 126 {
4022 goto st303
4023 }
4024 goto st0
4025 st303:
4026 if p++; p == pe {
4027 goto _testEof303
4028 }
4029 stCase303:
4030 if 33 <= data[p] && data[p] <= 126 {
4031 goto st304
4032 }
4033 goto st0
4034 st304:
4035 if p++; p == pe {
4036 goto _testEof304
4037 }
4038 stCase304:
4039 if 33 <= data[p] && data[p] <= 126 {
4040 goto st305
4041 }
4042 goto st0
4043 st305:
4044 if p++; p == pe {
4045 goto _testEof305
4046 }
4047 stCase305:
4048 if 33 <= data[p] && data[p] <= 126 {
4049 goto st306
4050 }
4051 goto st0
4052 st306:
4053 if p++; p == pe {
4054 goto _testEof306
4055 }
4056 stCase306:
4057 if 33 <= data[p] && data[p] <= 126 {
4058 goto st307
4059 }
4060 goto st0
4061 st307:
4062 if p++; p == pe {
4063 goto _testEof307
4064 }
4065 stCase307:
4066 if 33 <= data[p] && data[p] <= 126 {
4067 goto st308
4068 }
4069 goto st0
4070 st308:
4071 if p++; p == pe {
4072 goto _testEof308
4073 }
4074 stCase308:
4075 if 33 <= data[p] && data[p] <= 126 {
4076 goto st309
4077 }
4078 goto st0
4079 st309:
4080 if p++; p == pe {
4081 goto _testEof309
4082 }
4083 stCase309:
4084 if 33 <= data[p] && data[p] <= 126 {
4085 goto st310
4086 }
4087 goto st0
4088 st310:
4089 if p++; p == pe {
4090 goto _testEof310
4091 }
4092 stCase310:
4093 if 33 <= data[p] && data[p] <= 126 {
4094 goto st311
4095 }
4096 goto st0
4097 st311:
4098 if p++; p == pe {
4099 goto _testEof311
4100 }
4101 stCase311:
4102 if 33 <= data[p] && data[p] <= 126 {
4103 goto st312
4104 }
4105 goto st0
4106 st312:
4107 if p++; p == pe {
4108 goto _testEof312
4109 }
4110 stCase312:
4111 if 33 <= data[p] && data[p] <= 126 {
4112 goto st313
4113 }
4114 goto st0
4115 st313:
4116 if p++; p == pe {
4117 goto _testEof313
4118 }
4119 stCase313:
4120 if 33 <= data[p] && data[p] <= 126 {
4121 goto st314
4122 }
4123 goto st0
4124 st314:
4125 if p++; p == pe {
4126 goto _testEof314
4127 }
4128 stCase314:
4129 if 33 <= data[p] && data[p] <= 126 {
4130 goto st315
4131 }
4132 goto st0
4133 st315:
4134 if p++; p == pe {
4135 goto _testEof315
4136 }
4137 stCase315:
4138 if 33 <= data[p] && data[p] <= 126 {
4139 goto st316
4140 }
4141 goto st0
4142 st316:
4143 if p++; p == pe {
4144 goto _testEof316
4145 }
4146 stCase316:
4147 goto st0
4148 stCase46:
4149 if 33 <= data[p] && data[p] <= 126 {
4150 goto tr42
4151 }
4152 goto st0
4153 tr42:
4154
4155 pb = p
4156
4157 goto st317
4158 st317:
4159 if p++; p == pe {
4160 goto _testEof317
4161 }
4162 stCase317:
4163 if 33 <= data[p] && data[p] <= 126 {
4164 goto st318
4165 }
4166 goto st0
4167 st318:
4168 if p++; p == pe {
4169 goto _testEof318
4170 }
4171 stCase318:
4172 if 33 <= data[p] && data[p] <= 126 {
4173 goto st319
4174 }
4175 goto st0
4176 st319:
4177 if p++; p == pe {
4178 goto _testEof319
4179 }
4180 stCase319:
4181 if 33 <= data[p] && data[p] <= 126 {
4182 goto st320
4183 }
4184 goto st0
4185 st320:
4186 if p++; p == pe {
4187 goto _testEof320
4188 }
4189 stCase320:
4190 if 33 <= data[p] && data[p] <= 126 {
4191 goto st321
4192 }
4193 goto st0
4194 st321:
4195 if p++; p == pe {
4196 goto _testEof321
4197 }
4198 stCase321:
4199 if 33 <= data[p] && data[p] <= 126 {
4200 goto st322
4201 }
4202 goto st0
4203 st322:
4204 if p++; p == pe {
4205 goto _testEof322
4206 }
4207 stCase322:
4208 if 33 <= data[p] && data[p] <= 126 {
4209 goto st323
4210 }
4211 goto st0
4212 st323:
4213 if p++; p == pe {
4214 goto _testEof323
4215 }
4216 stCase323:
4217 if 33 <= data[p] && data[p] <= 126 {
4218 goto st324
4219 }
4220 goto st0
4221 st324:
4222 if p++; p == pe {
4223 goto _testEof324
4224 }
4225 stCase324:
4226 if 33 <= data[p] && data[p] <= 126 {
4227 goto st325
4228 }
4229 goto st0
4230 st325:
4231 if p++; p == pe {
4232 goto _testEof325
4233 }
4234 stCase325:
4235 if 33 <= data[p] && data[p] <= 126 {
4236 goto st326
4237 }
4238 goto st0
4239 st326:
4240 if p++; p == pe {
4241 goto _testEof326
4242 }
4243 stCase326:
4244 if 33 <= data[p] && data[p] <= 126 {
4245 goto st327
4246 }
4247 goto st0
4248 st327:
4249 if p++; p == pe {
4250 goto _testEof327
4251 }
4252 stCase327:
4253 if 33 <= data[p] && data[p] <= 126 {
4254 goto st328
4255 }
4256 goto st0
4257 st328:
4258 if p++; p == pe {
4259 goto _testEof328
4260 }
4261 stCase328:
4262 if 33 <= data[p] && data[p] <= 126 {
4263 goto st329
4264 }
4265 goto st0
4266 st329:
4267 if p++; p == pe {
4268 goto _testEof329
4269 }
4270 stCase329:
4271 if 33 <= data[p] && data[p] <= 126 {
4272 goto st330
4273 }
4274 goto st0
4275 st330:
4276 if p++; p == pe {
4277 goto _testEof330
4278 }
4279 stCase330:
4280 if 33 <= data[p] && data[p] <= 126 {
4281 goto st331
4282 }
4283 goto st0
4284 st331:
4285 if p++; p == pe {
4286 goto _testEof331
4287 }
4288 stCase331:
4289 if 33 <= data[p] && data[p] <= 126 {
4290 goto st332
4291 }
4292 goto st0
4293 st332:
4294 if p++; p == pe {
4295 goto _testEof332
4296 }
4297 stCase332:
4298 if 33 <= data[p] && data[p] <= 126 {
4299 goto st333
4300 }
4301 goto st0
4302 st333:
4303 if p++; p == pe {
4304 goto _testEof333
4305 }
4306 stCase333:
4307 if 33 <= data[p] && data[p] <= 126 {
4308 goto st334
4309 }
4310 goto st0
4311 st334:
4312 if p++; p == pe {
4313 goto _testEof334
4314 }
4315 stCase334:
4316 if 33 <= data[p] && data[p] <= 126 {
4317 goto st335
4318 }
4319 goto st0
4320 st335:
4321 if p++; p == pe {
4322 goto _testEof335
4323 }
4324 stCase335:
4325 if 33 <= data[p] && data[p] <= 126 {
4326 goto st336
4327 }
4328 goto st0
4329 st336:
4330 if p++; p == pe {
4331 goto _testEof336
4332 }
4333 stCase336:
4334 if 33 <= data[p] && data[p] <= 126 {
4335 goto st337
4336 }
4337 goto st0
4338 st337:
4339 if p++; p == pe {
4340 goto _testEof337
4341 }
4342 stCase337:
4343 if 33 <= data[p] && data[p] <= 126 {
4344 goto st338
4345 }
4346 goto st0
4347 st338:
4348 if p++; p == pe {
4349 goto _testEof338
4350 }
4351 stCase338:
4352 if 33 <= data[p] && data[p] <= 126 {
4353 goto st339
4354 }
4355 goto st0
4356 st339:
4357 if p++; p == pe {
4358 goto _testEof339
4359 }
4360 stCase339:
4361 if 33 <= data[p] && data[p] <= 126 {
4362 goto st340
4363 }
4364 goto st0
4365 st340:
4366 if p++; p == pe {
4367 goto _testEof340
4368 }
4369 stCase340:
4370 if 33 <= data[p] && data[p] <= 126 {
4371 goto st341
4372 }
4373 goto st0
4374 st341:
4375 if p++; p == pe {
4376 goto _testEof341
4377 }
4378 stCase341:
4379 if 33 <= data[p] && data[p] <= 126 {
4380 goto st342
4381 }
4382 goto st0
4383 st342:
4384 if p++; p == pe {
4385 goto _testEof342
4386 }
4387 stCase342:
4388 if 33 <= data[p] && data[p] <= 126 {
4389 goto st343
4390 }
4391 goto st0
4392 st343:
4393 if p++; p == pe {
4394 goto _testEof343
4395 }
4396 stCase343:
4397 if 33 <= data[p] && data[p] <= 126 {
4398 goto st344
4399 }
4400 goto st0
4401 st344:
4402 if p++; p == pe {
4403 goto _testEof344
4404 }
4405 stCase344:
4406 if 33 <= data[p] && data[p] <= 126 {
4407 goto st345
4408 }
4409 goto st0
4410 st345:
4411 if p++; p == pe {
4412 goto _testEof345
4413 }
4414 stCase345:
4415 if 33 <= data[p] && data[p] <= 126 {
4416 goto st346
4417 }
4418 goto st0
4419 st346:
4420 if p++; p == pe {
4421 goto _testEof346
4422 }
4423 stCase346:
4424 if 33 <= data[p] && data[p] <= 126 {
4425 goto st347
4426 }
4427 goto st0
4428 st347:
4429 if p++; p == pe {
4430 goto _testEof347
4431 }
4432 stCase347:
4433 if 33 <= data[p] && data[p] <= 126 {
4434 goto st348
4435 }
4436 goto st0
4437 st348:
4438 if p++; p == pe {
4439 goto _testEof348
4440 }
4441 stCase348:
4442 if 33 <= data[p] && data[p] <= 126 {
4443 goto st349
4444 }
4445 goto st0
4446 st349:
4447 if p++; p == pe {
4448 goto _testEof349
4449 }
4450 stCase349:
4451 if 33 <= data[p] && data[p] <= 126 {
4452 goto st350
4453 }
4454 goto st0
4455 st350:
4456 if p++; p == pe {
4457 goto _testEof350
4458 }
4459 stCase350:
4460 if 33 <= data[p] && data[p] <= 126 {
4461 goto st351
4462 }
4463 goto st0
4464 st351:
4465 if p++; p == pe {
4466 goto _testEof351
4467 }
4468 stCase351:
4469 if 33 <= data[p] && data[p] <= 126 {
4470 goto st352
4471 }
4472 goto st0
4473 st352:
4474 if p++; p == pe {
4475 goto _testEof352
4476 }
4477 stCase352:
4478 if 33 <= data[p] && data[p] <= 126 {
4479 goto st353
4480 }
4481 goto st0
4482 st353:
4483 if p++; p == pe {
4484 goto _testEof353
4485 }
4486 stCase353:
4487 if 33 <= data[p] && data[p] <= 126 {
4488 goto st354
4489 }
4490 goto st0
4491 st354:
4492 if p++; p == pe {
4493 goto _testEof354
4494 }
4495 stCase354:
4496 if 33 <= data[p] && data[p] <= 126 {
4497 goto st355
4498 }
4499 goto st0
4500 st355:
4501 if p++; p == pe {
4502 goto _testEof355
4503 }
4504 stCase355:
4505 if 33 <= data[p] && data[p] <= 126 {
4506 goto st356
4507 }
4508 goto st0
4509 st356:
4510 if p++; p == pe {
4511 goto _testEof356
4512 }
4513 stCase356:
4514 if 33 <= data[p] && data[p] <= 126 {
4515 goto st357
4516 }
4517 goto st0
4518 st357:
4519 if p++; p == pe {
4520 goto _testEof357
4521 }
4522 stCase357:
4523 if 33 <= data[p] && data[p] <= 126 {
4524 goto st358
4525 }
4526 goto st0
4527 st358:
4528 if p++; p == pe {
4529 goto _testEof358
4530 }
4531 stCase358:
4532 if 33 <= data[p] && data[p] <= 126 {
4533 goto st359
4534 }
4535 goto st0
4536 st359:
4537 if p++; p == pe {
4538 goto _testEof359
4539 }
4540 stCase359:
4541 if 33 <= data[p] && data[p] <= 126 {
4542 goto st360
4543 }
4544 goto st0
4545 st360:
4546 if p++; p == pe {
4547 goto _testEof360
4548 }
4549 stCase360:
4550 if 33 <= data[p] && data[p] <= 126 {
4551 goto st361
4552 }
4553 goto st0
4554 st361:
4555 if p++; p == pe {
4556 goto _testEof361
4557 }
4558 stCase361:
4559 if 33 <= data[p] && data[p] <= 126 {
4560 goto st362
4561 }
4562 goto st0
4563 st362:
4564 if p++; p == pe {
4565 goto _testEof362
4566 }
4567 stCase362:
4568 if 33 <= data[p] && data[p] <= 126 {
4569 goto st363
4570 }
4571 goto st0
4572 st363:
4573 if p++; p == pe {
4574 goto _testEof363
4575 }
4576 stCase363:
4577 if 33 <= data[p] && data[p] <= 126 {
4578 goto st364
4579 }
4580 goto st0
4581 st364:
4582 if p++; p == pe {
4583 goto _testEof364
4584 }
4585 stCase364:
4586 goto st0
4587 stCase47:
4588 if 33 <= data[p] && data[p] <= 126 {
4589 goto tr43
4590 }
4591 goto st0
4592 tr43:
4593
4594 pb = p
4595
4596 goto st365
4597 st365:
4598 if p++; p == pe {
4599 goto _testEof365
4600 }
4601 stCase365:
4602 if 33 <= data[p] && data[p] <= 126 {
4603 goto st366
4604 }
4605 goto st0
4606 st366:
4607 if p++; p == pe {
4608 goto _testEof366
4609 }
4610 stCase366:
4611 if 33 <= data[p] && data[p] <= 126 {
4612 goto st367
4613 }
4614 goto st0
4615 st367:
4616 if p++; p == pe {
4617 goto _testEof367
4618 }
4619 stCase367:
4620 if 33 <= data[p] && data[p] <= 126 {
4621 goto st368
4622 }
4623 goto st0
4624 st368:
4625 if p++; p == pe {
4626 goto _testEof368
4627 }
4628 stCase368:
4629 if 33 <= data[p] && data[p] <= 126 {
4630 goto st369
4631 }
4632 goto st0
4633 st369:
4634 if p++; p == pe {
4635 goto _testEof369
4636 }
4637 stCase369:
4638 if 33 <= data[p] && data[p] <= 126 {
4639 goto st370
4640 }
4641 goto st0
4642 st370:
4643 if p++; p == pe {
4644 goto _testEof370
4645 }
4646 stCase370:
4647 if 33 <= data[p] && data[p] <= 126 {
4648 goto st371
4649 }
4650 goto st0
4651 st371:
4652 if p++; p == pe {
4653 goto _testEof371
4654 }
4655 stCase371:
4656 if 33 <= data[p] && data[p] <= 126 {
4657 goto st372
4658 }
4659 goto st0
4660 st372:
4661 if p++; p == pe {
4662 goto _testEof372
4663 }
4664 stCase372:
4665 if 33 <= data[p] && data[p] <= 126 {
4666 goto st373
4667 }
4668 goto st0
4669 st373:
4670 if p++; p == pe {
4671 goto _testEof373
4672 }
4673 stCase373:
4674 if 33 <= data[p] && data[p] <= 126 {
4675 goto st374
4676 }
4677 goto st0
4678 st374:
4679 if p++; p == pe {
4680 goto _testEof374
4681 }
4682 stCase374:
4683 if 33 <= data[p] && data[p] <= 126 {
4684 goto st375
4685 }
4686 goto st0
4687 st375:
4688 if p++; p == pe {
4689 goto _testEof375
4690 }
4691 stCase375:
4692 if 33 <= data[p] && data[p] <= 126 {
4693 goto st376
4694 }
4695 goto st0
4696 st376:
4697 if p++; p == pe {
4698 goto _testEof376
4699 }
4700 stCase376:
4701 if 33 <= data[p] && data[p] <= 126 {
4702 goto st377
4703 }
4704 goto st0
4705 st377:
4706 if p++; p == pe {
4707 goto _testEof377
4708 }
4709 stCase377:
4710 if 33 <= data[p] && data[p] <= 126 {
4711 goto st378
4712 }
4713 goto st0
4714 st378:
4715 if p++; p == pe {
4716 goto _testEof378
4717 }
4718 stCase378:
4719 if 33 <= data[p] && data[p] <= 126 {
4720 goto st379
4721 }
4722 goto st0
4723 st379:
4724 if p++; p == pe {
4725 goto _testEof379
4726 }
4727 stCase379:
4728 if 33 <= data[p] && data[p] <= 126 {
4729 goto st380
4730 }
4731 goto st0
4732 st380:
4733 if p++; p == pe {
4734 goto _testEof380
4735 }
4736 stCase380:
4737 if 33 <= data[p] && data[p] <= 126 {
4738 goto st381
4739 }
4740 goto st0
4741 st381:
4742 if p++; p == pe {
4743 goto _testEof381
4744 }
4745 stCase381:
4746 if 33 <= data[p] && data[p] <= 126 {
4747 goto st382
4748 }
4749 goto st0
4750 st382:
4751 if p++; p == pe {
4752 goto _testEof382
4753 }
4754 stCase382:
4755 if 33 <= data[p] && data[p] <= 126 {
4756 goto st383
4757 }
4758 goto st0
4759 st383:
4760 if p++; p == pe {
4761 goto _testEof383
4762 }
4763 stCase383:
4764 if 33 <= data[p] && data[p] <= 126 {
4765 goto st384
4766 }
4767 goto st0
4768 st384:
4769 if p++; p == pe {
4770 goto _testEof384
4771 }
4772 stCase384:
4773 if 33 <= data[p] && data[p] <= 126 {
4774 goto st385
4775 }
4776 goto st0
4777 st385:
4778 if p++; p == pe {
4779 goto _testEof385
4780 }
4781 stCase385:
4782 if 33 <= data[p] && data[p] <= 126 {
4783 goto st386
4784 }
4785 goto st0
4786 st386:
4787 if p++; p == pe {
4788 goto _testEof386
4789 }
4790 stCase386:
4791 if 33 <= data[p] && data[p] <= 126 {
4792 goto st387
4793 }
4794 goto st0
4795 st387:
4796 if p++; p == pe {
4797 goto _testEof387
4798 }
4799 stCase387:
4800 if 33 <= data[p] && data[p] <= 126 {
4801 goto st388
4802 }
4803 goto st0
4804 st388:
4805 if p++; p == pe {
4806 goto _testEof388
4807 }
4808 stCase388:
4809 if 33 <= data[p] && data[p] <= 126 {
4810 goto st389
4811 }
4812 goto st0
4813 st389:
4814 if p++; p == pe {
4815 goto _testEof389
4816 }
4817 stCase389:
4818 if 33 <= data[p] && data[p] <= 126 {
4819 goto st390
4820 }
4821 goto st0
4822 st390:
4823 if p++; p == pe {
4824 goto _testEof390
4825 }
4826 stCase390:
4827 if 33 <= data[p] && data[p] <= 126 {
4828 goto st391
4829 }
4830 goto st0
4831 st391:
4832 if p++; p == pe {
4833 goto _testEof391
4834 }
4835 stCase391:
4836 if 33 <= data[p] && data[p] <= 126 {
4837 goto st392
4838 }
4839 goto st0
4840 st392:
4841 if p++; p == pe {
4842 goto _testEof392
4843 }
4844 stCase392:
4845 if 33 <= data[p] && data[p] <= 126 {
4846 goto st393
4847 }
4848 goto st0
4849 st393:
4850 if p++; p == pe {
4851 goto _testEof393
4852 }
4853 stCase393:
4854 if 33 <= data[p] && data[p] <= 126 {
4855 goto st394
4856 }
4857 goto st0
4858 st394:
4859 if p++; p == pe {
4860 goto _testEof394
4861 }
4862 stCase394:
4863 if 33 <= data[p] && data[p] <= 126 {
4864 goto st395
4865 }
4866 goto st0
4867 st395:
4868 if p++; p == pe {
4869 goto _testEof395
4870 }
4871 stCase395:
4872 if 33 <= data[p] && data[p] <= 126 {
4873 goto st396
4874 }
4875 goto st0
4876 st396:
4877 if p++; p == pe {
4878 goto _testEof396
4879 }
4880 stCase396:
4881 if 33 <= data[p] && data[p] <= 126 {
4882 goto st397
4883 }
4884 goto st0
4885 st397:
4886 if p++; p == pe {
4887 goto _testEof397
4888 }
4889 stCase397:
4890 if 33 <= data[p] && data[p] <= 126 {
4891 goto st398
4892 }
4893 goto st0
4894 st398:
4895 if p++; p == pe {
4896 goto _testEof398
4897 }
4898 stCase398:
4899 if 33 <= data[p] && data[p] <= 126 {
4900 goto st399
4901 }
4902 goto st0
4903 st399:
4904 if p++; p == pe {
4905 goto _testEof399
4906 }
4907 stCase399:
4908 if 33 <= data[p] && data[p] <= 126 {
4909 goto st400
4910 }
4911 goto st0
4912 st400:
4913 if p++; p == pe {
4914 goto _testEof400
4915 }
4916 stCase400:
4917 if 33 <= data[p] && data[p] <= 126 {
4918 goto st401
4919 }
4920 goto st0
4921 st401:
4922 if p++; p == pe {
4923 goto _testEof401
4924 }
4925 stCase401:
4926 if 33 <= data[p] && data[p] <= 126 {
4927 goto st402
4928 }
4929 goto st0
4930 st402:
4931 if p++; p == pe {
4932 goto _testEof402
4933 }
4934 stCase402:
4935 if 33 <= data[p] && data[p] <= 126 {
4936 goto st403
4937 }
4938 goto st0
4939 st403:
4940 if p++; p == pe {
4941 goto _testEof403
4942 }
4943 stCase403:
4944 if 33 <= data[p] && data[p] <= 126 {
4945 goto st404
4946 }
4947 goto st0
4948 st404:
4949 if p++; p == pe {
4950 goto _testEof404
4951 }
4952 stCase404:
4953 if 33 <= data[p] && data[p] <= 126 {
4954 goto st405
4955 }
4956 goto st0
4957 st405:
4958 if p++; p == pe {
4959 goto _testEof405
4960 }
4961 stCase405:
4962 if 33 <= data[p] && data[p] <= 126 {
4963 goto st406
4964 }
4965 goto st0
4966 st406:
4967 if p++; p == pe {
4968 goto _testEof406
4969 }
4970 stCase406:
4971 if 33 <= data[p] && data[p] <= 126 {
4972 goto st407
4973 }
4974 goto st0
4975 st407:
4976 if p++; p == pe {
4977 goto _testEof407
4978 }
4979 stCase407:
4980 if 33 <= data[p] && data[p] <= 126 {
4981 goto st408
4982 }
4983 goto st0
4984 st408:
4985 if p++; p == pe {
4986 goto _testEof408
4987 }
4988 stCase408:
4989 if 33 <= data[p] && data[p] <= 126 {
4990 goto st409
4991 }
4992 goto st0
4993 st409:
4994 if p++; p == pe {
4995 goto _testEof409
4996 }
4997 stCase409:
4998 if 33 <= data[p] && data[p] <= 126 {
4999 goto st410
5000 }
5001 goto st0
5002 st410:
5003 if p++; p == pe {
5004 goto _testEof410
5005 }
5006 stCase410:
5007 if 33 <= data[p] && data[p] <= 126 {
5008 goto st411
5009 }
5010 goto st0
5011 st411:
5012 if p++; p == pe {
5013 goto _testEof411
5014 }
5015 stCase411:
5016 if 33 <= data[p] && data[p] <= 126 {
5017 goto st412
5018 }
5019 goto st0
5020 st412:
5021 if p++; p == pe {
5022 goto _testEof412
5023 }
5024 stCase412:
5025 if 33 <= data[p] && data[p] <= 126 {
5026 goto st413
5027 }
5028 goto st0
5029 st413:
5030 if p++; p == pe {
5031 goto _testEof413
5032 }
5033 stCase413:
5034 if 33 <= data[p] && data[p] <= 126 {
5035 goto st414
5036 }
5037 goto st0
5038 st414:
5039 if p++; p == pe {
5040 goto _testEof414
5041 }
5042 stCase414:
5043 if 33 <= data[p] && data[p] <= 126 {
5044 goto st415
5045 }
5046 goto st0
5047 st415:
5048 if p++; p == pe {
5049 goto _testEof415
5050 }
5051 stCase415:
5052 if 33 <= data[p] && data[p] <= 126 {
5053 goto st416
5054 }
5055 goto st0
5056 st416:
5057 if p++; p == pe {
5058 goto _testEof416
5059 }
5060 stCase416:
5061 if 33 <= data[p] && data[p] <= 126 {
5062 goto st417
5063 }
5064 goto st0
5065 st417:
5066 if p++; p == pe {
5067 goto _testEof417
5068 }
5069 stCase417:
5070 if 33 <= data[p] && data[p] <= 126 {
5071 goto st418
5072 }
5073 goto st0
5074 st418:
5075 if p++; p == pe {
5076 goto _testEof418
5077 }
5078 stCase418:
5079 if 33 <= data[p] && data[p] <= 126 {
5080 goto st419
5081 }
5082 goto st0
5083 st419:
5084 if p++; p == pe {
5085 goto _testEof419
5086 }
5087 stCase419:
5088 if 33 <= data[p] && data[p] <= 126 {
5089 goto st420
5090 }
5091 goto st0
5092 st420:
5093 if p++; p == pe {
5094 goto _testEof420
5095 }
5096 stCase420:
5097 if 33 <= data[p] && data[p] <= 126 {
5098 goto st421
5099 }
5100 goto st0
5101 st421:
5102 if p++; p == pe {
5103 goto _testEof421
5104 }
5105 stCase421:
5106 if 33 <= data[p] && data[p] <= 126 {
5107 goto st422
5108 }
5109 goto st0
5110 st422:
5111 if p++; p == pe {
5112 goto _testEof422
5113 }
5114 stCase422:
5115 if 33 <= data[p] && data[p] <= 126 {
5116 goto st423
5117 }
5118 goto st0
5119 st423:
5120 if p++; p == pe {
5121 goto _testEof423
5122 }
5123 stCase423:
5124 if 33 <= data[p] && data[p] <= 126 {
5125 goto st424
5126 }
5127 goto st0
5128 st424:
5129 if p++; p == pe {
5130 goto _testEof424
5131 }
5132 stCase424:
5133 if 33 <= data[p] && data[p] <= 126 {
5134 goto st425
5135 }
5136 goto st0
5137 st425:
5138 if p++; p == pe {
5139 goto _testEof425
5140 }
5141 stCase425:
5142 if 33 <= data[p] && data[p] <= 126 {
5143 goto st426
5144 }
5145 goto st0
5146 st426:
5147 if p++; p == pe {
5148 goto _testEof426
5149 }
5150 stCase426:
5151 if 33 <= data[p] && data[p] <= 126 {
5152 goto st427
5153 }
5154 goto st0
5155 st427:
5156 if p++; p == pe {
5157 goto _testEof427
5158 }
5159 stCase427:
5160 if 33 <= data[p] && data[p] <= 126 {
5161 goto st428
5162 }
5163 goto st0
5164 st428:
5165 if p++; p == pe {
5166 goto _testEof428
5167 }
5168 stCase428:
5169 if 33 <= data[p] && data[p] <= 126 {
5170 goto st429
5171 }
5172 goto st0
5173 st429:
5174 if p++; p == pe {
5175 goto _testEof429
5176 }
5177 stCase429:
5178 if 33 <= data[p] && data[p] <= 126 {
5179 goto st430
5180 }
5181 goto st0
5182 st430:
5183 if p++; p == pe {
5184 goto _testEof430
5185 }
5186 stCase430:
5187 if 33 <= data[p] && data[p] <= 126 {
5188 goto st431
5189 }
5190 goto st0
5191 st431:
5192 if p++; p == pe {
5193 goto _testEof431
5194 }
5195 stCase431:
5196 if 33 <= data[p] && data[p] <= 126 {
5197 goto st432
5198 }
5199 goto st0
5200 st432:
5201 if p++; p == pe {
5202 goto _testEof432
5203 }
5204 stCase432:
5205 if 33 <= data[p] && data[p] <= 126 {
5206 goto st433
5207 }
5208 goto st0
5209 st433:
5210 if p++; p == pe {
5211 goto _testEof433
5212 }
5213 stCase433:
5214 if 33 <= data[p] && data[p] <= 126 {
5215 goto st434
5216 }
5217 goto st0
5218 st434:
5219 if p++; p == pe {
5220 goto _testEof434
5221 }
5222 stCase434:
5223 if 33 <= data[p] && data[p] <= 126 {
5224 goto st435
5225 }
5226 goto st0
5227 st435:
5228 if p++; p == pe {
5229 goto _testEof435
5230 }
5231 stCase435:
5232 if 33 <= data[p] && data[p] <= 126 {
5233 goto st436
5234 }
5235 goto st0
5236 st436:
5237 if p++; p == pe {
5238 goto _testEof436
5239 }
5240 stCase436:
5241 if 33 <= data[p] && data[p] <= 126 {
5242 goto st437
5243 }
5244 goto st0
5245 st437:
5246 if p++; p == pe {
5247 goto _testEof437
5248 }
5249 stCase437:
5250 if 33 <= data[p] && data[p] <= 126 {
5251 goto st438
5252 }
5253 goto st0
5254 st438:
5255 if p++; p == pe {
5256 goto _testEof438
5257 }
5258 stCase438:
5259 if 33 <= data[p] && data[p] <= 126 {
5260 goto st439
5261 }
5262 goto st0
5263 st439:
5264 if p++; p == pe {
5265 goto _testEof439
5266 }
5267 stCase439:
5268 if 33 <= data[p] && data[p] <= 126 {
5269 goto st440
5270 }
5271 goto st0
5272 st440:
5273 if p++; p == pe {
5274 goto _testEof440
5275 }
5276 stCase440:
5277 if 33 <= data[p] && data[p] <= 126 {
5278 goto st441
5279 }
5280 goto st0
5281 st441:
5282 if p++; p == pe {
5283 goto _testEof441
5284 }
5285 stCase441:
5286 if 33 <= data[p] && data[p] <= 126 {
5287 goto st442
5288 }
5289 goto st0
5290 st442:
5291 if p++; p == pe {
5292 goto _testEof442
5293 }
5294 stCase442:
5295 if 33 <= data[p] && data[p] <= 126 {
5296 goto st443
5297 }
5298 goto st0
5299 st443:
5300 if p++; p == pe {
5301 goto _testEof443
5302 }
5303 stCase443:
5304 if 33 <= data[p] && data[p] <= 126 {
5305 goto st444
5306 }
5307 goto st0
5308 st444:
5309 if p++; p == pe {
5310 goto _testEof444
5311 }
5312 stCase444:
5313 if 33 <= data[p] && data[p] <= 126 {
5314 goto st445
5315 }
5316 goto st0
5317 st445:
5318 if p++; p == pe {
5319 goto _testEof445
5320 }
5321 stCase445:
5322 if 33 <= data[p] && data[p] <= 126 {
5323 goto st446
5324 }
5325 goto st0
5326 st446:
5327 if p++; p == pe {
5328 goto _testEof446
5329 }
5330 stCase446:
5331 if 33 <= data[p] && data[p] <= 126 {
5332 goto st447
5333 }
5334 goto st0
5335 st447:
5336 if p++; p == pe {
5337 goto _testEof447
5338 }
5339 stCase447:
5340 if 33 <= data[p] && data[p] <= 126 {
5341 goto st448
5342 }
5343 goto st0
5344 st448:
5345 if p++; p == pe {
5346 goto _testEof448
5347 }
5348 stCase448:
5349 if 33 <= data[p] && data[p] <= 126 {
5350 goto st449
5351 }
5352 goto st0
5353 st449:
5354 if p++; p == pe {
5355 goto _testEof449
5356 }
5357 stCase449:
5358 if 33 <= data[p] && data[p] <= 126 {
5359 goto st450
5360 }
5361 goto st0
5362 st450:
5363 if p++; p == pe {
5364 goto _testEof450
5365 }
5366 stCase450:
5367 if 33 <= data[p] && data[p] <= 126 {
5368 goto st451
5369 }
5370 goto st0
5371 st451:
5372 if p++; p == pe {
5373 goto _testEof451
5374 }
5375 stCase451:
5376 if 33 <= data[p] && data[p] <= 126 {
5377 goto st452
5378 }
5379 goto st0
5380 st452:
5381 if p++; p == pe {
5382 goto _testEof452
5383 }
5384 stCase452:
5385 if 33 <= data[p] && data[p] <= 126 {
5386 goto st453
5387 }
5388 goto st0
5389 st453:
5390 if p++; p == pe {
5391 goto _testEof453
5392 }
5393 stCase453:
5394 if 33 <= data[p] && data[p] <= 126 {
5395 goto st454
5396 }
5397 goto st0
5398 st454:
5399 if p++; p == pe {
5400 goto _testEof454
5401 }
5402 stCase454:
5403 if 33 <= data[p] && data[p] <= 126 {
5404 goto st455
5405 }
5406 goto st0
5407 st455:
5408 if p++; p == pe {
5409 goto _testEof455
5410 }
5411 stCase455:
5412 if 33 <= data[p] && data[p] <= 126 {
5413 goto st456
5414 }
5415 goto st0
5416 st456:
5417 if p++; p == pe {
5418 goto _testEof456
5419 }
5420 stCase456:
5421 if 33 <= data[p] && data[p] <= 126 {
5422 goto st457
5423 }
5424 goto st0
5425 st457:
5426 if p++; p == pe {
5427 goto _testEof457
5428 }
5429 stCase457:
5430 if 33 <= data[p] && data[p] <= 126 {
5431 goto st458
5432 }
5433 goto st0
5434 st458:
5435 if p++; p == pe {
5436 goto _testEof458
5437 }
5438 stCase458:
5439 if 33 <= data[p] && data[p] <= 126 {
5440 goto st459
5441 }
5442 goto st0
5443 st459:
5444 if p++; p == pe {
5445 goto _testEof459
5446 }
5447 stCase459:
5448 if 33 <= data[p] && data[p] <= 126 {
5449 goto st460
5450 }
5451 goto st0
5452 st460:
5453 if p++; p == pe {
5454 goto _testEof460
5455 }
5456 stCase460:
5457 if 33 <= data[p] && data[p] <= 126 {
5458 goto st461
5459 }
5460 goto st0
5461 st461:
5462 if p++; p == pe {
5463 goto _testEof461
5464 }
5465 stCase461:
5466 if 33 <= data[p] && data[p] <= 126 {
5467 goto st462
5468 }
5469 goto st0
5470 st462:
5471 if p++; p == pe {
5472 goto _testEof462
5473 }
5474 stCase462:
5475 if 33 <= data[p] && data[p] <= 126 {
5476 goto st463
5477 }
5478 goto st0
5479 st463:
5480 if p++; p == pe {
5481 goto _testEof463
5482 }
5483 stCase463:
5484 if 33 <= data[p] && data[p] <= 126 {
5485 goto st464
5486 }
5487 goto st0
5488 st464:
5489 if p++; p == pe {
5490 goto _testEof464
5491 }
5492 stCase464:
5493 if 33 <= data[p] && data[p] <= 126 {
5494 goto st465
5495 }
5496 goto st0
5497 st465:
5498 if p++; p == pe {
5499 goto _testEof465
5500 }
5501 stCase465:
5502 if 33 <= data[p] && data[p] <= 126 {
5503 goto st466
5504 }
5505 goto st0
5506 st466:
5507 if p++; p == pe {
5508 goto _testEof466
5509 }
5510 stCase466:
5511 if 33 <= data[p] && data[p] <= 126 {
5512 goto st467
5513 }
5514 goto st0
5515 st467:
5516 if p++; p == pe {
5517 goto _testEof467
5518 }
5519 stCase467:
5520 if 33 <= data[p] && data[p] <= 126 {
5521 goto st468
5522 }
5523 goto st0
5524 st468:
5525 if p++; p == pe {
5526 goto _testEof468
5527 }
5528 stCase468:
5529 if 33 <= data[p] && data[p] <= 126 {
5530 goto st469
5531 }
5532 goto st0
5533 st469:
5534 if p++; p == pe {
5535 goto _testEof469
5536 }
5537 stCase469:
5538 if 33 <= data[p] && data[p] <= 126 {
5539 goto st470
5540 }
5541 goto st0
5542 st470:
5543 if p++; p == pe {
5544 goto _testEof470
5545 }
5546 stCase470:
5547 if 33 <= data[p] && data[p] <= 126 {
5548 goto st471
5549 }
5550 goto st0
5551 st471:
5552 if p++; p == pe {
5553 goto _testEof471
5554 }
5555 stCase471:
5556 if 33 <= data[p] && data[p] <= 126 {
5557 goto st472
5558 }
5559 goto st0
5560 st472:
5561 if p++; p == pe {
5562 goto _testEof472
5563 }
5564 stCase472:
5565 if 33 <= data[p] && data[p] <= 126 {
5566 goto st473
5567 }
5568 goto st0
5569 st473:
5570 if p++; p == pe {
5571 goto _testEof473
5572 }
5573 stCase473:
5574 if 33 <= data[p] && data[p] <= 126 {
5575 goto st474
5576 }
5577 goto st0
5578 st474:
5579 if p++; p == pe {
5580 goto _testEof474
5581 }
5582 stCase474:
5583 if 33 <= data[p] && data[p] <= 126 {
5584 goto st475
5585 }
5586 goto st0
5587 st475:
5588 if p++; p == pe {
5589 goto _testEof475
5590 }
5591 stCase475:
5592 if 33 <= data[p] && data[p] <= 126 {
5593 goto st476
5594 }
5595 goto st0
5596 st476:
5597 if p++; p == pe {
5598 goto _testEof476
5599 }
5600 stCase476:
5601 if 33 <= data[p] && data[p] <= 126 {
5602 goto st477
5603 }
5604 goto st0
5605 st477:
5606 if p++; p == pe {
5607 goto _testEof477
5608 }
5609 stCase477:
5610 if 33 <= data[p] && data[p] <= 126 {
5611 goto st478
5612 }
5613 goto st0
5614 st478:
5615 if p++; p == pe {
5616 goto _testEof478
5617 }
5618 stCase478:
5619 if 33 <= data[p] && data[p] <= 126 {
5620 goto st479
5621 }
5622 goto st0
5623 st479:
5624 if p++; p == pe {
5625 goto _testEof479
5626 }
5627 stCase479:
5628 if 33 <= data[p] && data[p] <= 126 {
5629 goto st480
5630 }
5631 goto st0
5632 st480:
5633 if p++; p == pe {
5634 goto _testEof480
5635 }
5636 stCase480:
5637 if 33 <= data[p] && data[p] <= 126 {
5638 goto st481
5639 }
5640 goto st0
5641 st481:
5642 if p++; p == pe {
5643 goto _testEof481
5644 }
5645 stCase481:
5646 if 33 <= data[p] && data[p] <= 126 {
5647 goto st482
5648 }
5649 goto st0
5650 st482:
5651 if p++; p == pe {
5652 goto _testEof482
5653 }
5654 stCase482:
5655 if 33 <= data[p] && data[p] <= 126 {
5656 goto st483
5657 }
5658 goto st0
5659 st483:
5660 if p++; p == pe {
5661 goto _testEof483
5662 }
5663 stCase483:
5664 if 33 <= data[p] && data[p] <= 126 {
5665 goto st484
5666 }
5667 goto st0
5668 st484:
5669 if p++; p == pe {
5670 goto _testEof484
5671 }
5672 stCase484:
5673 if 33 <= data[p] && data[p] <= 126 {
5674 goto st485
5675 }
5676 goto st0
5677 st485:
5678 if p++; p == pe {
5679 goto _testEof485
5680 }
5681 stCase485:
5682 if 33 <= data[p] && data[p] <= 126 {
5683 goto st486
5684 }
5685 goto st0
5686 st486:
5687 if p++; p == pe {
5688 goto _testEof486
5689 }
5690 stCase486:
5691 if 33 <= data[p] && data[p] <= 126 {
5692 goto st487
5693 }
5694 goto st0
5695 st487:
5696 if p++; p == pe {
5697 goto _testEof487
5698 }
5699 stCase487:
5700 if 33 <= data[p] && data[p] <= 126 {
5701 goto st488
5702 }
5703 goto st0
5704 st488:
5705 if p++; p == pe {
5706 goto _testEof488
5707 }
5708 stCase488:
5709 if 33 <= data[p] && data[p] <= 126 {
5710 goto st489
5711 }
5712 goto st0
5713 st489:
5714 if p++; p == pe {
5715 goto _testEof489
5716 }
5717 stCase489:
5718 if 33 <= data[p] && data[p] <= 126 {
5719 goto st490
5720 }
5721 goto st0
5722 st490:
5723 if p++; p == pe {
5724 goto _testEof490
5725 }
5726 stCase490:
5727 if 33 <= data[p] && data[p] <= 126 {
5728 goto st491
5729 }
5730 goto st0
5731 st491:
5732 if p++; p == pe {
5733 goto _testEof491
5734 }
5735 stCase491:
5736 if 33 <= data[p] && data[p] <= 126 {
5737 goto st492
5738 }
5739 goto st0
5740 st492:
5741 if p++; p == pe {
5742 goto _testEof492
5743 }
5744 stCase492:
5745 goto st0
5746 stCase48:
5747 if 33 <= data[p] && data[p] <= 126 {
5748 goto tr44
5749 }
5750 goto st0
5751 tr44:
5752
5753 pb = p
5754
5755 goto st493
5756 st493:
5757 if p++; p == pe {
5758 goto _testEof493
5759 }
5760 stCase493:
5761 if 33 <= data[p] && data[p] <= 126 {
5762 goto st494
5763 }
5764 goto st0
5765 st494:
5766 if p++; p == pe {
5767 goto _testEof494
5768 }
5769 stCase494:
5770 if 33 <= data[p] && data[p] <= 126 {
5771 goto st495
5772 }
5773 goto st0
5774 st495:
5775 if p++; p == pe {
5776 goto _testEof495
5777 }
5778 stCase495:
5779 if 33 <= data[p] && data[p] <= 126 {
5780 goto st496
5781 }
5782 goto st0
5783 st496:
5784 if p++; p == pe {
5785 goto _testEof496
5786 }
5787 stCase496:
5788 if 33 <= data[p] && data[p] <= 126 {
5789 goto st497
5790 }
5791 goto st0
5792 st497:
5793 if p++; p == pe {
5794 goto _testEof497
5795 }
5796 stCase497:
5797 if 33 <= data[p] && data[p] <= 126 {
5798 goto st498
5799 }
5800 goto st0
5801 st498:
5802 if p++; p == pe {
5803 goto _testEof498
5804 }
5805 stCase498:
5806 if 33 <= data[p] && data[p] <= 126 {
5807 goto st499
5808 }
5809 goto st0
5810 st499:
5811 if p++; p == pe {
5812 goto _testEof499
5813 }
5814 stCase499:
5815 if 33 <= data[p] && data[p] <= 126 {
5816 goto st500
5817 }
5818 goto st0
5819 st500:
5820 if p++; p == pe {
5821 goto _testEof500
5822 }
5823 stCase500:
5824 if 33 <= data[p] && data[p] <= 126 {
5825 goto st501
5826 }
5827 goto st0
5828 st501:
5829 if p++; p == pe {
5830 goto _testEof501
5831 }
5832 stCase501:
5833 if 33 <= data[p] && data[p] <= 126 {
5834 goto st502
5835 }
5836 goto st0
5837 st502:
5838 if p++; p == pe {
5839 goto _testEof502
5840 }
5841 stCase502:
5842 if 33 <= data[p] && data[p] <= 126 {
5843 goto st503
5844 }
5845 goto st0
5846 st503:
5847 if p++; p == pe {
5848 goto _testEof503
5849 }
5850 stCase503:
5851 if 33 <= data[p] && data[p] <= 126 {
5852 goto st504
5853 }
5854 goto st0
5855 st504:
5856 if p++; p == pe {
5857 goto _testEof504
5858 }
5859 stCase504:
5860 if 33 <= data[p] && data[p] <= 126 {
5861 goto st505
5862 }
5863 goto st0
5864 st505:
5865 if p++; p == pe {
5866 goto _testEof505
5867 }
5868 stCase505:
5869 if 33 <= data[p] && data[p] <= 126 {
5870 goto st506
5871 }
5872 goto st0
5873 st506:
5874 if p++; p == pe {
5875 goto _testEof506
5876 }
5877 stCase506:
5878 if 33 <= data[p] && data[p] <= 126 {
5879 goto st507
5880 }
5881 goto st0
5882 st507:
5883 if p++; p == pe {
5884 goto _testEof507
5885 }
5886 stCase507:
5887 if 33 <= data[p] && data[p] <= 126 {
5888 goto st508
5889 }
5890 goto st0
5891 st508:
5892 if p++; p == pe {
5893 goto _testEof508
5894 }
5895 stCase508:
5896 if 33 <= data[p] && data[p] <= 126 {
5897 goto st509
5898 }
5899 goto st0
5900 st509:
5901 if p++; p == pe {
5902 goto _testEof509
5903 }
5904 stCase509:
5905 if 33 <= data[p] && data[p] <= 126 {
5906 goto st510
5907 }
5908 goto st0
5909 st510:
5910 if p++; p == pe {
5911 goto _testEof510
5912 }
5913 stCase510:
5914 if 33 <= data[p] && data[p] <= 126 {
5915 goto st511
5916 }
5917 goto st0
5918 st511:
5919 if p++; p == pe {
5920 goto _testEof511
5921 }
5922 stCase511:
5923 if 33 <= data[p] && data[p] <= 126 {
5924 goto st512
5925 }
5926 goto st0
5927 st512:
5928 if p++; p == pe {
5929 goto _testEof512
5930 }
5931 stCase512:
5932 if 33 <= data[p] && data[p] <= 126 {
5933 goto st513
5934 }
5935 goto st0
5936 st513:
5937 if p++; p == pe {
5938 goto _testEof513
5939 }
5940 stCase513:
5941 if 33 <= data[p] && data[p] <= 126 {
5942 goto st514
5943 }
5944 goto st0
5945 st514:
5946 if p++; p == pe {
5947 goto _testEof514
5948 }
5949 stCase514:
5950 if 33 <= data[p] && data[p] <= 126 {
5951 goto st515
5952 }
5953 goto st0
5954 st515:
5955 if p++; p == pe {
5956 goto _testEof515
5957 }
5958 stCase515:
5959 if 33 <= data[p] && data[p] <= 126 {
5960 goto st516
5961 }
5962 goto st0
5963 st516:
5964 if p++; p == pe {
5965 goto _testEof516
5966 }
5967 stCase516:
5968 if 33 <= data[p] && data[p] <= 126 {
5969 goto st517
5970 }
5971 goto st0
5972 st517:
5973 if p++; p == pe {
5974 goto _testEof517
5975 }
5976 stCase517:
5977 if 33 <= data[p] && data[p] <= 126 {
5978 goto st518
5979 }
5980 goto st0
5981 st518:
5982 if p++; p == pe {
5983 goto _testEof518
5984 }
5985 stCase518:
5986 if 33 <= data[p] && data[p] <= 126 {
5987 goto st519
5988 }
5989 goto st0
5990 st519:
5991 if p++; p == pe {
5992 goto _testEof519
5993 }
5994 stCase519:
5995 if 33 <= data[p] && data[p] <= 126 {
5996 goto st520
5997 }
5998 goto st0
5999 st520:
6000 if p++; p == pe {
6001 goto _testEof520
6002 }
6003 stCase520:
6004 if 33 <= data[p] && data[p] <= 126 {
6005 goto st521
6006 }
6007 goto st0
6008 st521:
6009 if p++; p == pe {
6010 goto _testEof521
6011 }
6012 stCase521:
6013 if 33 <= data[p] && data[p] <= 126 {
6014 goto st522
6015 }
6016 goto st0
6017 st522:
6018 if p++; p == pe {
6019 goto _testEof522
6020 }
6021 stCase522:
6022 if 33 <= data[p] && data[p] <= 126 {
6023 goto st523
6024 }
6025 goto st0
6026 st523:
6027 if p++; p == pe {
6028 goto _testEof523
6029 }
6030 stCase523:
6031 if 33 <= data[p] && data[p] <= 126 {
6032 goto st524
6033 }
6034 goto st0
6035 st524:
6036 if p++; p == pe {
6037 goto _testEof524
6038 }
6039 stCase524:
6040 goto st0
6041 stCase49:
6042 if data[p] == 33 {
6043 goto tr45
6044 }
6045 switch {
6046 case data[p] < 62:
6047 if 35 <= data[p] && data[p] <= 60 {
6048 goto tr45
6049 }
6050 case data[p] > 92:
6051 if 94 <= data[p] && data[p] <= 126 {
6052 goto tr45
6053 }
6054 default:
6055 goto tr45
6056 }
6057 goto st0
6058 tr45:
6059
6060 pb = p
6061
6062 goto st525
6063 st525:
6064 if p++; p == pe {
6065 goto _testEof525
6066 }
6067 stCase525:
6068 if data[p] == 33 {
6069 goto st526
6070 }
6071 switch {
6072 case data[p] < 62:
6073 if 35 <= data[p] && data[p] <= 60 {
6074 goto st526
6075 }
6076 case data[p] > 92:
6077 if 94 <= data[p] && data[p] <= 126 {
6078 goto st526
6079 }
6080 default:
6081 goto st526
6082 }
6083 goto st0
6084 st526:
6085 if p++; p == pe {
6086 goto _testEof526
6087 }
6088 stCase526:
6089 if data[p] == 33 {
6090 goto st527
6091 }
6092 switch {
6093 case data[p] < 62:
6094 if 35 <= data[p] && data[p] <= 60 {
6095 goto st527
6096 }
6097 case data[p] > 92:
6098 if 94 <= data[p] && data[p] <= 126 {
6099 goto st527
6100 }
6101 default:
6102 goto st527
6103 }
6104 goto st0
6105 st527:
6106 if p++; p == pe {
6107 goto _testEof527
6108 }
6109 stCase527:
6110 if data[p] == 33 {
6111 goto st528
6112 }
6113 switch {
6114 case data[p] < 62:
6115 if 35 <= data[p] && data[p] <= 60 {
6116 goto st528
6117 }
6118 case data[p] > 92:
6119 if 94 <= data[p] && data[p] <= 126 {
6120 goto st528
6121 }
6122 default:
6123 goto st528
6124 }
6125 goto st0
6126 st528:
6127 if p++; p == pe {
6128 goto _testEof528
6129 }
6130 stCase528:
6131 if data[p] == 33 {
6132 goto st529
6133 }
6134 switch {
6135 case data[p] < 62:
6136 if 35 <= data[p] && data[p] <= 60 {
6137 goto st529
6138 }
6139 case data[p] > 92:
6140 if 94 <= data[p] && data[p] <= 126 {
6141 goto st529
6142 }
6143 default:
6144 goto st529
6145 }
6146 goto st0
6147 st529:
6148 if p++; p == pe {
6149 goto _testEof529
6150 }
6151 stCase529:
6152 if data[p] == 33 {
6153 goto st530
6154 }
6155 switch {
6156 case data[p] < 62:
6157 if 35 <= data[p] && data[p] <= 60 {
6158 goto st530
6159 }
6160 case data[p] > 92:
6161 if 94 <= data[p] && data[p] <= 126 {
6162 goto st530
6163 }
6164 default:
6165 goto st530
6166 }
6167 goto st0
6168 st530:
6169 if p++; p == pe {
6170 goto _testEof530
6171 }
6172 stCase530:
6173 if data[p] == 33 {
6174 goto st531
6175 }
6176 switch {
6177 case data[p] < 62:
6178 if 35 <= data[p] && data[p] <= 60 {
6179 goto st531
6180 }
6181 case data[p] > 92:
6182 if 94 <= data[p] && data[p] <= 126 {
6183 goto st531
6184 }
6185 default:
6186 goto st531
6187 }
6188 goto st0
6189 st531:
6190 if p++; p == pe {
6191 goto _testEof531
6192 }
6193 stCase531:
6194 if data[p] == 33 {
6195 goto st532
6196 }
6197 switch {
6198 case data[p] < 62:
6199 if 35 <= data[p] && data[p] <= 60 {
6200 goto st532
6201 }
6202 case data[p] > 92:
6203 if 94 <= data[p] && data[p] <= 126 {
6204 goto st532
6205 }
6206 default:
6207 goto st532
6208 }
6209 goto st0
6210 st532:
6211 if p++; p == pe {
6212 goto _testEof532
6213 }
6214 stCase532:
6215 if data[p] == 33 {
6216 goto st533
6217 }
6218 switch {
6219 case data[p] < 62:
6220 if 35 <= data[p] && data[p] <= 60 {
6221 goto st533
6222 }
6223 case data[p] > 92:
6224 if 94 <= data[p] && data[p] <= 126 {
6225 goto st533
6226 }
6227 default:
6228 goto st533
6229 }
6230 goto st0
6231 st533:
6232 if p++; p == pe {
6233 goto _testEof533
6234 }
6235 stCase533:
6236 if data[p] == 33 {
6237 goto st534
6238 }
6239 switch {
6240 case data[p] < 62:
6241 if 35 <= data[p] && data[p] <= 60 {
6242 goto st534
6243 }
6244 case data[p] > 92:
6245 if 94 <= data[p] && data[p] <= 126 {
6246 goto st534
6247 }
6248 default:
6249 goto st534
6250 }
6251 goto st0
6252 st534:
6253 if p++; p == pe {
6254 goto _testEof534
6255 }
6256 stCase534:
6257 if data[p] == 33 {
6258 goto st535
6259 }
6260 switch {
6261 case data[p] < 62:
6262 if 35 <= data[p] && data[p] <= 60 {
6263 goto st535
6264 }
6265 case data[p] > 92:
6266 if 94 <= data[p] && data[p] <= 126 {
6267 goto st535
6268 }
6269 default:
6270 goto st535
6271 }
6272 goto st0
6273 st535:
6274 if p++; p == pe {
6275 goto _testEof535
6276 }
6277 stCase535:
6278 if data[p] == 33 {
6279 goto st536
6280 }
6281 switch {
6282 case data[p] < 62:
6283 if 35 <= data[p] && data[p] <= 60 {
6284 goto st536
6285 }
6286 case data[p] > 92:
6287 if 94 <= data[p] && data[p] <= 126 {
6288 goto st536
6289 }
6290 default:
6291 goto st536
6292 }
6293 goto st0
6294 st536:
6295 if p++; p == pe {
6296 goto _testEof536
6297 }
6298 stCase536:
6299 if data[p] == 33 {
6300 goto st537
6301 }
6302 switch {
6303 case data[p] < 62:
6304 if 35 <= data[p] && data[p] <= 60 {
6305 goto st537
6306 }
6307 case data[p] > 92:
6308 if 94 <= data[p] && data[p] <= 126 {
6309 goto st537
6310 }
6311 default:
6312 goto st537
6313 }
6314 goto st0
6315 st537:
6316 if p++; p == pe {
6317 goto _testEof537
6318 }
6319 stCase537:
6320 if data[p] == 33 {
6321 goto st538
6322 }
6323 switch {
6324 case data[p] < 62:
6325 if 35 <= data[p] && data[p] <= 60 {
6326 goto st538
6327 }
6328 case data[p] > 92:
6329 if 94 <= data[p] && data[p] <= 126 {
6330 goto st538
6331 }
6332 default:
6333 goto st538
6334 }
6335 goto st0
6336 st538:
6337 if p++; p == pe {
6338 goto _testEof538
6339 }
6340 stCase538:
6341 if data[p] == 33 {
6342 goto st539
6343 }
6344 switch {
6345 case data[p] < 62:
6346 if 35 <= data[p] && data[p] <= 60 {
6347 goto st539
6348 }
6349 case data[p] > 92:
6350 if 94 <= data[p] && data[p] <= 126 {
6351 goto st539
6352 }
6353 default:
6354 goto st539
6355 }
6356 goto st0
6357 st539:
6358 if p++; p == pe {
6359 goto _testEof539
6360 }
6361 stCase539:
6362 if data[p] == 33 {
6363 goto st540
6364 }
6365 switch {
6366 case data[p] < 62:
6367 if 35 <= data[p] && data[p] <= 60 {
6368 goto st540
6369 }
6370 case data[p] > 92:
6371 if 94 <= data[p] && data[p] <= 126 {
6372 goto st540
6373 }
6374 default:
6375 goto st540
6376 }
6377 goto st0
6378 st540:
6379 if p++; p == pe {
6380 goto _testEof540
6381 }
6382 stCase540:
6383 if data[p] == 33 {
6384 goto st541
6385 }
6386 switch {
6387 case data[p] < 62:
6388 if 35 <= data[p] && data[p] <= 60 {
6389 goto st541
6390 }
6391 case data[p] > 92:
6392 if 94 <= data[p] && data[p] <= 126 {
6393 goto st541
6394 }
6395 default:
6396 goto st541
6397 }
6398 goto st0
6399 st541:
6400 if p++; p == pe {
6401 goto _testEof541
6402 }
6403 stCase541:
6404 if data[p] == 33 {
6405 goto st542
6406 }
6407 switch {
6408 case data[p] < 62:
6409 if 35 <= data[p] && data[p] <= 60 {
6410 goto st542
6411 }
6412 case data[p] > 92:
6413 if 94 <= data[p] && data[p] <= 126 {
6414 goto st542
6415 }
6416 default:
6417 goto st542
6418 }
6419 goto st0
6420 st542:
6421 if p++; p == pe {
6422 goto _testEof542
6423 }
6424 stCase542:
6425 if data[p] == 33 {
6426 goto st543
6427 }
6428 switch {
6429 case data[p] < 62:
6430 if 35 <= data[p] && data[p] <= 60 {
6431 goto st543
6432 }
6433 case data[p] > 92:
6434 if 94 <= data[p] && data[p] <= 126 {
6435 goto st543
6436 }
6437 default:
6438 goto st543
6439 }
6440 goto st0
6441 st543:
6442 if p++; p == pe {
6443 goto _testEof543
6444 }
6445 stCase543:
6446 if data[p] == 33 {
6447 goto st544
6448 }
6449 switch {
6450 case data[p] < 62:
6451 if 35 <= data[p] && data[p] <= 60 {
6452 goto st544
6453 }
6454 case data[p] > 92:
6455 if 94 <= data[p] && data[p] <= 126 {
6456 goto st544
6457 }
6458 default:
6459 goto st544
6460 }
6461 goto st0
6462 st544:
6463 if p++; p == pe {
6464 goto _testEof544
6465 }
6466 stCase544:
6467 if data[p] == 33 {
6468 goto st545
6469 }
6470 switch {
6471 case data[p] < 62:
6472 if 35 <= data[p] && data[p] <= 60 {
6473 goto st545
6474 }
6475 case data[p] > 92:
6476 if 94 <= data[p] && data[p] <= 126 {
6477 goto st545
6478 }
6479 default:
6480 goto st545
6481 }
6482 goto st0
6483 st545:
6484 if p++; p == pe {
6485 goto _testEof545
6486 }
6487 stCase545:
6488 if data[p] == 33 {
6489 goto st546
6490 }
6491 switch {
6492 case data[p] < 62:
6493 if 35 <= data[p] && data[p] <= 60 {
6494 goto st546
6495 }
6496 case data[p] > 92:
6497 if 94 <= data[p] && data[p] <= 126 {
6498 goto st546
6499 }
6500 default:
6501 goto st546
6502 }
6503 goto st0
6504 st546:
6505 if p++; p == pe {
6506 goto _testEof546
6507 }
6508 stCase546:
6509 if data[p] == 33 {
6510 goto st547
6511 }
6512 switch {
6513 case data[p] < 62:
6514 if 35 <= data[p] && data[p] <= 60 {
6515 goto st547
6516 }
6517 case data[p] > 92:
6518 if 94 <= data[p] && data[p] <= 126 {
6519 goto st547
6520 }
6521 default:
6522 goto st547
6523 }
6524 goto st0
6525 st547:
6526 if p++; p == pe {
6527 goto _testEof547
6528 }
6529 stCase547:
6530 if data[p] == 33 {
6531 goto st548
6532 }
6533 switch {
6534 case data[p] < 62:
6535 if 35 <= data[p] && data[p] <= 60 {
6536 goto st548
6537 }
6538 case data[p] > 92:
6539 if 94 <= data[p] && data[p] <= 126 {
6540 goto st548
6541 }
6542 default:
6543 goto st548
6544 }
6545 goto st0
6546 st548:
6547 if p++; p == pe {
6548 goto _testEof548
6549 }
6550 stCase548:
6551 if data[p] == 33 {
6552 goto st549
6553 }
6554 switch {
6555 case data[p] < 62:
6556 if 35 <= data[p] && data[p] <= 60 {
6557 goto st549
6558 }
6559 case data[p] > 92:
6560 if 94 <= data[p] && data[p] <= 126 {
6561 goto st549
6562 }
6563 default:
6564 goto st549
6565 }
6566 goto st0
6567 st549:
6568 if p++; p == pe {
6569 goto _testEof549
6570 }
6571 stCase549:
6572 if data[p] == 33 {
6573 goto st550
6574 }
6575 switch {
6576 case data[p] < 62:
6577 if 35 <= data[p] && data[p] <= 60 {
6578 goto st550
6579 }
6580 case data[p] > 92:
6581 if 94 <= data[p] && data[p] <= 126 {
6582 goto st550
6583 }
6584 default:
6585 goto st550
6586 }
6587 goto st0
6588 st550:
6589 if p++; p == pe {
6590 goto _testEof550
6591 }
6592 stCase550:
6593 if data[p] == 33 {
6594 goto st551
6595 }
6596 switch {
6597 case data[p] < 62:
6598 if 35 <= data[p] && data[p] <= 60 {
6599 goto st551
6600 }
6601 case data[p] > 92:
6602 if 94 <= data[p] && data[p] <= 126 {
6603 goto st551
6604 }
6605 default:
6606 goto st551
6607 }
6608 goto st0
6609 st551:
6610 if p++; p == pe {
6611 goto _testEof551
6612 }
6613 stCase551:
6614 if data[p] == 33 {
6615 goto st552
6616 }
6617 switch {
6618 case data[p] < 62:
6619 if 35 <= data[p] && data[p] <= 60 {
6620 goto st552
6621 }
6622 case data[p] > 92:
6623 if 94 <= data[p] && data[p] <= 126 {
6624 goto st552
6625 }
6626 default:
6627 goto st552
6628 }
6629 goto st0
6630 st552:
6631 if p++; p == pe {
6632 goto _testEof552
6633 }
6634 stCase552:
6635 if data[p] == 33 {
6636 goto st553
6637 }
6638 switch {
6639 case data[p] < 62:
6640 if 35 <= data[p] && data[p] <= 60 {
6641 goto st553
6642 }
6643 case data[p] > 92:
6644 if 94 <= data[p] && data[p] <= 126 {
6645 goto st553
6646 }
6647 default:
6648 goto st553
6649 }
6650 goto st0
6651 st553:
6652 if p++; p == pe {
6653 goto _testEof553
6654 }
6655 stCase553:
6656 if data[p] == 33 {
6657 goto st554
6658 }
6659 switch {
6660 case data[p] < 62:
6661 if 35 <= data[p] && data[p] <= 60 {
6662 goto st554
6663 }
6664 case data[p] > 92:
6665 if 94 <= data[p] && data[p] <= 126 {
6666 goto st554
6667 }
6668 default:
6669 goto st554
6670 }
6671 goto st0
6672 st554:
6673 if p++; p == pe {
6674 goto _testEof554
6675 }
6676 stCase554:
6677 if data[p] == 33 {
6678 goto st555
6679 }
6680 switch {
6681 case data[p] < 62:
6682 if 35 <= data[p] && data[p] <= 60 {
6683 goto st555
6684 }
6685 case data[p] > 92:
6686 if 94 <= data[p] && data[p] <= 126 {
6687 goto st555
6688 }
6689 default:
6690 goto st555
6691 }
6692 goto st0
6693 st555:
6694 if p++; p == pe {
6695 goto _testEof555
6696 }
6697 stCase555:
6698 if data[p] == 33 {
6699 goto st556
6700 }
6701 switch {
6702 case data[p] < 62:
6703 if 35 <= data[p] && data[p] <= 60 {
6704 goto st556
6705 }
6706 case data[p] > 92:
6707 if 94 <= data[p] && data[p] <= 126 {
6708 goto st556
6709 }
6710 default:
6711 goto st556
6712 }
6713 goto st0
6714 st556:
6715 if p++; p == pe {
6716 goto _testEof556
6717 }
6718 stCase556:
6719 goto st0
6720 stCase50:
6721 if data[p] == 33 {
6722 goto tr46
6723 }
6724 switch {
6725 case data[p] < 62:
6726 if 35 <= data[p] && data[p] <= 60 {
6727 goto tr46
6728 }
6729 case data[p] > 92:
6730 if 94 <= data[p] && data[p] <= 126 {
6731 goto tr46
6732 }
6733 default:
6734 goto tr46
6735 }
6736 goto st0
6737 tr46:
6738
6739 pb = p
6740
6741 goto st557
6742 st557:
6743 if p++; p == pe {
6744 goto _testEof557
6745 }
6746 stCase557:
6747 if data[p] == 33 {
6748 goto st558
6749 }
6750 switch {
6751 case data[p] < 62:
6752 if 35 <= data[p] && data[p] <= 60 {
6753 goto st558
6754 }
6755 case data[p] > 92:
6756 if 94 <= data[p] && data[p] <= 126 {
6757 goto st558
6758 }
6759 default:
6760 goto st558
6761 }
6762 goto st0
6763 st558:
6764 if p++; p == pe {
6765 goto _testEof558
6766 }
6767 stCase558:
6768 if data[p] == 33 {
6769 goto st559
6770 }
6771 switch {
6772 case data[p] < 62:
6773 if 35 <= data[p] && data[p] <= 60 {
6774 goto st559
6775 }
6776 case data[p] > 92:
6777 if 94 <= data[p] && data[p] <= 126 {
6778 goto st559
6779 }
6780 default:
6781 goto st559
6782 }
6783 goto st0
6784 st559:
6785 if p++; p == pe {
6786 goto _testEof559
6787 }
6788 stCase559:
6789 if data[p] == 33 {
6790 goto st560
6791 }
6792 switch {
6793 case data[p] < 62:
6794 if 35 <= data[p] && data[p] <= 60 {
6795 goto st560
6796 }
6797 case data[p] > 92:
6798 if 94 <= data[p] && data[p] <= 126 {
6799 goto st560
6800 }
6801 default:
6802 goto st560
6803 }
6804 goto st0
6805 st560:
6806 if p++; p == pe {
6807 goto _testEof560
6808 }
6809 stCase560:
6810 if data[p] == 33 {
6811 goto st561
6812 }
6813 switch {
6814 case data[p] < 62:
6815 if 35 <= data[p] && data[p] <= 60 {
6816 goto st561
6817 }
6818 case data[p] > 92:
6819 if 94 <= data[p] && data[p] <= 126 {
6820 goto st561
6821 }
6822 default:
6823 goto st561
6824 }
6825 goto st0
6826 st561:
6827 if p++; p == pe {
6828 goto _testEof561
6829 }
6830 stCase561:
6831 if data[p] == 33 {
6832 goto st562
6833 }
6834 switch {
6835 case data[p] < 62:
6836 if 35 <= data[p] && data[p] <= 60 {
6837 goto st562
6838 }
6839 case data[p] > 92:
6840 if 94 <= data[p] && data[p] <= 126 {
6841 goto st562
6842 }
6843 default:
6844 goto st562
6845 }
6846 goto st0
6847 st562:
6848 if p++; p == pe {
6849 goto _testEof562
6850 }
6851 stCase562:
6852 if data[p] == 33 {
6853 goto st563
6854 }
6855 switch {
6856 case data[p] < 62:
6857 if 35 <= data[p] && data[p] <= 60 {
6858 goto st563
6859 }
6860 case data[p] > 92:
6861 if 94 <= data[p] && data[p] <= 126 {
6862 goto st563
6863 }
6864 default:
6865 goto st563
6866 }
6867 goto st0
6868 st563:
6869 if p++; p == pe {
6870 goto _testEof563
6871 }
6872 stCase563:
6873 if data[p] == 33 {
6874 goto st564
6875 }
6876 switch {
6877 case data[p] < 62:
6878 if 35 <= data[p] && data[p] <= 60 {
6879 goto st564
6880 }
6881 case data[p] > 92:
6882 if 94 <= data[p] && data[p] <= 126 {
6883 goto st564
6884 }
6885 default:
6886 goto st564
6887 }
6888 goto st0
6889 st564:
6890 if p++; p == pe {
6891 goto _testEof564
6892 }
6893 stCase564:
6894 if data[p] == 33 {
6895 goto st565
6896 }
6897 switch {
6898 case data[p] < 62:
6899 if 35 <= data[p] && data[p] <= 60 {
6900 goto st565
6901 }
6902 case data[p] > 92:
6903 if 94 <= data[p] && data[p] <= 126 {
6904 goto st565
6905 }
6906 default:
6907 goto st565
6908 }
6909 goto st0
6910 st565:
6911 if p++; p == pe {
6912 goto _testEof565
6913 }
6914 stCase565:
6915 if data[p] == 33 {
6916 goto st566
6917 }
6918 switch {
6919 case data[p] < 62:
6920 if 35 <= data[p] && data[p] <= 60 {
6921 goto st566
6922 }
6923 case data[p] > 92:
6924 if 94 <= data[p] && data[p] <= 126 {
6925 goto st566
6926 }
6927 default:
6928 goto st566
6929 }
6930 goto st0
6931 st566:
6932 if p++; p == pe {
6933 goto _testEof566
6934 }
6935 stCase566:
6936 if data[p] == 33 {
6937 goto st567
6938 }
6939 switch {
6940 case data[p] < 62:
6941 if 35 <= data[p] && data[p] <= 60 {
6942 goto st567
6943 }
6944 case data[p] > 92:
6945 if 94 <= data[p] && data[p] <= 126 {
6946 goto st567
6947 }
6948 default:
6949 goto st567
6950 }
6951 goto st0
6952 st567:
6953 if p++; p == pe {
6954 goto _testEof567
6955 }
6956 stCase567:
6957 if data[p] == 33 {
6958 goto st568
6959 }
6960 switch {
6961 case data[p] < 62:
6962 if 35 <= data[p] && data[p] <= 60 {
6963 goto st568
6964 }
6965 case data[p] > 92:
6966 if 94 <= data[p] && data[p] <= 126 {
6967 goto st568
6968 }
6969 default:
6970 goto st568
6971 }
6972 goto st0
6973 st568:
6974 if p++; p == pe {
6975 goto _testEof568
6976 }
6977 stCase568:
6978 if data[p] == 33 {
6979 goto st569
6980 }
6981 switch {
6982 case data[p] < 62:
6983 if 35 <= data[p] && data[p] <= 60 {
6984 goto st569
6985 }
6986 case data[p] > 92:
6987 if 94 <= data[p] && data[p] <= 126 {
6988 goto st569
6989 }
6990 default:
6991 goto st569
6992 }
6993 goto st0
6994 st569:
6995 if p++; p == pe {
6996 goto _testEof569
6997 }
6998 stCase569:
6999 if data[p] == 33 {
7000 goto st570
7001 }
7002 switch {
7003 case data[p] < 62:
7004 if 35 <= data[p] && data[p] <= 60 {
7005 goto st570
7006 }
7007 case data[p] > 92:
7008 if 94 <= data[p] && data[p] <= 126 {
7009 goto st570
7010 }
7011 default:
7012 goto st570
7013 }
7014 goto st0
7015 st570:
7016 if p++; p == pe {
7017 goto _testEof570
7018 }
7019 stCase570:
7020 if data[p] == 33 {
7021 goto st571
7022 }
7023 switch {
7024 case data[p] < 62:
7025 if 35 <= data[p] && data[p] <= 60 {
7026 goto st571
7027 }
7028 case data[p] > 92:
7029 if 94 <= data[p] && data[p] <= 126 {
7030 goto st571
7031 }
7032 default:
7033 goto st571
7034 }
7035 goto st0
7036 st571:
7037 if p++; p == pe {
7038 goto _testEof571
7039 }
7040 stCase571:
7041 if data[p] == 33 {
7042 goto st572
7043 }
7044 switch {
7045 case data[p] < 62:
7046 if 35 <= data[p] && data[p] <= 60 {
7047 goto st572
7048 }
7049 case data[p] > 92:
7050 if 94 <= data[p] && data[p] <= 126 {
7051 goto st572
7052 }
7053 default:
7054 goto st572
7055 }
7056 goto st0
7057 st572:
7058 if p++; p == pe {
7059 goto _testEof572
7060 }
7061 stCase572:
7062 if data[p] == 33 {
7063 goto st573
7064 }
7065 switch {
7066 case data[p] < 62:
7067 if 35 <= data[p] && data[p] <= 60 {
7068 goto st573
7069 }
7070 case data[p] > 92:
7071 if 94 <= data[p] && data[p] <= 126 {
7072 goto st573
7073 }
7074 default:
7075 goto st573
7076 }
7077 goto st0
7078 st573:
7079 if p++; p == pe {
7080 goto _testEof573
7081 }
7082 stCase573:
7083 if data[p] == 33 {
7084 goto st574
7085 }
7086 switch {
7087 case data[p] < 62:
7088 if 35 <= data[p] && data[p] <= 60 {
7089 goto st574
7090 }
7091 case data[p] > 92:
7092 if 94 <= data[p] && data[p] <= 126 {
7093 goto st574
7094 }
7095 default:
7096 goto st574
7097 }
7098 goto st0
7099 st574:
7100 if p++; p == pe {
7101 goto _testEof574
7102 }
7103 stCase574:
7104 if data[p] == 33 {
7105 goto st575
7106 }
7107 switch {
7108 case data[p] < 62:
7109 if 35 <= data[p] && data[p] <= 60 {
7110 goto st575
7111 }
7112 case data[p] > 92:
7113 if 94 <= data[p] && data[p] <= 126 {
7114 goto st575
7115 }
7116 default:
7117 goto st575
7118 }
7119 goto st0
7120 st575:
7121 if p++; p == pe {
7122 goto _testEof575
7123 }
7124 stCase575:
7125 if data[p] == 33 {
7126 goto st576
7127 }
7128 switch {
7129 case data[p] < 62:
7130 if 35 <= data[p] && data[p] <= 60 {
7131 goto st576
7132 }
7133 case data[p] > 92:
7134 if 94 <= data[p] && data[p] <= 126 {
7135 goto st576
7136 }
7137 default:
7138 goto st576
7139 }
7140 goto st0
7141 st576:
7142 if p++; p == pe {
7143 goto _testEof576
7144 }
7145 stCase576:
7146 if data[p] == 33 {
7147 goto st577
7148 }
7149 switch {
7150 case data[p] < 62:
7151 if 35 <= data[p] && data[p] <= 60 {
7152 goto st577
7153 }
7154 case data[p] > 92:
7155 if 94 <= data[p] && data[p] <= 126 {
7156 goto st577
7157 }
7158 default:
7159 goto st577
7160 }
7161 goto st0
7162 st577:
7163 if p++; p == pe {
7164 goto _testEof577
7165 }
7166 stCase577:
7167 if data[p] == 33 {
7168 goto st578
7169 }
7170 switch {
7171 case data[p] < 62:
7172 if 35 <= data[p] && data[p] <= 60 {
7173 goto st578
7174 }
7175 case data[p] > 92:
7176 if 94 <= data[p] && data[p] <= 126 {
7177 goto st578
7178 }
7179 default:
7180 goto st578
7181 }
7182 goto st0
7183 st578:
7184 if p++; p == pe {
7185 goto _testEof578
7186 }
7187 stCase578:
7188 if data[p] == 33 {
7189 goto st579
7190 }
7191 switch {
7192 case data[p] < 62:
7193 if 35 <= data[p] && data[p] <= 60 {
7194 goto st579
7195 }
7196 case data[p] > 92:
7197 if 94 <= data[p] && data[p] <= 126 {
7198 goto st579
7199 }
7200 default:
7201 goto st579
7202 }
7203 goto st0
7204 st579:
7205 if p++; p == pe {
7206 goto _testEof579
7207 }
7208 stCase579:
7209 if data[p] == 33 {
7210 goto st580
7211 }
7212 switch {
7213 case data[p] < 62:
7214 if 35 <= data[p] && data[p] <= 60 {
7215 goto st580
7216 }
7217 case data[p] > 92:
7218 if 94 <= data[p] && data[p] <= 126 {
7219 goto st580
7220 }
7221 default:
7222 goto st580
7223 }
7224 goto st0
7225 st580:
7226 if p++; p == pe {
7227 goto _testEof580
7228 }
7229 stCase580:
7230 if data[p] == 33 {
7231 goto st581
7232 }
7233 switch {
7234 case data[p] < 62:
7235 if 35 <= data[p] && data[p] <= 60 {
7236 goto st581
7237 }
7238 case data[p] > 92:
7239 if 94 <= data[p] && data[p] <= 126 {
7240 goto st581
7241 }
7242 default:
7243 goto st581
7244 }
7245 goto st0
7246 st581:
7247 if p++; p == pe {
7248 goto _testEof581
7249 }
7250 stCase581:
7251 if data[p] == 33 {
7252 goto st582
7253 }
7254 switch {
7255 case data[p] < 62:
7256 if 35 <= data[p] && data[p] <= 60 {
7257 goto st582
7258 }
7259 case data[p] > 92:
7260 if 94 <= data[p] && data[p] <= 126 {
7261 goto st582
7262 }
7263 default:
7264 goto st582
7265 }
7266 goto st0
7267 st582:
7268 if p++; p == pe {
7269 goto _testEof582
7270 }
7271 stCase582:
7272 if data[p] == 33 {
7273 goto st583
7274 }
7275 switch {
7276 case data[p] < 62:
7277 if 35 <= data[p] && data[p] <= 60 {
7278 goto st583
7279 }
7280 case data[p] > 92:
7281 if 94 <= data[p] && data[p] <= 126 {
7282 goto st583
7283 }
7284 default:
7285 goto st583
7286 }
7287 goto st0
7288 st583:
7289 if p++; p == pe {
7290 goto _testEof583
7291 }
7292 stCase583:
7293 if data[p] == 33 {
7294 goto st584
7295 }
7296 switch {
7297 case data[p] < 62:
7298 if 35 <= data[p] && data[p] <= 60 {
7299 goto st584
7300 }
7301 case data[p] > 92:
7302 if 94 <= data[p] && data[p] <= 126 {
7303 goto st584
7304 }
7305 default:
7306 goto st584
7307 }
7308 goto st0
7309 st584:
7310 if p++; p == pe {
7311 goto _testEof584
7312 }
7313 stCase584:
7314 if data[p] == 33 {
7315 goto st585
7316 }
7317 switch {
7318 case data[p] < 62:
7319 if 35 <= data[p] && data[p] <= 60 {
7320 goto st585
7321 }
7322 case data[p] > 92:
7323 if 94 <= data[p] && data[p] <= 126 {
7324 goto st585
7325 }
7326 default:
7327 goto st585
7328 }
7329 goto st0
7330 st585:
7331 if p++; p == pe {
7332 goto _testEof585
7333 }
7334 stCase585:
7335 if data[p] == 33 {
7336 goto st586
7337 }
7338 switch {
7339 case data[p] < 62:
7340 if 35 <= data[p] && data[p] <= 60 {
7341 goto st586
7342 }
7343 case data[p] > 92:
7344 if 94 <= data[p] && data[p] <= 126 {
7345 goto st586
7346 }
7347 default:
7348 goto st586
7349 }
7350 goto st0
7351 st586:
7352 if p++; p == pe {
7353 goto _testEof586
7354 }
7355 stCase586:
7356 if data[p] == 33 {
7357 goto st587
7358 }
7359 switch {
7360 case data[p] < 62:
7361 if 35 <= data[p] && data[p] <= 60 {
7362 goto st587
7363 }
7364 case data[p] > 92:
7365 if 94 <= data[p] && data[p] <= 126 {
7366 goto st587
7367 }
7368 default:
7369 goto st587
7370 }
7371 goto st0
7372 st587:
7373 if p++; p == pe {
7374 goto _testEof587
7375 }
7376 stCase587:
7377 if data[p] == 33 {
7378 goto st588
7379 }
7380 switch {
7381 case data[p] < 62:
7382 if 35 <= data[p] && data[p] <= 60 {
7383 goto st588
7384 }
7385 case data[p] > 92:
7386 if 94 <= data[p] && data[p] <= 126 {
7387 goto st588
7388 }
7389 default:
7390 goto st588
7391 }
7392 goto st0
7393 st588:
7394 if p++; p == pe {
7395 goto _testEof588
7396 }
7397 stCase588:
7398 goto st0
7399 stCase589:
7400 switch data[p] {
7401 case 34:
7402 goto st0
7403 case 92:
7404 goto tr585
7405 case 93:
7406 goto st0
7407 case 224:
7408 goto tr587
7409 case 237:
7410 goto tr589
7411 case 240:
7412 goto tr590
7413 case 244:
7414 goto tr592
7415 }
7416 switch {
7417 case data[p] < 225:
7418 switch {
7419 case data[p] > 193:
7420 if 194 <= data[p] && data[p] <= 223 {
7421 goto tr586
7422 }
7423 case data[p] >= 128:
7424 goto st0
7425 }
7426 case data[p] > 239:
7427 switch {
7428 case data[p] > 243:
7429 if 245 <= data[p] {
7430 goto st0
7431 }
7432 case data[p] >= 241:
7433 goto tr591
7434 }
7435 default:
7436 goto tr588
7437 }
7438 goto tr584
7439 tr584:
7440
7441 pb = p
7442
7443 goto st590
7444 st590:
7445 if p++; p == pe {
7446 goto _testEof590
7447 }
7448 stCase590:
7449 switch data[p] {
7450 case 34:
7451 goto st0
7452 case 92:
7453 goto tr593
7454 case 93:
7455 goto st0
7456 case 224:
7457 goto st53
7458 case 237:
7459 goto st55
7460 case 240:
7461 goto st56
7462 case 244:
7463 goto st58
7464 }
7465 switch {
7466 case data[p] < 225:
7467 switch {
7468 case data[p] > 193:
7469 if 194 <= data[p] && data[p] <= 223 {
7470 goto st52
7471 }
7472 case data[p] >= 128:
7473 goto st0
7474 }
7475 case data[p] > 239:
7476 switch {
7477 case data[p] > 243:
7478 if 245 <= data[p] {
7479 goto st0
7480 }
7481 case data[p] >= 241:
7482 goto st57
7483 }
7484 default:
7485 goto st54
7486 }
7487 goto st590
7488 tr585:
7489
7490 pb = p
7491
7492 backslashes = append(backslashes, p)
7493
7494 goto st51
7495 tr593:
7496
7497 backslashes = append(backslashes, p)
7498
7499 goto st51
7500 st51:
7501 if p++; p == pe {
7502 goto _testEof51
7503 }
7504 stCase51:
7505 if data[p] == 34 {
7506 goto st590
7507 }
7508 if 92 <= data[p] && data[p] <= 93 {
7509 goto st590
7510 }
7511 goto st0
7512 tr586:
7513
7514 pb = p
7515
7516 goto st52
7517 st52:
7518 if p++; p == pe {
7519 goto _testEof52
7520 }
7521 stCase52:
7522 if 128 <= data[p] && data[p] <= 191 {
7523 goto st590
7524 }
7525 goto st0
7526 tr587:
7527
7528 pb = p
7529
7530 goto st53
7531 st53:
7532 if p++; p == pe {
7533 goto _testEof53
7534 }
7535 stCase53:
7536 if 160 <= data[p] && data[p] <= 191 {
7537 goto st52
7538 }
7539 goto st0
7540 tr588:
7541
7542 pb = p
7543
7544 goto st54
7545 st54:
7546 if p++; p == pe {
7547 goto _testEof54
7548 }
7549 stCase54:
7550 if 128 <= data[p] && data[p] <= 191 {
7551 goto st52
7552 }
7553 goto st0
7554 tr589:
7555
7556 pb = p
7557
7558 goto st55
7559 st55:
7560 if p++; p == pe {
7561 goto _testEof55
7562 }
7563 stCase55:
7564 if 128 <= data[p] && data[p] <= 159 {
7565 goto st52
7566 }
7567 goto st0
7568 tr590:
7569
7570 pb = p
7571
7572 goto st56
7573 st56:
7574 if p++; p == pe {
7575 goto _testEof56
7576 }
7577 stCase56:
7578 if 144 <= data[p] && data[p] <= 191 {
7579 goto st54
7580 }
7581 goto st0
7582 tr591:
7583
7584 pb = p
7585
7586 goto st57
7587 st57:
7588 if p++; p == pe {
7589 goto _testEof57
7590 }
7591 stCase57:
7592 if 128 <= data[p] && data[p] <= 191 {
7593 goto st54
7594 }
7595 goto st0
7596 tr592:
7597
7598 pb = p
7599
7600 goto st58
7601 st58:
7602 if p++; p == pe {
7603 goto _testEof58
7604 }
7605 stCase58:
7606 if 128 <= data[p] && data[p] <= 143 {
7607 goto st54
7608 }
7609 goto st0
7610 stOut:
7611 _testEof60:
7612 cs = 60
7613 goto _testEof
7614 _testEof1:
7615 cs = 1
7616 goto _testEof
7617 _testEof2:
7618 cs = 2
7619 goto _testEof
7620 _testEof3:
7621 cs = 3
7622 goto _testEof
7623 _testEof4:
7624 cs = 4
7625 goto _testEof
7626 _testEof5:
7627 cs = 5
7628 goto _testEof
7629 _testEof6:
7630 cs = 6
7631 goto _testEof
7632 _testEof7:
7633 cs = 7
7634 goto _testEof
7635 _testEof9:
7636 cs = 9
7637 goto _testEof
7638 _testEof10:
7639 cs = 10
7640 goto _testEof
7641 _testEof11:
7642 cs = 11
7643 goto _testEof
7644 _testEof12:
7645 cs = 12
7646 goto _testEof
7647 _testEof13:
7648 cs = 13
7649 goto _testEof
7650 _testEof14:
7651 cs = 14
7652 goto _testEof
7653 _testEof15:
7654 cs = 15
7655 goto _testEof
7656 _testEof16:
7657 cs = 16
7658 goto _testEof
7659 _testEof17:
7660 cs = 17
7661 goto _testEof
7662 _testEof18:
7663 cs = 18
7664 goto _testEof
7665 _testEof19:
7666 cs = 19
7667 goto _testEof
7668 _testEof20:
7669 cs = 20
7670 goto _testEof
7671 _testEof21:
7672 cs = 21
7673 goto _testEof
7674 _testEof22:
7675 cs = 22
7676 goto _testEof
7677 _testEof23:
7678 cs = 23
7679 goto _testEof
7680 _testEof24:
7681 cs = 24
7682 goto _testEof
7683 _testEof25:
7684 cs = 25
7685 goto _testEof
7686 _testEof26:
7687 cs = 26
7688 goto _testEof
7689 _testEof27:
7690 cs = 27
7691 goto _testEof
7692 _testEof28:
7693 cs = 28
7694 goto _testEof
7695 _testEof29:
7696 cs = 29
7697 goto _testEof
7698 _testEof30:
7699 cs = 30
7700 goto _testEof
7701 _testEof31:
7702 cs = 31
7703 goto _testEof
7704 _testEof32:
7705 cs = 32
7706 goto _testEof
7707 _testEof61:
7708 cs = 61
7709 goto _testEof
7710 _testEof33:
7711 cs = 33
7712 goto _testEof
7713 _testEof34:
7714 cs = 34
7715 goto _testEof
7716 _testEof35:
7717 cs = 35
7718 goto _testEof
7719 _testEof36:
7720 cs = 36
7721 goto _testEof
7722 _testEof37:
7723 cs = 37
7724 goto _testEof
7725 _testEof38:
7726 cs = 38
7727 goto _testEof
7728 _testEof39:
7729 cs = 39
7730 goto _testEof
7731 _testEof40:
7732 cs = 40
7733 goto _testEof
7734 _testEof41:
7735 cs = 41
7736 goto _testEof
7737 _testEof42:
7738 cs = 42
7739 goto _testEof
7740 _testEof43:
7741 cs = 43
7742 goto _testEof
7743 _testEof44:
7744 cs = 44
7745 goto _testEof
7746 _testEof62:
7747 cs = 62
7748 goto _testEof
7749 _testEof63:
7750 cs = 63
7751 goto _testEof
7752 _testEof64:
7753 cs = 64
7754 goto _testEof
7755 _testEof65:
7756 cs = 65
7757 goto _testEof
7758 _testEof66:
7759 cs = 66
7760 goto _testEof
7761 _testEof67:
7762 cs = 67
7763 goto _testEof
7764 _testEof68:
7765 cs = 68
7766 goto _testEof
7767 _testEof69:
7768 cs = 69
7769 goto _testEof
7770 _testEof70:
7771 cs = 70
7772 goto _testEof
7773 _testEof71:
7774 cs = 71
7775 goto _testEof
7776 _testEof72:
7777 cs = 72
7778 goto _testEof
7779 _testEof73:
7780 cs = 73
7781 goto _testEof
7782 _testEof74:
7783 cs = 74
7784 goto _testEof
7785 _testEof75:
7786 cs = 75
7787 goto _testEof
7788 _testEof76:
7789 cs = 76
7790 goto _testEof
7791 _testEof77:
7792 cs = 77
7793 goto _testEof
7794 _testEof78:
7795 cs = 78
7796 goto _testEof
7797 _testEof79:
7798 cs = 79
7799 goto _testEof
7800 _testEof80:
7801 cs = 80
7802 goto _testEof
7803 _testEof81:
7804 cs = 81
7805 goto _testEof
7806 _testEof82:
7807 cs = 82
7808 goto _testEof
7809 _testEof83:
7810 cs = 83
7811 goto _testEof
7812 _testEof84:
7813 cs = 84
7814 goto _testEof
7815 _testEof85:
7816 cs = 85
7817 goto _testEof
7818 _testEof86:
7819 cs = 86
7820 goto _testEof
7821 _testEof87:
7822 cs = 87
7823 goto _testEof
7824 _testEof88:
7825 cs = 88
7826 goto _testEof
7827 _testEof89:
7828 cs = 89
7829 goto _testEof
7830 _testEof90:
7831 cs = 90
7832 goto _testEof
7833 _testEof91:
7834 cs = 91
7835 goto _testEof
7836 _testEof92:
7837 cs = 92
7838 goto _testEof
7839 _testEof93:
7840 cs = 93
7841 goto _testEof
7842 _testEof94:
7843 cs = 94
7844 goto _testEof
7845 _testEof95:
7846 cs = 95
7847 goto _testEof
7848 _testEof96:
7849 cs = 96
7850 goto _testEof
7851 _testEof97:
7852 cs = 97
7853 goto _testEof
7854 _testEof98:
7855 cs = 98
7856 goto _testEof
7857 _testEof99:
7858 cs = 99
7859 goto _testEof
7860 _testEof100:
7861 cs = 100
7862 goto _testEof
7863 _testEof101:
7864 cs = 101
7865 goto _testEof
7866 _testEof102:
7867 cs = 102
7868 goto _testEof
7869 _testEof103:
7870 cs = 103
7871 goto _testEof
7872 _testEof104:
7873 cs = 104
7874 goto _testEof
7875 _testEof105:
7876 cs = 105
7877 goto _testEof
7878 _testEof106:
7879 cs = 106
7880 goto _testEof
7881 _testEof107:
7882 cs = 107
7883 goto _testEof
7884 _testEof108:
7885 cs = 108
7886 goto _testEof
7887 _testEof109:
7888 cs = 109
7889 goto _testEof
7890 _testEof110:
7891 cs = 110
7892 goto _testEof
7893 _testEof111:
7894 cs = 111
7895 goto _testEof
7896 _testEof112:
7897 cs = 112
7898 goto _testEof
7899 _testEof113:
7900 cs = 113
7901 goto _testEof
7902 _testEof114:
7903 cs = 114
7904 goto _testEof
7905 _testEof115:
7906 cs = 115
7907 goto _testEof
7908 _testEof116:
7909 cs = 116
7910 goto _testEof
7911 _testEof117:
7912 cs = 117
7913 goto _testEof
7914 _testEof118:
7915 cs = 118
7916 goto _testEof
7917 _testEof119:
7918 cs = 119
7919 goto _testEof
7920 _testEof120:
7921 cs = 120
7922 goto _testEof
7923 _testEof121:
7924 cs = 121
7925 goto _testEof
7926 _testEof122:
7927 cs = 122
7928 goto _testEof
7929 _testEof123:
7930 cs = 123
7931 goto _testEof
7932 _testEof124:
7933 cs = 124
7934 goto _testEof
7935 _testEof125:
7936 cs = 125
7937 goto _testEof
7938 _testEof126:
7939 cs = 126
7940 goto _testEof
7941 _testEof127:
7942 cs = 127
7943 goto _testEof
7944 _testEof128:
7945 cs = 128
7946 goto _testEof
7947 _testEof129:
7948 cs = 129
7949 goto _testEof
7950 _testEof130:
7951 cs = 130
7952 goto _testEof
7953 _testEof131:
7954 cs = 131
7955 goto _testEof
7956 _testEof132:
7957 cs = 132
7958 goto _testEof
7959 _testEof133:
7960 cs = 133
7961 goto _testEof
7962 _testEof134:
7963 cs = 134
7964 goto _testEof
7965 _testEof135:
7966 cs = 135
7967 goto _testEof
7968 _testEof136:
7969 cs = 136
7970 goto _testEof
7971 _testEof137:
7972 cs = 137
7973 goto _testEof
7974 _testEof138:
7975 cs = 138
7976 goto _testEof
7977 _testEof139:
7978 cs = 139
7979 goto _testEof
7980 _testEof140:
7981 cs = 140
7982 goto _testEof
7983 _testEof141:
7984 cs = 141
7985 goto _testEof
7986 _testEof142:
7987 cs = 142
7988 goto _testEof
7989 _testEof143:
7990 cs = 143
7991 goto _testEof
7992 _testEof144:
7993 cs = 144
7994 goto _testEof
7995 _testEof145:
7996 cs = 145
7997 goto _testEof
7998 _testEof146:
7999 cs = 146
8000 goto _testEof
8001 _testEof147:
8002 cs = 147
8003 goto _testEof
8004 _testEof148:
8005 cs = 148
8006 goto _testEof
8007 _testEof149:
8008 cs = 149
8009 goto _testEof
8010 _testEof150:
8011 cs = 150
8012 goto _testEof
8013 _testEof151:
8014 cs = 151
8015 goto _testEof
8016 _testEof152:
8017 cs = 152
8018 goto _testEof
8019 _testEof153:
8020 cs = 153
8021 goto _testEof
8022 _testEof154:
8023 cs = 154
8024 goto _testEof
8025 _testEof155:
8026 cs = 155
8027 goto _testEof
8028 _testEof156:
8029 cs = 156
8030 goto _testEof
8031 _testEof157:
8032 cs = 157
8033 goto _testEof
8034 _testEof158:
8035 cs = 158
8036 goto _testEof
8037 _testEof159:
8038 cs = 159
8039 goto _testEof
8040 _testEof160:
8041 cs = 160
8042 goto _testEof
8043 _testEof161:
8044 cs = 161
8045 goto _testEof
8046 _testEof162:
8047 cs = 162
8048 goto _testEof
8049 _testEof163:
8050 cs = 163
8051 goto _testEof
8052 _testEof164:
8053 cs = 164
8054 goto _testEof
8055 _testEof165:
8056 cs = 165
8057 goto _testEof
8058 _testEof166:
8059 cs = 166
8060 goto _testEof
8061 _testEof167:
8062 cs = 167
8063 goto _testEof
8064 _testEof168:
8065 cs = 168
8066 goto _testEof
8067 _testEof169:
8068 cs = 169
8069 goto _testEof
8070 _testEof170:
8071 cs = 170
8072 goto _testEof
8073 _testEof171:
8074 cs = 171
8075 goto _testEof
8076 _testEof172:
8077 cs = 172
8078 goto _testEof
8079 _testEof173:
8080 cs = 173
8081 goto _testEof
8082 _testEof174:
8083 cs = 174
8084 goto _testEof
8085 _testEof175:
8086 cs = 175
8087 goto _testEof
8088 _testEof176:
8089 cs = 176
8090 goto _testEof
8091 _testEof177:
8092 cs = 177
8093 goto _testEof
8094 _testEof178:
8095 cs = 178
8096 goto _testEof
8097 _testEof179:
8098 cs = 179
8099 goto _testEof
8100 _testEof180:
8101 cs = 180
8102 goto _testEof
8103 _testEof181:
8104 cs = 181
8105 goto _testEof
8106 _testEof182:
8107 cs = 182
8108 goto _testEof
8109 _testEof183:
8110 cs = 183
8111 goto _testEof
8112 _testEof184:
8113 cs = 184
8114 goto _testEof
8115 _testEof185:
8116 cs = 185
8117 goto _testEof
8118 _testEof186:
8119 cs = 186
8120 goto _testEof
8121 _testEof187:
8122 cs = 187
8123 goto _testEof
8124 _testEof188:
8125 cs = 188
8126 goto _testEof
8127 _testEof189:
8128 cs = 189
8129 goto _testEof
8130 _testEof190:
8131 cs = 190
8132 goto _testEof
8133 _testEof191:
8134 cs = 191
8135 goto _testEof
8136 _testEof192:
8137 cs = 192
8138 goto _testEof
8139 _testEof193:
8140 cs = 193
8141 goto _testEof
8142 _testEof194:
8143 cs = 194
8144 goto _testEof
8145 _testEof195:
8146 cs = 195
8147 goto _testEof
8148 _testEof196:
8149 cs = 196
8150 goto _testEof
8151 _testEof197:
8152 cs = 197
8153 goto _testEof
8154 _testEof198:
8155 cs = 198
8156 goto _testEof
8157 _testEof199:
8158 cs = 199
8159 goto _testEof
8160 _testEof200:
8161 cs = 200
8162 goto _testEof
8163 _testEof201:
8164 cs = 201
8165 goto _testEof
8166 _testEof202:
8167 cs = 202
8168 goto _testEof
8169 _testEof203:
8170 cs = 203
8171 goto _testEof
8172 _testEof204:
8173 cs = 204
8174 goto _testEof
8175 _testEof205:
8176 cs = 205
8177 goto _testEof
8178 _testEof206:
8179 cs = 206
8180 goto _testEof
8181 _testEof207:
8182 cs = 207
8183 goto _testEof
8184 _testEof208:
8185 cs = 208
8186 goto _testEof
8187 _testEof209:
8188 cs = 209
8189 goto _testEof
8190 _testEof210:
8191 cs = 210
8192 goto _testEof
8193 _testEof211:
8194 cs = 211
8195 goto _testEof
8196 _testEof212:
8197 cs = 212
8198 goto _testEof
8199 _testEof213:
8200 cs = 213
8201 goto _testEof
8202 _testEof214:
8203 cs = 214
8204 goto _testEof
8205 _testEof215:
8206 cs = 215
8207 goto _testEof
8208 _testEof216:
8209 cs = 216
8210 goto _testEof
8211 _testEof217:
8212 cs = 217
8213 goto _testEof
8214 _testEof218:
8215 cs = 218
8216 goto _testEof
8217 _testEof219:
8218 cs = 219
8219 goto _testEof
8220 _testEof220:
8221 cs = 220
8222 goto _testEof
8223 _testEof221:
8224 cs = 221
8225 goto _testEof
8226 _testEof222:
8227 cs = 222
8228 goto _testEof
8229 _testEof223:
8230 cs = 223
8231 goto _testEof
8232 _testEof224:
8233 cs = 224
8234 goto _testEof
8235 _testEof225:
8236 cs = 225
8237 goto _testEof
8238 _testEof226:
8239 cs = 226
8240 goto _testEof
8241 _testEof227:
8242 cs = 227
8243 goto _testEof
8244 _testEof228:
8245 cs = 228
8246 goto _testEof
8247 _testEof229:
8248 cs = 229
8249 goto _testEof
8250 _testEof230:
8251 cs = 230
8252 goto _testEof
8253 _testEof231:
8254 cs = 231
8255 goto _testEof
8256 _testEof232:
8257 cs = 232
8258 goto _testEof
8259 _testEof233:
8260 cs = 233
8261 goto _testEof
8262 _testEof234:
8263 cs = 234
8264 goto _testEof
8265 _testEof235:
8266 cs = 235
8267 goto _testEof
8268 _testEof236:
8269 cs = 236
8270 goto _testEof
8271 _testEof237:
8272 cs = 237
8273 goto _testEof
8274 _testEof238:
8275 cs = 238
8276 goto _testEof
8277 _testEof239:
8278 cs = 239
8279 goto _testEof
8280 _testEof240:
8281 cs = 240
8282 goto _testEof
8283 _testEof241:
8284 cs = 241
8285 goto _testEof
8286 _testEof242:
8287 cs = 242
8288 goto _testEof
8289 _testEof243:
8290 cs = 243
8291 goto _testEof
8292 _testEof244:
8293 cs = 244
8294 goto _testEof
8295 _testEof245:
8296 cs = 245
8297 goto _testEof
8298 _testEof246:
8299 cs = 246
8300 goto _testEof
8301 _testEof247:
8302 cs = 247
8303 goto _testEof
8304 _testEof248:
8305 cs = 248
8306 goto _testEof
8307 _testEof249:
8308 cs = 249
8309 goto _testEof
8310 _testEof250:
8311 cs = 250
8312 goto _testEof
8313 _testEof251:
8314 cs = 251
8315 goto _testEof
8316 _testEof252:
8317 cs = 252
8318 goto _testEof
8319 _testEof253:
8320 cs = 253
8321 goto _testEof
8322 _testEof254:
8323 cs = 254
8324 goto _testEof
8325 _testEof255:
8326 cs = 255
8327 goto _testEof
8328 _testEof256:
8329 cs = 256
8330 goto _testEof
8331 _testEof257:
8332 cs = 257
8333 goto _testEof
8334 _testEof258:
8335 cs = 258
8336 goto _testEof
8337 _testEof259:
8338 cs = 259
8339 goto _testEof
8340 _testEof260:
8341 cs = 260
8342 goto _testEof
8343 _testEof261:
8344 cs = 261
8345 goto _testEof
8346 _testEof262:
8347 cs = 262
8348 goto _testEof
8349 _testEof263:
8350 cs = 263
8351 goto _testEof
8352 _testEof264:
8353 cs = 264
8354 goto _testEof
8355 _testEof265:
8356 cs = 265
8357 goto _testEof
8358 _testEof266:
8359 cs = 266
8360 goto _testEof
8361 _testEof267:
8362 cs = 267
8363 goto _testEof
8364 _testEof268:
8365 cs = 268
8366 goto _testEof
8367 _testEof269:
8368 cs = 269
8369 goto _testEof
8370 _testEof270:
8371 cs = 270
8372 goto _testEof
8373 _testEof271:
8374 cs = 271
8375 goto _testEof
8376 _testEof272:
8377 cs = 272
8378 goto _testEof
8379 _testEof273:
8380 cs = 273
8381 goto _testEof
8382 _testEof274:
8383 cs = 274
8384 goto _testEof
8385 _testEof275:
8386 cs = 275
8387 goto _testEof
8388 _testEof276:
8389 cs = 276
8390 goto _testEof
8391 _testEof277:
8392 cs = 277
8393 goto _testEof
8394 _testEof278:
8395 cs = 278
8396 goto _testEof
8397 _testEof279:
8398 cs = 279
8399 goto _testEof
8400 _testEof280:
8401 cs = 280
8402 goto _testEof
8403 _testEof281:
8404 cs = 281
8405 goto _testEof
8406 _testEof282:
8407 cs = 282
8408 goto _testEof
8409 _testEof283:
8410 cs = 283
8411 goto _testEof
8412 _testEof284:
8413 cs = 284
8414 goto _testEof
8415 _testEof285:
8416 cs = 285
8417 goto _testEof
8418 _testEof286:
8419 cs = 286
8420 goto _testEof
8421 _testEof287:
8422 cs = 287
8423 goto _testEof
8424 _testEof288:
8425 cs = 288
8426 goto _testEof
8427 _testEof289:
8428 cs = 289
8429 goto _testEof
8430 _testEof290:
8431 cs = 290
8432 goto _testEof
8433 _testEof291:
8434 cs = 291
8435 goto _testEof
8436 _testEof292:
8437 cs = 292
8438 goto _testEof
8439 _testEof293:
8440 cs = 293
8441 goto _testEof
8442 _testEof294:
8443 cs = 294
8444 goto _testEof
8445 _testEof295:
8446 cs = 295
8447 goto _testEof
8448 _testEof296:
8449 cs = 296
8450 goto _testEof
8451 _testEof297:
8452 cs = 297
8453 goto _testEof
8454 _testEof298:
8455 cs = 298
8456 goto _testEof
8457 _testEof299:
8458 cs = 299
8459 goto _testEof
8460 _testEof300:
8461 cs = 300
8462 goto _testEof
8463 _testEof301:
8464 cs = 301
8465 goto _testEof
8466 _testEof302:
8467 cs = 302
8468 goto _testEof
8469 _testEof303:
8470 cs = 303
8471 goto _testEof
8472 _testEof304:
8473 cs = 304
8474 goto _testEof
8475 _testEof305:
8476 cs = 305
8477 goto _testEof
8478 _testEof306:
8479 cs = 306
8480 goto _testEof
8481 _testEof307:
8482 cs = 307
8483 goto _testEof
8484 _testEof308:
8485 cs = 308
8486 goto _testEof
8487 _testEof309:
8488 cs = 309
8489 goto _testEof
8490 _testEof310:
8491 cs = 310
8492 goto _testEof
8493 _testEof311:
8494 cs = 311
8495 goto _testEof
8496 _testEof312:
8497 cs = 312
8498 goto _testEof
8499 _testEof313:
8500 cs = 313
8501 goto _testEof
8502 _testEof314:
8503 cs = 314
8504 goto _testEof
8505 _testEof315:
8506 cs = 315
8507 goto _testEof
8508 _testEof316:
8509 cs = 316
8510 goto _testEof
8511 _testEof317:
8512 cs = 317
8513 goto _testEof
8514 _testEof318:
8515 cs = 318
8516 goto _testEof
8517 _testEof319:
8518 cs = 319
8519 goto _testEof
8520 _testEof320:
8521 cs = 320
8522 goto _testEof
8523 _testEof321:
8524 cs = 321
8525 goto _testEof
8526 _testEof322:
8527 cs = 322
8528 goto _testEof
8529 _testEof323:
8530 cs = 323
8531 goto _testEof
8532 _testEof324:
8533 cs = 324
8534 goto _testEof
8535 _testEof325:
8536 cs = 325
8537 goto _testEof
8538 _testEof326:
8539 cs = 326
8540 goto _testEof
8541 _testEof327:
8542 cs = 327
8543 goto _testEof
8544 _testEof328:
8545 cs = 328
8546 goto _testEof
8547 _testEof329:
8548 cs = 329
8549 goto _testEof
8550 _testEof330:
8551 cs = 330
8552 goto _testEof
8553 _testEof331:
8554 cs = 331
8555 goto _testEof
8556 _testEof332:
8557 cs = 332
8558 goto _testEof
8559 _testEof333:
8560 cs = 333
8561 goto _testEof
8562 _testEof334:
8563 cs = 334
8564 goto _testEof
8565 _testEof335:
8566 cs = 335
8567 goto _testEof
8568 _testEof336:
8569 cs = 336
8570 goto _testEof
8571 _testEof337:
8572 cs = 337
8573 goto _testEof
8574 _testEof338:
8575 cs = 338
8576 goto _testEof
8577 _testEof339:
8578 cs = 339
8579 goto _testEof
8580 _testEof340:
8581 cs = 340
8582 goto _testEof
8583 _testEof341:
8584 cs = 341
8585 goto _testEof
8586 _testEof342:
8587 cs = 342
8588 goto _testEof
8589 _testEof343:
8590 cs = 343
8591 goto _testEof
8592 _testEof344:
8593 cs = 344
8594 goto _testEof
8595 _testEof345:
8596 cs = 345
8597 goto _testEof
8598 _testEof346:
8599 cs = 346
8600 goto _testEof
8601 _testEof347:
8602 cs = 347
8603 goto _testEof
8604 _testEof348:
8605 cs = 348
8606 goto _testEof
8607 _testEof349:
8608 cs = 349
8609 goto _testEof
8610 _testEof350:
8611 cs = 350
8612 goto _testEof
8613 _testEof351:
8614 cs = 351
8615 goto _testEof
8616 _testEof352:
8617 cs = 352
8618 goto _testEof
8619 _testEof353:
8620 cs = 353
8621 goto _testEof
8622 _testEof354:
8623 cs = 354
8624 goto _testEof
8625 _testEof355:
8626 cs = 355
8627 goto _testEof
8628 _testEof356:
8629 cs = 356
8630 goto _testEof
8631 _testEof357:
8632 cs = 357
8633 goto _testEof
8634 _testEof358:
8635 cs = 358
8636 goto _testEof
8637 _testEof359:
8638 cs = 359
8639 goto _testEof
8640 _testEof360:
8641 cs = 360
8642 goto _testEof
8643 _testEof361:
8644 cs = 361
8645 goto _testEof
8646 _testEof362:
8647 cs = 362
8648 goto _testEof
8649 _testEof363:
8650 cs = 363
8651 goto _testEof
8652 _testEof364:
8653 cs = 364
8654 goto _testEof
8655 _testEof365:
8656 cs = 365
8657 goto _testEof
8658 _testEof366:
8659 cs = 366
8660 goto _testEof
8661 _testEof367:
8662 cs = 367
8663 goto _testEof
8664 _testEof368:
8665 cs = 368
8666 goto _testEof
8667 _testEof369:
8668 cs = 369
8669 goto _testEof
8670 _testEof370:
8671 cs = 370
8672 goto _testEof
8673 _testEof371:
8674 cs = 371
8675 goto _testEof
8676 _testEof372:
8677 cs = 372
8678 goto _testEof
8679 _testEof373:
8680 cs = 373
8681 goto _testEof
8682 _testEof374:
8683 cs = 374
8684 goto _testEof
8685 _testEof375:
8686 cs = 375
8687 goto _testEof
8688 _testEof376:
8689 cs = 376
8690 goto _testEof
8691 _testEof377:
8692 cs = 377
8693 goto _testEof
8694 _testEof378:
8695 cs = 378
8696 goto _testEof
8697 _testEof379:
8698 cs = 379
8699 goto _testEof
8700 _testEof380:
8701 cs = 380
8702 goto _testEof
8703 _testEof381:
8704 cs = 381
8705 goto _testEof
8706 _testEof382:
8707 cs = 382
8708 goto _testEof
8709 _testEof383:
8710 cs = 383
8711 goto _testEof
8712 _testEof384:
8713 cs = 384
8714 goto _testEof
8715 _testEof385:
8716 cs = 385
8717 goto _testEof
8718 _testEof386:
8719 cs = 386
8720 goto _testEof
8721 _testEof387:
8722 cs = 387
8723 goto _testEof
8724 _testEof388:
8725 cs = 388
8726 goto _testEof
8727 _testEof389:
8728 cs = 389
8729 goto _testEof
8730 _testEof390:
8731 cs = 390
8732 goto _testEof
8733 _testEof391:
8734 cs = 391
8735 goto _testEof
8736 _testEof392:
8737 cs = 392
8738 goto _testEof
8739 _testEof393:
8740 cs = 393
8741 goto _testEof
8742 _testEof394:
8743 cs = 394
8744 goto _testEof
8745 _testEof395:
8746 cs = 395
8747 goto _testEof
8748 _testEof396:
8749 cs = 396
8750 goto _testEof
8751 _testEof397:
8752 cs = 397
8753 goto _testEof
8754 _testEof398:
8755 cs = 398
8756 goto _testEof
8757 _testEof399:
8758 cs = 399
8759 goto _testEof
8760 _testEof400:
8761 cs = 400
8762 goto _testEof
8763 _testEof401:
8764 cs = 401
8765 goto _testEof
8766 _testEof402:
8767 cs = 402
8768 goto _testEof
8769 _testEof403:
8770 cs = 403
8771 goto _testEof
8772 _testEof404:
8773 cs = 404
8774 goto _testEof
8775 _testEof405:
8776 cs = 405
8777 goto _testEof
8778 _testEof406:
8779 cs = 406
8780 goto _testEof
8781 _testEof407:
8782 cs = 407
8783 goto _testEof
8784 _testEof408:
8785 cs = 408
8786 goto _testEof
8787 _testEof409:
8788 cs = 409
8789 goto _testEof
8790 _testEof410:
8791 cs = 410
8792 goto _testEof
8793 _testEof411:
8794 cs = 411
8795 goto _testEof
8796 _testEof412:
8797 cs = 412
8798 goto _testEof
8799 _testEof413:
8800 cs = 413
8801 goto _testEof
8802 _testEof414:
8803 cs = 414
8804 goto _testEof
8805 _testEof415:
8806 cs = 415
8807 goto _testEof
8808 _testEof416:
8809 cs = 416
8810 goto _testEof
8811 _testEof417:
8812 cs = 417
8813 goto _testEof
8814 _testEof418:
8815 cs = 418
8816 goto _testEof
8817 _testEof419:
8818 cs = 419
8819 goto _testEof
8820 _testEof420:
8821 cs = 420
8822 goto _testEof
8823 _testEof421:
8824 cs = 421
8825 goto _testEof
8826 _testEof422:
8827 cs = 422
8828 goto _testEof
8829 _testEof423:
8830 cs = 423
8831 goto _testEof
8832 _testEof424:
8833 cs = 424
8834 goto _testEof
8835 _testEof425:
8836 cs = 425
8837 goto _testEof
8838 _testEof426:
8839 cs = 426
8840 goto _testEof
8841 _testEof427:
8842 cs = 427
8843 goto _testEof
8844 _testEof428:
8845 cs = 428
8846 goto _testEof
8847 _testEof429:
8848 cs = 429
8849 goto _testEof
8850 _testEof430:
8851 cs = 430
8852 goto _testEof
8853 _testEof431:
8854 cs = 431
8855 goto _testEof
8856 _testEof432:
8857 cs = 432
8858 goto _testEof
8859 _testEof433:
8860 cs = 433
8861 goto _testEof
8862 _testEof434:
8863 cs = 434
8864 goto _testEof
8865 _testEof435:
8866 cs = 435
8867 goto _testEof
8868 _testEof436:
8869 cs = 436
8870 goto _testEof
8871 _testEof437:
8872 cs = 437
8873 goto _testEof
8874 _testEof438:
8875 cs = 438
8876 goto _testEof
8877 _testEof439:
8878 cs = 439
8879 goto _testEof
8880 _testEof440:
8881 cs = 440
8882 goto _testEof
8883 _testEof441:
8884 cs = 441
8885 goto _testEof
8886 _testEof442:
8887 cs = 442
8888 goto _testEof
8889 _testEof443:
8890 cs = 443
8891 goto _testEof
8892 _testEof444:
8893 cs = 444
8894 goto _testEof
8895 _testEof445:
8896 cs = 445
8897 goto _testEof
8898 _testEof446:
8899 cs = 446
8900 goto _testEof
8901 _testEof447:
8902 cs = 447
8903 goto _testEof
8904 _testEof448:
8905 cs = 448
8906 goto _testEof
8907 _testEof449:
8908 cs = 449
8909 goto _testEof
8910 _testEof450:
8911 cs = 450
8912 goto _testEof
8913 _testEof451:
8914 cs = 451
8915 goto _testEof
8916 _testEof452:
8917 cs = 452
8918 goto _testEof
8919 _testEof453:
8920 cs = 453
8921 goto _testEof
8922 _testEof454:
8923 cs = 454
8924 goto _testEof
8925 _testEof455:
8926 cs = 455
8927 goto _testEof
8928 _testEof456:
8929 cs = 456
8930 goto _testEof
8931 _testEof457:
8932 cs = 457
8933 goto _testEof
8934 _testEof458:
8935 cs = 458
8936 goto _testEof
8937 _testEof459:
8938 cs = 459
8939 goto _testEof
8940 _testEof460:
8941 cs = 460
8942 goto _testEof
8943 _testEof461:
8944 cs = 461
8945 goto _testEof
8946 _testEof462:
8947 cs = 462
8948 goto _testEof
8949 _testEof463:
8950 cs = 463
8951 goto _testEof
8952 _testEof464:
8953 cs = 464
8954 goto _testEof
8955 _testEof465:
8956 cs = 465
8957 goto _testEof
8958 _testEof466:
8959 cs = 466
8960 goto _testEof
8961 _testEof467:
8962 cs = 467
8963 goto _testEof
8964 _testEof468:
8965 cs = 468
8966 goto _testEof
8967 _testEof469:
8968 cs = 469
8969 goto _testEof
8970 _testEof470:
8971 cs = 470
8972 goto _testEof
8973 _testEof471:
8974 cs = 471
8975 goto _testEof
8976 _testEof472:
8977 cs = 472
8978 goto _testEof
8979 _testEof473:
8980 cs = 473
8981 goto _testEof
8982 _testEof474:
8983 cs = 474
8984 goto _testEof
8985 _testEof475:
8986 cs = 475
8987 goto _testEof
8988 _testEof476:
8989 cs = 476
8990 goto _testEof
8991 _testEof477:
8992 cs = 477
8993 goto _testEof
8994 _testEof478:
8995 cs = 478
8996 goto _testEof
8997 _testEof479:
8998 cs = 479
8999 goto _testEof
9000 _testEof480:
9001 cs = 480
9002 goto _testEof
9003 _testEof481:
9004 cs = 481
9005 goto _testEof
9006 _testEof482:
9007 cs = 482
9008 goto _testEof
9009 _testEof483:
9010 cs = 483
9011 goto _testEof
9012 _testEof484:
9013 cs = 484
9014 goto _testEof
9015 _testEof485:
9016 cs = 485
9017 goto _testEof
9018 _testEof486:
9019 cs = 486
9020 goto _testEof
9021 _testEof487:
9022 cs = 487
9023 goto _testEof
9024 _testEof488:
9025 cs = 488
9026 goto _testEof
9027 _testEof489:
9028 cs = 489
9029 goto _testEof
9030 _testEof490:
9031 cs = 490
9032 goto _testEof
9033 _testEof491:
9034 cs = 491
9035 goto _testEof
9036 _testEof492:
9037 cs = 492
9038 goto _testEof
9039 _testEof493:
9040 cs = 493
9041 goto _testEof
9042 _testEof494:
9043 cs = 494
9044 goto _testEof
9045 _testEof495:
9046 cs = 495
9047 goto _testEof
9048 _testEof496:
9049 cs = 496
9050 goto _testEof
9051 _testEof497:
9052 cs = 497
9053 goto _testEof
9054 _testEof498:
9055 cs = 498
9056 goto _testEof
9057 _testEof499:
9058 cs = 499
9059 goto _testEof
9060 _testEof500:
9061 cs = 500
9062 goto _testEof
9063 _testEof501:
9064 cs = 501
9065 goto _testEof
9066 _testEof502:
9067 cs = 502
9068 goto _testEof
9069 _testEof503:
9070 cs = 503
9071 goto _testEof
9072 _testEof504:
9073 cs = 504
9074 goto _testEof
9075 _testEof505:
9076 cs = 505
9077 goto _testEof
9078 _testEof506:
9079 cs = 506
9080 goto _testEof
9081 _testEof507:
9082 cs = 507
9083 goto _testEof
9084 _testEof508:
9085 cs = 508
9086 goto _testEof
9087 _testEof509:
9088 cs = 509
9089 goto _testEof
9090 _testEof510:
9091 cs = 510
9092 goto _testEof
9093 _testEof511:
9094 cs = 511
9095 goto _testEof
9096 _testEof512:
9097 cs = 512
9098 goto _testEof
9099 _testEof513:
9100 cs = 513
9101 goto _testEof
9102 _testEof514:
9103 cs = 514
9104 goto _testEof
9105 _testEof515:
9106 cs = 515
9107 goto _testEof
9108 _testEof516:
9109 cs = 516
9110 goto _testEof
9111 _testEof517:
9112 cs = 517
9113 goto _testEof
9114 _testEof518:
9115 cs = 518
9116 goto _testEof
9117 _testEof519:
9118 cs = 519
9119 goto _testEof
9120 _testEof520:
9121 cs = 520
9122 goto _testEof
9123 _testEof521:
9124 cs = 521
9125 goto _testEof
9126 _testEof522:
9127 cs = 522
9128 goto _testEof
9129 _testEof523:
9130 cs = 523
9131 goto _testEof
9132 _testEof524:
9133 cs = 524
9134 goto _testEof
9135 _testEof525:
9136 cs = 525
9137 goto _testEof
9138 _testEof526:
9139 cs = 526
9140 goto _testEof
9141 _testEof527:
9142 cs = 527
9143 goto _testEof
9144 _testEof528:
9145 cs = 528
9146 goto _testEof
9147 _testEof529:
9148 cs = 529
9149 goto _testEof
9150 _testEof530:
9151 cs = 530
9152 goto _testEof
9153 _testEof531:
9154 cs = 531
9155 goto _testEof
9156 _testEof532:
9157 cs = 532
9158 goto _testEof
9159 _testEof533:
9160 cs = 533
9161 goto _testEof
9162 _testEof534:
9163 cs = 534
9164 goto _testEof
9165 _testEof535:
9166 cs = 535
9167 goto _testEof
9168 _testEof536:
9169 cs = 536
9170 goto _testEof
9171 _testEof537:
9172 cs = 537
9173 goto _testEof
9174 _testEof538:
9175 cs = 538
9176 goto _testEof
9177 _testEof539:
9178 cs = 539
9179 goto _testEof
9180 _testEof540:
9181 cs = 540
9182 goto _testEof
9183 _testEof541:
9184 cs = 541
9185 goto _testEof
9186 _testEof542:
9187 cs = 542
9188 goto _testEof
9189 _testEof543:
9190 cs = 543
9191 goto _testEof
9192 _testEof544:
9193 cs = 544
9194 goto _testEof
9195 _testEof545:
9196 cs = 545
9197 goto _testEof
9198 _testEof546:
9199 cs = 546
9200 goto _testEof
9201 _testEof547:
9202 cs = 547
9203 goto _testEof
9204 _testEof548:
9205 cs = 548
9206 goto _testEof
9207 _testEof549:
9208 cs = 549
9209 goto _testEof
9210 _testEof550:
9211 cs = 550
9212 goto _testEof
9213 _testEof551:
9214 cs = 551
9215 goto _testEof
9216 _testEof552:
9217 cs = 552
9218 goto _testEof
9219 _testEof553:
9220 cs = 553
9221 goto _testEof
9222 _testEof554:
9223 cs = 554
9224 goto _testEof
9225 _testEof555:
9226 cs = 555
9227 goto _testEof
9228 _testEof556:
9229 cs = 556
9230 goto _testEof
9231 _testEof557:
9232 cs = 557
9233 goto _testEof
9234 _testEof558:
9235 cs = 558
9236 goto _testEof
9237 _testEof559:
9238 cs = 559
9239 goto _testEof
9240 _testEof560:
9241 cs = 560
9242 goto _testEof
9243 _testEof561:
9244 cs = 561
9245 goto _testEof
9246 _testEof562:
9247 cs = 562
9248 goto _testEof
9249 _testEof563:
9250 cs = 563
9251 goto _testEof
9252 _testEof564:
9253 cs = 564
9254 goto _testEof
9255 _testEof565:
9256 cs = 565
9257 goto _testEof
9258 _testEof566:
9259 cs = 566
9260 goto _testEof
9261 _testEof567:
9262 cs = 567
9263 goto _testEof
9264 _testEof568:
9265 cs = 568
9266 goto _testEof
9267 _testEof569:
9268 cs = 569
9269 goto _testEof
9270 _testEof570:
9271 cs = 570
9272 goto _testEof
9273 _testEof571:
9274 cs = 571
9275 goto _testEof
9276 _testEof572:
9277 cs = 572
9278 goto _testEof
9279 _testEof573:
9280 cs = 573
9281 goto _testEof
9282 _testEof574:
9283 cs = 574
9284 goto _testEof
9285 _testEof575:
9286 cs = 575
9287 goto _testEof
9288 _testEof576:
9289 cs = 576
9290 goto _testEof
9291 _testEof577:
9292 cs = 577
9293 goto _testEof
9294 _testEof578:
9295 cs = 578
9296 goto _testEof
9297 _testEof579:
9298 cs = 579
9299 goto _testEof
9300 _testEof580:
9301 cs = 580
9302 goto _testEof
9303 _testEof581:
9304 cs = 581
9305 goto _testEof
9306 _testEof582:
9307 cs = 582
9308 goto _testEof
9309 _testEof583:
9310 cs = 583
9311 goto _testEof
9312 _testEof584:
9313 cs = 584
9314 goto _testEof
9315 _testEof585:
9316 cs = 585
9317 goto _testEof
9318 _testEof586:
9319 cs = 586
9320 goto _testEof
9321 _testEof587:
9322 cs = 587
9323 goto _testEof
9324 _testEof588:
9325 cs = 588
9326 goto _testEof
9327 _testEof590:
9328 cs = 590
9329 goto _testEof
9330 _testEof51:
9331 cs = 51
9332 goto _testEof
9333 _testEof52:
9334 cs = 52
9335 goto _testEof
9336 _testEof53:
9337 cs = 53
9338 goto _testEof
9339 _testEof54:
9340 cs = 54
9341 goto _testEof
9342 _testEof55:
9343 cs = 55
9344 goto _testEof
9345 _testEof56:
9346 cs = 56
9347 goto _testEof
9348 _testEof57:
9349 cs = 57
9350 goto _testEof
9351 _testEof58:
9352 cs = 58
9353 goto _testEof
9354
9355 _testEof:
9356 {
9357 }
9358 if p == eof {
9359 switch cs {
9360 case 61:
9361
9362 if t, e := time.Parse(RFC3339MICRO, string(data[pb:p])); e == nil {
9363 sm.timestamp = &t
9364 }
9365
9366 case 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316:
9367
9368 if s := string(data[pb:p]); s != "-" {
9369 sm.hostname = &s
9370 }
9371
9372 case 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364:
9373
9374 if s := string(data[pb:p]); s != "-" {
9375 sm.appname = &s
9376 }
9377
9378 case 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492:
9379
9380 if s := string(data[pb:p]); s != "-" {
9381 sm.procID = &s
9382 }
9383
9384 case 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524:
9385
9386 if s := string(data[pb:p]); s != "-" {
9387 sm.msgID = &s
9388 }
9389
9390 case 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556:
9391
9392 if sm.structuredData == nil {
9393 sm.structuredData = &(map[string]map[string]string{})
9394 }
9395
9396 id := string(data[pb:p])
9397 elements := *sm.structuredData
9398 if _, ok := elements[id]; !ok {
9399 elements[id] = map[string]string{}
9400 }
9401
9402 case 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588:
9403
9404 // Assuming SD map already exists, contains currentid key (set from outside)
9405 elements := *sm.structuredData
9406 elements[currentid][string(data[pb:p])] = ""
9407
9408 case 590:
9409
9410 // Store text
9411 text := data[pb:p]
9412 // Strip backslashes only when there are ...
9413 if len(backslashes) > 0 {
9414 text = rmchars(text, backslashes, pb)
9415 }
9416 // Assuming SD map already exists, contains currentid key and currentparamname key (set from outside)
9417 elements := *sm.structuredData
9418 elements[currentid][currentparamname] = string(text)
9419
9420 case 60:
9421
9422 if s := string(data[pb:p]); s != "" {
9423 sm.message = &s
9424 }
9425
9426 case 589:
9427
9428 pb = p
9429
9430 // Store text
9431 text := data[pb:p]
9432 // Strip backslashes only when there are ...
9433 if len(backslashes) > 0 {
9434 text = rmchars(text, backslashes, pb)
9435 }
9436 // Assuming SD map already exists, contains currentid key and currentparamname key (set from outside)
9437 elements := *sm.structuredData
9438 elements[currentid][currentparamname] = string(text)
9439
9440 case 59:
9441
9442 pb = p
9443
9444 if s := string(data[pb:p]); s != "" {
9445 sm.message = &s
9446 }
9447
9448 }
9449 }
9450
9451 _out:
9452 {
9453 }
9454 }
9455
9456 return sm
9457 }
9458
9459 // SetPriority set the priority value and the computed facility and severity codes accordingly.
9460 //
9461 // It ignores incorrect priority values (range [0, 191]).
9462 func (sm *SyslogMessage) SetPriority(value uint8) *SyslogMessage {
9463 if value >= 0 && value <= 191 {
9464 sm.setPriority(value)
9465 }
9466
9467 return sm
9468 }
9469
9470 // SetVersion set the version value.
9471 //
9472 // It ignores incorrect version values (range ]0, 999]).
9473 func (sm *SyslogMessage) SetVersion(value uint16) *SyslogMessage {
9474 if value > 0 && value <= 999 {
9475 sm.version = value
9476 }
9477
9478 return sm
9479 }
9480
9481 // SetTimestamp set the timestamp value.
9482 func (sm *SyslogMessage) SetTimestamp(value string) *SyslogMessage {
9483 return sm.set(timestamp, value)
9484 }
9485
9486 // SetHostname set the hostname value.
9487 func (sm *SyslogMessage) SetHostname(value string) *SyslogMessage {
9488 return sm.set(hostname, value)
9489 }
9490
9491 // SetAppname set the appname value.
9492 func (sm *SyslogMessage) SetAppname(value string) *SyslogMessage {
9493 return sm.set(appname, value)
9494 }
9495
9496 // SetProcID set the procid value.
9497 func (sm *SyslogMessage) SetProcID(value string) *SyslogMessage {
9498 return sm.set(procid, value)
9499 }
9500
9501 // SetMsgID set the msgid value.
9502 func (sm *SyslogMessage) SetMsgID(value string) *SyslogMessage {
9503 return sm.set(msgid, value)
9504 }
9505
9506 // SetElementID set a structured data id.
9507 //
9508 // When the provided id already exists the operation is discarded.
9509 func (sm *SyslogMessage) SetElementID(value string) *SyslogMessage {
9510 return sm.set(sdid, value)
9511 }
9512
9513 // SetParameter set a structured data parameter belonging to the given element.
9514 //
9515 // If the element does not exist it creates one with the given element id.
9516 // When a parameter with the given name already exists for the given element the operation is discarded.
9517 func (sm *SyslogMessage) SetParameter(id string, name string, value string) *SyslogMessage {
9518 // Create an element with the given id (or re-use the existing one)
9519 sm.set(sdid, id)
9520
9521 // We can create parameter iff the given element id exists
9522 if sm.structuredData != nil {
9523 elements := *sm.structuredData
9524 if _, ok := elements[id]; ok {
9525 currentid = id
9526 sm.set(sdpn, name)
9527 // We can assign parameter value iff the given parameter key exists
9528 if _, ok := elements[id][name]; ok {
9529 currentparamname = name
9530 sm.set(sdpv, value)
9531 }
9532 }
9533 }
9534
9535 return sm
9536 }
9537
9538 // SetMessage set the message value.
9539 func (sm *SyslogMessage) SetMessage(value string) *SyslogMessage {
9540 return sm.set(msg, value)
9541 }
9542
9543 func (sm *SyslogMessage) String() (string, error) {
9544 if !sm.Valid() {
9545 return "", fmt.Errorf("invalid syslog")
9546 }
9547
9548 template := "<%d>%d %s %s %s %s %s %s%s"
9549
9550 t := "-"
9551 hn := "-"
9552 an := "-"
9553 pid := "-"
9554 mid := "-"
9555 sd := "-"
9556 m := ""
9557 if sm.timestamp != nil {
9558 t = sm.timestamp.Format("2006-01-02T15:04:05.999999Z07:00") // verify 07:00
9559 }
9560 if sm.hostname != nil {
9561 hn = *sm.hostname
9562 }
9563 if sm.appname != nil {
9564 an = *sm.appname
9565 }
9566 if sm.procID != nil {
9567 pid = *sm.procID
9568 }
9569 if sm.msgID != nil {
9570 mid = *sm.msgID
9571 }
9572 if sm.structuredData != nil {
9573 // Sort element identifiers
9574 identifiers := make([]string, 0)
9575 for k := range *sm.structuredData {
9576 identifiers = append(identifiers, k)
9577 }
9578 sort.Strings(identifiers)
9579
9580 sd = ""
9581 for _, id := range identifiers {
9582 sd += fmt.Sprintf("[%s", id)
9583
9584 // Sort parameter names
9585 params := (*sm.structuredData)[id]
9586 names := make([]string, 0)
9587 for n := range params {
9588 names = append(names, n)
9589 }
9590 sort.Strings(names)
9591
9592 for _, name := range names {
9593 sd += fmt.Sprintf(" %s=\"%s\"", name, escape(params[name]))
9594 }
9595 sd += "]"
9596 }
9597 }
9598 if sm.message != nil {
9599 m = " " + *sm.message
9600 }
9601
9602 return fmt.Sprintf(template, *sm.priority, sm.version, t, hn, an, pid, mid, sd, m), nil
9603 }
0 package rfc5424
1
2 import (
3 "time"
4 "sort"
5 "fmt"
6 )
7
8 %%{
9 machine builder;
10
11 include rfc5424 "rfc5424.rl";
12
13 action mark {
14 pb = p
15 }
16
17 action set_timestamp {
18 if t, e := time.Parse(RFC3339MICRO, string(data[pb:p])); e == nil {
19 sm.timestamp = &t
20 }
21 }
22
23 action set_hostname {
24 if s := string(data[pb:p]); s != "-" {
25 sm.hostname = &s
26 }
27 }
28
29 action set_appname {
30 if s := string(data[pb:p]); s != "-" {
31 sm.appname = &s
32 }
33 }
34
35 action set_procid {
36 if s := string(data[pb:p]); s != "-" {
37 sm.procID = &s
38 }
39 }
40
41 action set_msgid {
42 if s := string(data[pb:p]); s != "-" {
43 sm.msgID = &s
44 }
45 }
46
47 action set_sdid {
48 if sm.structuredData == nil {
49 sm.structuredData = &(map[string]map[string]string{})
50 }
51
52 id := string(data[pb:p])
53 elements := *sm.structuredData
54 if _, ok := elements[id]; !ok {
55 elements[id] = map[string]string{}
56 }
57 }
58
59 action set_sdpn {
60 // Assuming SD map already exists, contains currentid key (set from outside)
61 elements := *sm.structuredData
62 elements[currentid][string(data[pb:p])] = ""
63 }
64
65 action markslash {
66 backslashes = append(backslashes, p)
67 }
68
69 action set_sdpv {
70 // Store text
71 text := data[pb:p]
72 // Strip backslashes only when there are ...
73 if len(backslashes) > 0 {
74 text = rmchars(text, backslashes, pb)
75 }
76 // Assuming SD map already exists, contains currentid key and currentparamname key (set from outside)
77 elements := *sm.structuredData
78 elements[currentid][currentparamname] = string(text)
79 }
80
81 action set_msg {
82 if s := string(data[pb:p]); s != "" {
83 sm.message = &s
84 }
85 }
86
87 timestamp := (fulldate 'T' fulltime) >mark %set_timestamp;
88
89 hostname := hostnamerange >mark %set_hostname;
90
91 appname := appnamerange >mark %set_appname;
92
93 procid := procidrange >mark %set_procid;
94
95 msgid := msgidrange >mark %set_msgid;
96
97 sdid := sdname >mark %set_sdid;
98
99 sdpn := sdname >mark %set_sdpn;
100
101 escapes = (bs >markslash toescape);
102
103 sdpv := (utf8charwodelims* escapes*)+ >mark %set_sdpv;
104
105 msg := (bom? utf8octets) >mark %set_msg;
106
107 write data noerror nofinal;
108 }%%
109
110 type entrypoint int
111
112 const (
113 timestamp entrypoint = iota
114 hostname
115 appname
116 procid
117 msgid
118 sdid
119 sdpn
120 sdpv
121 msg
122 )
123
124 func (e entrypoint) translate() int {
125 switch e {
126 case timestamp:
127 return builder_en_timestamp
128 case hostname:
129 return builder_en_hostname
130 case appname:
131 return builder_en_appname
132 case procid:
133 return builder_en_procid
134 case msgid:
135 return builder_en_msgid
136 case sdid:
137 return builder_en_sdid
138 case sdpn:
139 return builder_en_sdpn
140 case sdpv:
141 return builder_en_sdpv
142 case msg:
143 return builder_en_msg
144 default:
145 return builder_start
146 }
147 }
148
149 var currentid string
150 var currentparamname string
151
152 func (sm *SyslogMessage) set(from entrypoint, value string) *SyslogMessage {
153 data := []byte(value)
154 p := 0
155 pb := 0
156 pe := len(data)
157 eof := len(data)
158 cs := from.translate()
159 backslashes := []int{}
160 %% write exec;
161
162 return sm
163 }
164
165 // SetPriority set the priority value and the computed facility and severity codes accordingly.
166 //
167 // It ignores incorrect priority values (range [0, 191]).
168 func (sm *SyslogMessage) SetPriority(value uint8) *SyslogMessage {
169 if value >= 0 && value <= 191 {
170 sm.setPriority(value)
171 }
172
173 return sm
174 }
175
176 // SetVersion set the version value.
177 //
178 // It ignores incorrect version values (range ]0, 999]).
179 func (sm *SyslogMessage) SetVersion(value uint16) *SyslogMessage {
180 if value > 0 && value <= 999 {
181 sm.version = value
182 }
183
184 return sm
185 }
186
187 // SetTimestamp set the timestamp value.
188 func (sm *SyslogMessage) SetTimestamp(value string) *SyslogMessage {
189 return sm.set(timestamp, value)
190 }
191
192 // SetHostname set the hostname value.
193 func (sm *SyslogMessage) SetHostname(value string) *SyslogMessage {
194 return sm.set(hostname, value)
195 }
196
197 // SetAppname set the appname value.
198 func (sm *SyslogMessage) SetAppname(value string) *SyslogMessage {
199 return sm.set(appname, value)
200 }
201
202 // SetProcID set the procid value.
203 func (sm *SyslogMessage) SetProcID(value string) *SyslogMessage {
204 return sm.set(procid, value)
205 }
206
207 // SetMsgID set the msgid value.
208 func (sm *SyslogMessage) SetMsgID(value string) *SyslogMessage {
209 return sm.set(msgid, value)
210 }
211
212 // SetElementID set a structured data id.
213 //
214 // When the provided id already exists the operation is discarded.
215 func (sm *SyslogMessage) SetElementID(value string) *SyslogMessage {
216 return sm.set(sdid, value)
217 }
218
219 // SetParameter set a structured data parameter belonging to the given element.
220 //
221 // If the element does not exist it creates one with the given element id.
222 // When a parameter with the given name already exists for the given element the operation is discarded.
223 func (sm *SyslogMessage) SetParameter(id string, name string, value string) *SyslogMessage {
224 // Create an element with the given id (or re-use the existing one)
225 sm.set(sdid, id)
226
227 // We can create parameter iff the given element id exists
228 if sm.structuredData != nil {
229 elements := *sm.structuredData
230 if _, ok := elements[id]; ok {
231 currentid = id
232 sm.set(sdpn, name)
233 // We can assign parameter value iff the given parameter key exists
234 if _, ok := elements[id][name]; ok {
235 currentparamname = name
236 sm.set(sdpv, value)
237 }
238 }
239 }
240
241 return sm
242 }
243
244 // SetMessage set the message value.
245 func (sm *SyslogMessage) SetMessage(value string) *SyslogMessage {
246 return sm.set(msg, value)
247 }
248
249 func (sm *SyslogMessage) String() (string, error) {
250 if !sm.Valid() {
251 return "", fmt.Errorf("invalid syslog")
252 }
253
254 template := "<%d>%d %s %s %s %s %s %s%s"
255
256 t := "-"
257 hn := "-"
258 an := "-"
259 pid := "-"
260 mid := "-"
261 sd := "-"
262 m := ""
263 if sm.timestamp != nil {
264 t = sm.timestamp.Format("2006-01-02T15:04:05.999999Z07:00") // verify 07:00
265 }
266 if sm.hostname != nil {
267 hn = *sm.hostname
268 }
269 if sm.appname != nil {
270 an = *sm.appname
271 }
272 if sm.procID != nil {
273 pid = *sm.procID
274 }
275 if sm.msgID != nil {
276 mid = *sm.msgID
277 }
278 if sm.structuredData != nil {
279 // Sort element identifiers
280 identifiers := make([]string, 0)
281 for k, _ := range *sm.structuredData {
282 identifiers = append(identifiers, k)
283 }
284 sort.Strings(identifiers)
285
286 sd = ""
287 for _, id := range identifiers {
288 sd += fmt.Sprintf("[%s", id)
289
290 // Sort parameter names
291 params := (*sm.structuredData)[id]
292 names := make([]string, 0)
293 for n, _ := range params {
294 names = append(names, n)
295 }
296 sort.Strings(names)
297
298 for _, name := range names {
299 sd += fmt.Sprintf(" %s=\"%s\"", name, escape(params[name]))
300 }
301 sd += "]"
302 }
303 }
304 if sm.message != nil {
305 m = " " + *sm.message
306 }
307
308 return fmt.Sprintf(template, *sm.priority, sm.version, t, hn, an, pid, mid, sd, m), nil
309 }
0 package rfc5424
1
2 import (
3 "testing"
4 "time"
5
6 "github.com/influxdata/go-syslog"
7 "github.com/stretchr/testify/assert"
8 )
9
10 func TestSetTimestamp(t *testing.T) {
11 m := &SyslogMessage{}
12
13 assert.Equal(t, time.Date(2003, 10, 11, 22, 14, 15, 0, time.UTC), *m.SetTimestamp("2003-10-11T22:14:15Z").Timestamp())
14 assert.Equal(t, time.Date(2003, 10, 11, 22, 14, 15, 3000, time.UTC), *m.SetTimestamp("2003-10-11T22:14:15.000003Z").Timestamp())
15
16 // (note) > timestamp is invalid but it accepts until valid - ie., Z char
17 // (note) > this dependes on the builder internal parser which does not have a final state, nor we check for any error or final state
18 // (todo) > decide wheter to be more strict or not
19 assert.Equal(t, time.Date(2003, 10, 11, 22, 14, 15, 3000, time.UTC), *m.SetTimestamp("2003-10-11T22:14:15.000003Z+02:00").Timestamp())
20 }
21
22 func TestFacilityAndSeverity(t *testing.T) {
23 m := &SyslogMessage{}
24
25 assert.Nil(t, m.Facility())
26 assert.Nil(t, m.FacilityMessage())
27 assert.Nil(t, m.FacilityLevel())
28 assert.Nil(t, m.Severity())
29 assert.Nil(t, m.SeverityMessage())
30 assert.Nil(t, m.SeverityLevel())
31 assert.Nil(t, m.SeverityShortLevel())
32
33 m.SetPriority(1)
34
35 assert.Equal(t, uint8(0), *m.Facility())
36 assert.Equal(t, "kernel messages", *m.FacilityMessage())
37 assert.Equal(t, "kern", *m.FacilityLevel())
38 assert.Equal(t, uint8(1), *m.Severity())
39 assert.Equal(t, "action must be taken immediately", *m.SeverityMessage())
40 assert.Equal(t, "alert", *m.SeverityLevel())
41 assert.Equal(t, "alert", *m.SeverityShortLevel())
42
43 m.SetPriority(120)
44
45 assert.Equal(t, uint8(15), *m.Facility())
46 assert.Equal(t, "clock daemon (note 2)", *m.FacilityMessage())
47 assert.Equal(t, "cron", *m.FacilityLevel())
48 assert.Equal(t, uint8(0), *m.Severity())
49 assert.Equal(t, "system is unusable", *m.SeverityMessage())
50 assert.Equal(t, "emergency", *m.SeverityLevel())
51 assert.Equal(t, "emerg", *m.SeverityShortLevel())
52
53 m.SetPriority(99)
54
55 assert.Equal(t, uint8(12), *m.Facility())
56 assert.Equal(t, "NTP subsystem", *m.FacilityMessage())
57 assert.Equal(t, "NTP subsystem", *m.FacilityLevel()) // MUST fallback to message
58 assert.Equal(t, uint8(3), *m.Severity())
59 assert.Equal(t, "error conditions", *m.SeverityMessage())
60 assert.Equal(t, "error", *m.SeverityLevel())
61 assert.Equal(t, "err", *m.SeverityShortLevel())
62 }
63
64 func TestSetNilTimestamp(t *testing.T) {
65 m := &SyslogMessage{}
66 assert.Nil(t, m.SetTimestamp("-").Timestamp())
67 }
68
69 func TestSetIncompleteTimestamp(t *testing.T) {
70 m := &SyslogMessage{}
71 date := []byte("2003-11-02T23:12:46.012345")
72 prev := make([]byte, 0, len(date))
73 for _, d := range date {
74 prev = append(prev, d)
75 assert.Nil(t, m.SetTimestamp(string(prev)).Timestamp())
76 }
77 }
78
79 func TestSetSyntacticallyCompleteButIncorrectTimestamp(t *testing.T) {
80 m := &SyslogMessage{}
81 assert.Nil(t, m.SetTimestamp("2003-42-42T22:14:15Z").Timestamp())
82 }
83
84 func TestSetImpossibleButSyntacticallyCorrectTimestamp(t *testing.T) {
85 m := &SyslogMessage{}
86 assert.Nil(t, m.SetTimestamp("2003-09-31T22:14:15Z").Timestamp())
87 }
88
89 func TestSetTooLongHostname(t *testing.T) {
90 m := &SyslogMessage{}
91 m.SetHostname("abcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcX")
92 assert.Nil(t, m.Hostname())
93 }
94
95 func TestSetNilOrEmptyHostname(t *testing.T) {
96 m := &SyslogMessage{}
97 assert.Nil(t, m.SetHostname("-").Hostname())
98 assert.Nil(t, m.SetHostname("").Hostname())
99 }
100
101 func TestSetHostname(t *testing.T) {
102 m := &SyslogMessage{}
103
104 maxlen := []byte("abcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabc")
105
106 prev := make([]byte, 0, len(maxlen))
107 for _, input := range maxlen {
108 prev = append(prev, input)
109 str := string(prev)
110 assert.Equal(t, str, *m.SetHostname(str).Hostname())
111 }
112 }
113
114 func TestSetAppname(t *testing.T) {
115 m := &SyslogMessage{}
116
117 maxlen := []byte("abcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdef")
118
119 prev := make([]byte, 0, len(maxlen))
120 for _, input := range maxlen {
121 prev = append(prev, input)
122 str := string(prev)
123 assert.Equal(t, str, *m.SetAppname(str).Appname())
124 }
125 }
126
127 func TestSetProcID(t *testing.T) {
128 m := &SyslogMessage{}
129
130 maxlen := []byte("abcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzab")
131
132 prev := make([]byte, 0, len(maxlen))
133 for _, input := range maxlen {
134 prev = append(prev, input)
135 str := string(prev)
136 assert.Equal(t, str, *m.SetProcID(str).ProcID())
137 }
138 }
139
140 func TestSetMsgID(t *testing.T) {
141 m := &SyslogMessage{}
142
143 maxlen := []byte("abcdefghilmnopqrstuvzabcdefghilm")
144
145 prev := make([]byte, 0, len(maxlen))
146 for _, input := range maxlen {
147 prev = append(prev, input)
148 str := string(prev)
149 assert.Equal(t, str, *m.SetMsgID(str).MsgID())
150 }
151 }
152
153 func TestSetSyntacticallyWrongHostnameAppnameProcIDMsgID(t *testing.T) {
154 m := &SyslogMessage{}
155 assert.Nil(t, m.SetHostname("white space not possible").Hostname())
156 assert.Nil(t, m.SetHostname(string([]byte{0x0})).Hostname())
157 assert.Nil(t, m.SetAppname("white space not possible").Appname())
158 assert.Nil(t, m.SetAppname(string([]byte{0x0})).Appname())
159 assert.Nil(t, m.SetProcID("white space not possible").ProcID())
160 assert.Nil(t, m.SetProcID(string([]byte{0x0})).ProcID())
161 assert.Nil(t, m.SetMsgID("white space not possible").MsgID())
162 assert.Nil(t, m.SetMsgID(string([]byte{0x0})).MsgID())
163 }
164
165 func TestSetMessage(t *testing.T) {
166 m := &SyslogMessage{}
167 greek := "κόσμε"
168 assert.Equal(t, greek, *m.SetMessage(greek).Message())
169 }
170
171 func TestSetEmptyMessage(t *testing.T) {
172 m := &SyslogMessage{}
173 m.SetMessage("")
174 assert.Nil(t, m.Message())
175 }
176
177 func TestSetWrongUTF8Message(t *testing.T) {}
178
179 func TestSetMessageWithBOM(t *testing.T) {}
180
181 func TestSetMessageWithNewline(t *testing.T) {}
182
183 func TestSetOutOfRangeVersion(t *testing.T) {
184 m := &SyslogMessage{}
185 m.SetVersion(1000)
186 assert.Equal(t, m.Version(), uint16(0)) // 0 signals nil for version
187 m.SetVersion(0)
188 assert.Equal(t, m.Version(), uint16(0)) // 0 signals nil for version
189 }
190
191 func TestSetOutOfRangePriority(t *testing.T) {
192 m := &SyslogMessage{}
193 m.SetPriority(192)
194 assert.Nil(t, m.Priority())
195 }
196
197 func TestSetVersion(t *testing.T) {
198 m := &SyslogMessage{}
199 m.SetVersion(1)
200 assert.Equal(t, m.Version(), uint16(1))
201 m.SetVersion(999)
202 assert.Equal(t, m.Version(), uint16(999))
203 }
204
205 func TestSetPriority(t *testing.T) {
206 m := &SyslogMessage{}
207 m.SetPriority(0)
208 assert.Equal(t, *m.Priority(), uint8(0))
209 m.SetPriority(1)
210 assert.Equal(t, *m.Priority(), uint8(1))
211 m.SetPriority(191)
212 assert.Equal(t, *m.Priority(), uint8(191))
213 }
214
215 func TestSetSDID(t *testing.T) {
216 identifier := "one"
217 m := &SyslogMessage{}
218 assert.Nil(t, m.StructuredData())
219 m.SetElementID(identifier)
220 sd := m.StructuredData()
221 assert.NotNil(t, sd)
222 assert.IsType(t, (*map[string]map[string]string)(nil), sd)
223 assert.NotNil(t, (*sd)[identifier])
224 assert.IsType(t, map[string]string{}, (*sd)[identifier])
225 m.SetElementID(identifier)
226 assert.Len(t, *sd, 1)
227 }
228
229 func TestSetAllLenghtsSDID(t *testing.T) {
230 m := &SyslogMessage{}
231
232 maxlen := []byte("abcdefghilmnopqrstuvzabcdefghilm")
233
234 prev := make([]byte, 0, len(maxlen))
235 for i, input := range maxlen {
236 prev = append(prev, input)
237 id := string(prev)
238 m.SetElementID(id)
239 assert.Len(t, *m.StructuredData(), i+1)
240 assert.IsType(t, map[string]string{}, (*m.StructuredData())[id])
241 }
242 }
243
244 func TestSetTooLongSDID(t *testing.T) {
245 m := &SyslogMessage{}
246 m.SetElementID("abcdefghilmnopqrstuvzabcdefghilmX")
247 assert.Nil(t, m.StructuredData())
248 }
249
250 func TestSetSyntacticallyWrongSDID(t *testing.T) {
251 m := &SyslogMessage{}
252 m.SetElementID("no whitespaces")
253 assert.Nil(t, m.StructuredData())
254 m.SetElementID(" ")
255 assert.Nil(t, m.StructuredData())
256 m.SetElementID(`"`)
257 assert.Nil(t, m.StructuredData())
258 m.SetElementID(`no"`)
259 assert.Nil(t, m.StructuredData())
260 m.SetElementID(`"no`)
261 assert.Nil(t, m.StructuredData())
262 m.SetElementID("]")
263 assert.Nil(t, m.StructuredData())
264 m.SetElementID("no]")
265 assert.Nil(t, m.StructuredData())
266 m.SetElementID("]no")
267 assert.Nil(t, m.StructuredData())
268 }
269
270 func TestSetEmptySDID(t *testing.T) {
271 m := &SyslogMessage{}
272 m.SetElementID("")
273 assert.Nil(t, m.StructuredData())
274 }
275
276 func TestSetSDParam(t *testing.T) {
277 id := "one"
278 pn := "pname"
279 pv := "pvalue"
280 m := &SyslogMessage{}
281 m.SetParameter(id, pn, pv)
282 sd := m.StructuredData()
283 assert.NotNil(t, sd)
284 assert.IsType(t, (*map[string]map[string]string)(nil), sd)
285 assert.NotNil(t, (*sd)[id])
286 assert.IsType(t, map[string]string{}, (*sd)[id])
287 assert.Len(t, *sd, 1)
288 assert.Len(t, (*sd)[id], 1)
289 assert.Equal(t, pv, (*sd)[id][pn])
290
291 pn1 := "pname1"
292 pv1 := "κόσμε"
293 m.SetParameter(id, pn1, pv1)
294 assert.Len(t, (*sd)[id], 2)
295 assert.Equal(t, pv1, (*sd)[id][pn1])
296
297 id1 := "another"
298 m.SetParameter(id1, pn1, pv1).SetParameter(id1, pn, pv)
299 assert.Len(t, *sd, 2)
300 assert.Len(t, (*sd)[id1], 2)
301 assert.Equal(t, pv1, (*sd)[id1][pn1])
302 assert.Equal(t, pv, (*sd)[id1][pn])
303
304 id2 := "tre"
305 pn2 := "meta"
306 m.SetParameter(id2, pn, `valid\\`).SetParameter(id2, pn1, `\]valid`).SetParameter(id2, pn2, `is\"valid`)
307 assert.Len(t, *sd, 3)
308 assert.Len(t, (*sd)[id2], 3)
309 assert.Equal(t, `valid\`, (*sd)[id2][pn])
310 assert.Equal(t, `]valid`, (*sd)[id2][pn1])
311 assert.Equal(t, `is"valid`, (*sd)[id2][pn2])
312 // Cannot contain \, ], " unless escaped
313 m.SetParameter(id2, pn, `is\valid`).SetParameter(id2, pn1, `is]valid`).SetParameter(id2, pn2, `is"valid`)
314 assert.Len(t, (*sd)[id2], 3)
315 }
316
317 func TestSetEmptySDParam(t *testing.T) {
318 id := "id"
319 pn := "pn"
320 m := &SyslogMessage{}
321 m.SetParameter(id, pn, "")
322 sd := m.StructuredData()
323 assert.Len(t, *sd, 1)
324 assert.Len(t, (*sd)[id], 1)
325 assert.Equal(t, "", (*sd)[id][pn])
326 }
327
328 func TestSerialization(t *testing.T) {
329 var res string
330 var err error
331 var pout syslog.Message
332 var perr error
333
334 p := NewParser()
335
336 // Valid syslog message
337 m := &SyslogMessage{}
338 m.SetPriority(1)
339 m.SetVersion(1)
340 res, err = m.String()
341 assert.Nil(t, err)
342 assert.Equal(t, "<1>1 - - - - - -", res)
343
344 pout, perr = p.Parse([]byte(res))
345 assert.Equal(t, m, pout)
346 assert.Nil(t, perr)
347
348 m.SetMessage("-") // does not means nil in this case, remember
349 res, err = m.String()
350 assert.Nil(t, err)
351 assert.Equal(t, "<1>1 - - - - - - -", res)
352
353 pout, perr = p.Parse([]byte(res))
354 assert.Equal(t, m, pout)
355 assert.Nil(t, perr)
356
357 m.
358 SetParameter("mega", "x", "a").
359 SetParameter("mega", "y", "b").
360 SetParameter("mega", "z", `\" \] \\`).
361 SetParameter("peta", "a", "name").
362 SetParameter("giga", "1", "").
363 SetParameter("peta", "c", "nomen")
364
365 res, err = m.String()
366 assert.Nil(t, err)
367 assert.Equal(t, `<1>1 - - - - - [giga 1=""][mega x="a" y="b" z="\" \] \\"][peta a="name" c="nomen"] -`, res)
368
369 pout, perr = p.Parse([]byte(res))
370 assert.Equal(t, m, pout)
371 assert.Nil(t, perr)
372
373 m.SetHostname("host1")
374 res, err = m.String()
375 assert.Nil(t, err)
376 assert.Equal(t, `<1>1 - host1 - - - [giga 1=""][mega x="a" y="b" z="\" \] \\"][peta a="name" c="nomen"] -`, res)
377
378 pout, perr = p.Parse([]byte(res))
379 assert.Equal(t, m, pout)
380 assert.Nil(t, perr)
381
382 m.SetAppname("su")
383 res, err = m.String()
384 assert.Nil(t, err)
385 assert.Equal(t, `<1>1 - host1 su - - [giga 1=""][mega x="a" y="b" z="\" \] \\"][peta a="name" c="nomen"] -`, res)
386
387 pout, perr = p.Parse([]byte(res))
388 assert.Equal(t, m, pout)
389 assert.Nil(t, perr)
390
391 m.SetProcID("22")
392 res, err = m.String()
393 assert.Nil(t, err)
394 assert.Equal(t, `<1>1 - host1 su 22 - [giga 1=""][mega x="a" y="b" z="\" \] \\"][peta a="name" c="nomen"] -`, res)
395
396 pout, perr = p.Parse([]byte(res))
397 assert.Equal(t, m, pout)
398 assert.Nil(t, perr)
399
400 m.SetMsgID("#1")
401 res, err = m.String()
402 assert.Nil(t, err)
403 assert.Equal(t, `<1>1 - host1 su 22 #1 [giga 1=""][mega x="a" y="b" z="\" \] \\"][peta a="name" c="nomen"] -`, res)
404
405 pout, perr = p.Parse([]byte(res))
406 assert.Equal(t, m, pout)
407 assert.Nil(t, perr)
408
409 m.SetTimestamp("2002-10-22T16:33:15.000087+01:00")
410 res, err = m.String()
411 assert.Nil(t, err)
412 assert.Equal(t, `<1>1 2002-10-22T16:33:15.000087+01:00 host1 su 22 #1 [giga 1=""][mega x="a" y="b" z="\" \] \\"][peta a="name" c="nomen"] -`, res)
413
414 pout, perr = p.Parse([]byte(res))
415 assert.Equal(t, m, pout)
416 assert.Nil(t, perr)
417
418 m.SetMessage("κόσμε")
419 res, err = m.String()
420 assert.Nil(t, err)
421 assert.Equal(t, `<1>1 2002-10-22T16:33:15.000087+01:00 host1 su 22 #1 [giga 1=""][mega x="a" y="b" z="\" \] \\"][peta a="name" c="nomen"] κόσμε`, res)
422
423 pout, perr = p.Parse([]byte(res))
424 assert.Equal(t, m, pout)
425 assert.Nil(t, perr)
426
427 // Invalid syslog message
428 m2 := &SyslogMessage{}
429 m2.SetPriority(192)
430 m2.SetVersion(9999)
431 res, err = m2.String()
432 assert.Empty(t, res)
433 assert.Error(t, err)
434 }
0 package rfc5424
1
2 import (
3 "fmt"
4
5 "github.com/davecgh/go-spew/spew"
6 )
7
8 func output(out interface{}) {
9 spew.Config.DisableCapacities = true
10 spew.Config.DisablePointerAddresses = true
11 spew.Dump(out)
12 }
13
14 func Example() {
15 i := []byte(`<165>4 2018-10-11T22:14:15.003Z mymach.it e - 1 [ex@32473 iut="3"] An application event log entry...`)
16 p := NewParser()
17 m, _ := p.Parse(i)
18 output(m)
19 // Output:
20 // (*rfc5424.SyslogMessage)({
21 // priority: (*uint8)(165),
22 // facility: (*uint8)(20),
23 // severity: (*uint8)(5),
24 // version: (uint16) 4,
25 // timestamp: (*time.Time)(2018-10-11 22:14:15.003 +0000 UTC),
26 // hostname: (*string)((len=9) "mymach.it"),
27 // appname: (*string)((len=1) "e"),
28 // procID: (*string)(<nil>),
29 // msgID: (*string)((len=1) "1"),
30 // structuredData: (*map[string]map[string]string)((len=1) {
31 // (string) (len=8) "ex@32473": (map[string]string) (len=1) {
32 // (string) (len=3) "iut": (string) (len=1) "3"
33 // }
34 // }),
35 // message: (*string)((len=33) "An application event log entry...")
36 // })
37 }
38
39 func Example_besteffort() {
40 i := []byte(`<1>1 A - - - - - -`)
41 p := NewParser(WithBestEffort())
42 m, e := p.Parse(i)
43 output(m)
44 fmt.Println(e)
45 // Output:
46 // (*rfc5424.SyslogMessage)({
47 // priority: (*uint8)(1),
48 // facility: (*uint8)(0),
49 // severity: (*uint8)(1),
50 // version: (uint16) 1,
51 // timestamp: (*time.Time)(<nil>),
52 // hostname: (*string)(<nil>),
53 // appname: (*string)(<nil>),
54 // procID: (*string)(<nil>),
55 // msgID: (*string)(<nil>),
56 // structuredData: (*map[string]map[string]string)(<nil>),
57 // message: (*string)(<nil>)
58 // })
59 // expecting a RFC3339MICRO timestamp or a nil value [col 5]
60 }
61
62 func Example_builder() {
63 msg := &SyslogMessage{}
64 msg.SetTimestamp("not a RFC3339MICRO timestamp")
65 fmt.Println("Valid?", msg.Valid())
66 msg.SetPriority(191)
67 msg.SetVersion(1)
68 fmt.Println("Valid?", msg.Valid())
69 output(msg)
70 str, _ := msg.String()
71 fmt.Println(str)
72 // Output:
73 // Valid? false
74 // Valid? true
75 // (*rfc5424.SyslogMessage)({
76 // priority: (*uint8)(191),
77 // facility: (*uint8)(23),
78 // severity: (*uint8)(7),
79 // version: (uint16) 1,
80 // timestamp: (*time.Time)(<nil>),
81 // hostname: (*string)(<nil>),
82 // appname: (*string)(<nil>),
83 // procID: (*string)(<nil>),
84 // msgID: (*string)(<nil>),
85 // structuredData: (*map[string]map[string]string)(<nil>),
86 // message: (*string)(<nil>)
87 // })
88 // <191>1 - - - - - -
89 }
0 package rfc5424
1
2 // unsafeUTF8DecimalCodePointsToInt converts a slice containing
3 // a series of UTF-8 decimal code points into their integer rapresentation.
4 //
5 // It assumes input code points are in the range 48-57.
6 // Returns a pointer since an empty slice is equal to nil and not to the zero value of the codomain (ie., `int`).
7 func unsafeUTF8DecimalCodePointsToInt(chars []uint8) int {
8 out := 0
9 ord := 1
10 for i := len(chars) - 1; i >= 0; i-- {
11 curchar := int(chars[i])
12 out += (curchar - '0') * ord
13 ord *= 10
14 }
15 return out
16 }
17
18 // escape adds a backslash to \, ], " characters
19 func escape(value string) string {
20 res := ""
21 for i, c := range value {
22 if c == 92 || c == 93 || c == 34 {
23 res += `\`
24 }
25 res += string(value[i])
26 }
27
28 return res
29 }
30
31 // rmchars remove byte at given positions starting from offset
32 func rmchars(data []byte, positions []int, offset int) []byte {
33 // We need a copy here to not modify original data
34 cp := append([]byte(nil), data...)
35 for i, pos := range positions {
36 at := pos - i - offset
37 cp = append(cp[:at], cp[(at+1):]...)
38 }
39 return cp
40 }
0 package rfc5424
1
2 import (
3 "testing"
4
5 "github.com/stretchr/testify/assert"
6 )
7
8 func TestSimpleUTF8DecimalConversion(t *testing.T) {
9 slice := []uint8{49, 48, 49}
10 res := unsafeUTF8DecimalCodePointsToInt(slice)
11 assert.Equal(t, 101, res)
12 }
13
14 func TestNumberStartingWithZero(t *testing.T) {
15 slice := []uint8{48, 48, 50}
16 res := unsafeUTF8DecimalCodePointsToInt(slice)
17 assert.Equal(t, 2, res)
18 }
19
20 func TestCharsNotInRange(t *testing.T) {
21 point := 10
22 slice := []uint8{uint8(point)} // Line Feed (LF)
23 res := unsafeUTF8DecimalCodePointsToInt(slice)
24 assert.Equal(t, res, -(48 - point))
25 }
26
27 func TestAllDigits(t *testing.T) {
28 slice := []uint8{49, 50, 51, 52, 53, 54, 55, 56, 57, 48}
29 res := unsafeUTF8DecimalCodePointsToInt(slice)
30 assert.Equal(t, 1234567890, res)
31 }
0 package rfc5424
1
2 import (
3 "fmt"
4 "github.com/influxdata/go-syslog"
5 "time"
6 )
7
8 var (
9 errPrival = "expecting a priority value in the range 1-191 or equal to 0 [col %d]"
10 errPri = "expecting a priority value within angle brackets [col %d]"
11 errVersion = "expecting a version value in the range 1-999 [col %d]"
12 errTimestamp = "expecting a RFC3339MICRO timestamp or a nil value [col %d]"
13 errHostname = "expecting an hostname (from 1 to max 255 US-ASCII characters) or a nil value [col %d]"
14 errAppname = "expecting an app-name (from 1 to max 48 US-ASCII characters) or a nil value [col %d]"
15 errProcid = "expecting a procid (from 1 to max 128 US-ASCII characters) or a nil value [col %d]"
16 errMsgid = "expecting a msgid (from 1 to max 32 US-ASCII characters) or a nil value [col %d]"
17 errStructuredData = "expecting a structured data section containing one or more elements (`[id( key=\"value\")*]+`) or a nil value [col %d]"
18 errSdID = "expecting a structured data element id (from 1 to max 32 US-ASCII characters; except `=`, ` `, `]`, and `\"` [col %d]"
19 errSdIDDuplicated = "duplicate structured data element id [col %d]"
20 errSdParam = "expecting a structured data parameter (`key=\"value\"`, both part from 1 to max 32 US-ASCII characters; key cannot contain `=`, ` `, `]`, and `\"`, while value cannot contain `]`, backslash, and `\"` unless escaped) [col %d]"
21 errMsg = "expecting a free-form optional message in UTF-8 (starting with or without BOM) [col %d]"
22 errEscape = "expecting chars `]`, `\"`, and `\\` to be escaped within param value [col %d]"
23 errParse = "parsing error [col %d]"
24 )
25
26 // RFC3339MICRO represents the timestamp format that RFC5424 mandates.
27 const RFC3339MICRO = "2006-01-02T15:04:05.999999Z07:00"
28
29 const start int = 1
30 const firstFinal int = 603
31
32 const enFail int = 607
33 const enMain int = 1
34
35 type machine struct {
36 data []byte
37 cs int
38 p, pe, eof int
39 pb int
40 err error
41 currentelem string
42 currentparam string
43 msgat int
44 backslashat []int
45 bestEffort bool
46 }
47
48 // NewMachine creates a new FSM able to parse RFC5424 syslog messages.
49 func NewMachine(options ...syslog.MachineOption) syslog.Machine {
50 m := &machine{}
51
52 for _, opt := range options {
53 opt(m)
54 }
55
56 return m
57 }
58
59 func (m *machine) WithBestEffort() {
60 m.bestEffort = true
61 }
62
63 // HasBestEffort tells whether the receiving machine has best effort mode on or off.
64 func (m *machine) HasBestEffort() bool {
65 return m.bestEffort
66 }
67
68 // Err returns the error that occurred on the last call to Parse.
69 //
70 // If the result is nil, then the line was parsed successfully.
71 func (m *machine) Err() error {
72 return m.err
73 }
74
75 func (m *machine) text() []byte {
76 return m.data[m.pb:m.p]
77 }
78
79 // Parse parses the input byte array as a RFC5424 syslog message.
80 //
81 // When a valid RFC5424 syslog message is given it outputs its structured representation.
82 // If the parsing detects an error it returns it with the position where the error occurred.
83 //
84 // It can also partially parse input messages returning a partially valid structured representation
85 // and the error that stopped the parsing.
86 func (m *machine) Parse(input []byte) (syslog.Message, error) {
87 m.data = input
88 m.p = 0
89 m.pb = 0
90 m.msgat = 0
91 m.backslashat = []int{}
92 m.pe = len(input)
93 m.eof = len(input)
94 m.err = nil
95 output := &syslogMessage{}
96
97 {
98 m.cs = start
99 }
100
101 {
102 if (m.p) == (m.pe) {
103 goto _testEof
104 }
105 switch m.cs {
106 case 1:
107 goto stCase1
108 case 0:
109 goto stCase0
110 case 2:
111 goto stCase2
112 case 3:
113 goto stCase3
114 case 4:
115 goto stCase4
116 case 5:
117 goto stCase5
118 case 6:
119 goto stCase6
120 case 7:
121 goto stCase7
122 case 8:
123 goto stCase8
124 case 9:
125 goto stCase9
126 case 10:
127 goto stCase10
128 case 11:
129 goto stCase11
130 case 12:
131 goto stCase12
132 case 13:
133 goto stCase13
134 case 14:
135 goto stCase14
136 case 15:
137 goto stCase15
138 case 16:
139 goto stCase16
140 case 603:
141 goto stCase603
142 case 604:
143 goto stCase604
144 case 605:
145 goto stCase605
146 case 17:
147 goto stCase17
148 case 18:
149 goto stCase18
150 case 19:
151 goto stCase19
152 case 20:
153 goto stCase20
154 case 21:
155 goto stCase21
156 case 22:
157 goto stCase22
158 case 23:
159 goto stCase23
160 case 24:
161 goto stCase24
162 case 25:
163 goto stCase25
164 case 26:
165 goto stCase26
166 case 27:
167 goto stCase27
168 case 28:
169 goto stCase28
170 case 29:
171 goto stCase29
172 case 30:
173 goto stCase30
174 case 31:
175 goto stCase31
176 case 32:
177 goto stCase32
178 case 33:
179 goto stCase33
180 case 34:
181 goto stCase34
182 case 35:
183 goto stCase35
184 case 36:
185 goto stCase36
186 case 37:
187 goto stCase37
188 case 38:
189 goto stCase38
190 case 39:
191 goto stCase39
192 case 40:
193 goto stCase40
194 case 41:
195 goto stCase41
196 case 42:
197 goto stCase42
198 case 43:
199 goto stCase43
200 case 44:
201 goto stCase44
202 case 45:
203 goto stCase45
204 case 46:
205 goto stCase46
206 case 47:
207 goto stCase47
208 case 48:
209 goto stCase48
210 case 49:
211 goto stCase49
212 case 50:
213 goto stCase50
214 case 51:
215 goto stCase51
216 case 52:
217 goto stCase52
218 case 53:
219 goto stCase53
220 case 54:
221 goto stCase54
222 case 55:
223 goto stCase55
224 case 56:
225 goto stCase56
226 case 57:
227 goto stCase57
228 case 58:
229 goto stCase58
230 case 59:
231 goto stCase59
232 case 60:
233 goto stCase60
234 case 61:
235 goto stCase61
236 case 62:
237 goto stCase62
238 case 606:
239 goto stCase606
240 case 63:
241 goto stCase63
242 case 64:
243 goto stCase64
244 case 65:
245 goto stCase65
246 case 66:
247 goto stCase66
248 case 67:
249 goto stCase67
250 case 68:
251 goto stCase68
252 case 69:
253 goto stCase69
254 case 70:
255 goto stCase70
256 case 71:
257 goto stCase71
258 case 72:
259 goto stCase72
260 case 73:
261 goto stCase73
262 case 74:
263 goto stCase74
264 case 75:
265 goto stCase75
266 case 76:
267 goto stCase76
268 case 77:
269 goto stCase77
270 case 78:
271 goto stCase78
272 case 79:
273 goto stCase79
274 case 80:
275 goto stCase80
276 case 81:
277 goto stCase81
278 case 82:
279 goto stCase82
280 case 83:
281 goto stCase83
282 case 84:
283 goto stCase84
284 case 85:
285 goto stCase85
286 case 86:
287 goto stCase86
288 case 87:
289 goto stCase87
290 case 88:
291 goto stCase88
292 case 89:
293 goto stCase89
294 case 90:
295 goto stCase90
296 case 91:
297 goto stCase91
298 case 92:
299 goto stCase92
300 case 93:
301 goto stCase93
302 case 94:
303 goto stCase94
304 case 95:
305 goto stCase95
306 case 96:
307 goto stCase96
308 case 97:
309 goto stCase97
310 case 98:
311 goto stCase98
312 case 99:
313 goto stCase99
314 case 100:
315 goto stCase100
316 case 101:
317 goto stCase101
318 case 102:
319 goto stCase102
320 case 103:
321 goto stCase103
322 case 104:
323 goto stCase104
324 case 105:
325 goto stCase105
326 case 106:
327 goto stCase106
328 case 107:
329 goto stCase107
330 case 108:
331 goto stCase108
332 case 109:
333 goto stCase109
334 case 110:
335 goto stCase110
336 case 111:
337 goto stCase111
338 case 112:
339 goto stCase112
340 case 113:
341 goto stCase113
342 case 114:
343 goto stCase114
344 case 115:
345 goto stCase115
346 case 116:
347 goto stCase116
348 case 117:
349 goto stCase117
350 case 118:
351 goto stCase118
352 case 119:
353 goto stCase119
354 case 120:
355 goto stCase120
356 case 121:
357 goto stCase121
358 case 122:
359 goto stCase122
360 case 123:
361 goto stCase123
362 case 124:
363 goto stCase124
364 case 125:
365 goto stCase125
366 case 126:
367 goto stCase126
368 case 127:
369 goto stCase127
370 case 128:
371 goto stCase128
372 case 129:
373 goto stCase129
374 case 130:
375 goto stCase130
376 case 131:
377 goto stCase131
378 case 132:
379 goto stCase132
380 case 133:
381 goto stCase133
382 case 134:
383 goto stCase134
384 case 135:
385 goto stCase135
386 case 136:
387 goto stCase136
388 case 137:
389 goto stCase137
390 case 138:
391 goto stCase138
392 case 139:
393 goto stCase139
394 case 140:
395 goto stCase140
396 case 141:
397 goto stCase141
398 case 142:
399 goto stCase142
400 case 143:
401 goto stCase143
402 case 144:
403 goto stCase144
404 case 145:
405 goto stCase145
406 case 146:
407 goto stCase146
408 case 147:
409 goto stCase147
410 case 148:
411 goto stCase148
412 case 149:
413 goto stCase149
414 case 150:
415 goto stCase150
416 case 151:
417 goto stCase151
418 case 152:
419 goto stCase152
420 case 153:
421 goto stCase153
422 case 154:
423 goto stCase154
424 case 155:
425 goto stCase155
426 case 156:
427 goto stCase156
428 case 157:
429 goto stCase157
430 case 158:
431 goto stCase158
432 case 159:
433 goto stCase159
434 case 160:
435 goto stCase160
436 case 161:
437 goto stCase161
438 case 162:
439 goto stCase162
440 case 163:
441 goto stCase163
442 case 164:
443 goto stCase164
444 case 165:
445 goto stCase165
446 case 166:
447 goto stCase166
448 case 167:
449 goto stCase167
450 case 168:
451 goto stCase168
452 case 169:
453 goto stCase169
454 case 170:
455 goto stCase170
456 case 171:
457 goto stCase171
458 case 172:
459 goto stCase172
460 case 173:
461 goto stCase173
462 case 174:
463 goto stCase174
464 case 175:
465 goto stCase175
466 case 176:
467 goto stCase176
468 case 177:
469 goto stCase177
470 case 178:
471 goto stCase178
472 case 179:
473 goto stCase179
474 case 180:
475 goto stCase180
476 case 181:
477 goto stCase181
478 case 182:
479 goto stCase182
480 case 183:
481 goto stCase183
482 case 184:
483 goto stCase184
484 case 185:
485 goto stCase185
486 case 186:
487 goto stCase186
488 case 187:
489 goto stCase187
490 case 188:
491 goto stCase188
492 case 189:
493 goto stCase189
494 case 190:
495 goto stCase190
496 case 191:
497 goto stCase191
498 case 192:
499 goto stCase192
500 case 193:
501 goto stCase193
502 case 194:
503 goto stCase194
504 case 195:
505 goto stCase195
506 case 196:
507 goto stCase196
508 case 197:
509 goto stCase197
510 case 198:
511 goto stCase198
512 case 199:
513 goto stCase199
514 case 200:
515 goto stCase200
516 case 201:
517 goto stCase201
518 case 202:
519 goto stCase202
520 case 203:
521 goto stCase203
522 case 204:
523 goto stCase204
524 case 205:
525 goto stCase205
526 case 206:
527 goto stCase206
528 case 207:
529 goto stCase207
530 case 208:
531 goto stCase208
532 case 209:
533 goto stCase209
534 case 210:
535 goto stCase210
536 case 211:
537 goto stCase211
538 case 212:
539 goto stCase212
540 case 213:
541 goto stCase213
542 case 214:
543 goto stCase214
544 case 215:
545 goto stCase215
546 case 216:
547 goto stCase216
548 case 217:
549 goto stCase217
550 case 218:
551 goto stCase218
552 case 219:
553 goto stCase219
554 case 220:
555 goto stCase220
556 case 221:
557 goto stCase221
558 case 222:
559 goto stCase222
560 case 223:
561 goto stCase223
562 case 224:
563 goto stCase224
564 case 225:
565 goto stCase225
566 case 226:
567 goto stCase226
568 case 227:
569 goto stCase227
570 case 228:
571 goto stCase228
572 case 229:
573 goto stCase229
574 case 230:
575 goto stCase230
576 case 231:
577 goto stCase231
578 case 232:
579 goto stCase232
580 case 233:
581 goto stCase233
582 case 234:
583 goto stCase234
584 case 235:
585 goto stCase235
586 case 236:
587 goto stCase236
588 case 237:
589 goto stCase237
590 case 238:
591 goto stCase238
592 case 239:
593 goto stCase239
594 case 240:
595 goto stCase240
596 case 241:
597 goto stCase241
598 case 242:
599 goto stCase242
600 case 243:
601 goto stCase243
602 case 244:
603 goto stCase244
604 case 245:
605 goto stCase245
606 case 246:
607 goto stCase246
608 case 247:
609 goto stCase247
610 case 248:
611 goto stCase248
612 case 249:
613 goto stCase249
614 case 250:
615 goto stCase250
616 case 251:
617 goto stCase251
618 case 252:
619 goto stCase252
620 case 253:
621 goto stCase253
622 case 254:
623 goto stCase254
624 case 255:
625 goto stCase255
626 case 256:
627 goto stCase256
628 case 257:
629 goto stCase257
630 case 258:
631 goto stCase258
632 case 259:
633 goto stCase259
634 case 260:
635 goto stCase260
636 case 261:
637 goto stCase261
638 case 262:
639 goto stCase262
640 case 263:
641 goto stCase263
642 case 264:
643 goto stCase264
644 case 265:
645 goto stCase265
646 case 266:
647 goto stCase266
648 case 267:
649 goto stCase267
650 case 268:
651 goto stCase268
652 case 269:
653 goto stCase269
654 case 270:
655 goto stCase270
656 case 271:
657 goto stCase271
658 case 272:
659 goto stCase272
660 case 273:
661 goto stCase273
662 case 274:
663 goto stCase274
664 case 275:
665 goto stCase275
666 case 276:
667 goto stCase276
668 case 277:
669 goto stCase277
670 case 278:
671 goto stCase278
672 case 279:
673 goto stCase279
674 case 280:
675 goto stCase280
676 case 281:
677 goto stCase281
678 case 282:
679 goto stCase282
680 case 283:
681 goto stCase283
682 case 284:
683 goto stCase284
684 case 285:
685 goto stCase285
686 case 286:
687 goto stCase286
688 case 287:
689 goto stCase287
690 case 288:
691 goto stCase288
692 case 289:
693 goto stCase289
694 case 290:
695 goto stCase290
696 case 291:
697 goto stCase291
698 case 292:
699 goto stCase292
700 case 293:
701 goto stCase293
702 case 294:
703 goto stCase294
704 case 295:
705 goto stCase295
706 case 296:
707 goto stCase296
708 case 297:
709 goto stCase297
710 case 298:
711 goto stCase298
712 case 299:
713 goto stCase299
714 case 300:
715 goto stCase300
716 case 301:
717 goto stCase301
718 case 302:
719 goto stCase302
720 case 303:
721 goto stCase303
722 case 304:
723 goto stCase304
724 case 305:
725 goto stCase305
726 case 306:
727 goto stCase306
728 case 307:
729 goto stCase307
730 case 308:
731 goto stCase308
732 case 309:
733 goto stCase309
734 case 310:
735 goto stCase310
736 case 311:
737 goto stCase311
738 case 312:
739 goto stCase312
740 case 313:
741 goto stCase313
742 case 314:
743 goto stCase314
744 case 315:
745 goto stCase315
746 case 316:
747 goto stCase316
748 case 317:
749 goto stCase317
750 case 318:
751 goto stCase318
752 case 319:
753 goto stCase319
754 case 320:
755 goto stCase320
756 case 321:
757 goto stCase321
758 case 322:
759 goto stCase322
760 case 323:
761 goto stCase323
762 case 324:
763 goto stCase324
764 case 325:
765 goto stCase325
766 case 326:
767 goto stCase326
768 case 327:
769 goto stCase327
770 case 328:
771 goto stCase328
772 case 329:
773 goto stCase329
774 case 330:
775 goto stCase330
776 case 331:
777 goto stCase331
778 case 332:
779 goto stCase332
780 case 333:
781 goto stCase333
782 case 334:
783 goto stCase334
784 case 335:
785 goto stCase335
786 case 336:
787 goto stCase336
788 case 337:
789 goto stCase337
790 case 338:
791 goto stCase338
792 case 339:
793 goto stCase339
794 case 340:
795 goto stCase340
796 case 341:
797 goto stCase341
798 case 342:
799 goto stCase342
800 case 343:
801 goto stCase343
802 case 344:
803 goto stCase344
804 case 345:
805 goto stCase345
806 case 346:
807 goto stCase346
808 case 347:
809 goto stCase347
810 case 348:
811 goto stCase348
812 case 349:
813 goto stCase349
814 case 350:
815 goto stCase350
816 case 351:
817 goto stCase351
818 case 352:
819 goto stCase352
820 case 353:
821 goto stCase353
822 case 354:
823 goto stCase354
824 case 355:
825 goto stCase355
826 case 356:
827 goto stCase356
828 case 357:
829 goto stCase357
830 case 358:
831 goto stCase358
832 case 359:
833 goto stCase359
834 case 360:
835 goto stCase360
836 case 361:
837 goto stCase361
838 case 362:
839 goto stCase362
840 case 363:
841 goto stCase363
842 case 364:
843 goto stCase364
844 case 365:
845 goto stCase365
846 case 366:
847 goto stCase366
848 case 367:
849 goto stCase367
850 case 368:
851 goto stCase368
852 case 369:
853 goto stCase369
854 case 370:
855 goto stCase370
856 case 371:
857 goto stCase371
858 case 372:
859 goto stCase372
860 case 373:
861 goto stCase373
862 case 374:
863 goto stCase374
864 case 375:
865 goto stCase375
866 case 376:
867 goto stCase376
868 case 377:
869 goto stCase377
870 case 378:
871 goto stCase378
872 case 379:
873 goto stCase379
874 case 380:
875 goto stCase380
876 case 381:
877 goto stCase381
878 case 382:
879 goto stCase382
880 case 383:
881 goto stCase383
882 case 384:
883 goto stCase384
884 case 385:
885 goto stCase385
886 case 386:
887 goto stCase386
888 case 387:
889 goto stCase387
890 case 388:
891 goto stCase388
892 case 389:
893 goto stCase389
894 case 390:
895 goto stCase390
896 case 391:
897 goto stCase391
898 case 392:
899 goto stCase392
900 case 393:
901 goto stCase393
902 case 394:
903 goto stCase394
904 case 395:
905 goto stCase395
906 case 396:
907 goto stCase396
908 case 397:
909 goto stCase397
910 case 398:
911 goto stCase398
912 case 399:
913 goto stCase399
914 case 400:
915 goto stCase400
916 case 401:
917 goto stCase401
918 case 402:
919 goto stCase402
920 case 403:
921 goto stCase403
922 case 404:
923 goto stCase404
924 case 405:
925 goto stCase405
926 case 406:
927 goto stCase406
928 case 407:
929 goto stCase407
930 case 408:
931 goto stCase408
932 case 409:
933 goto stCase409
934 case 410:
935 goto stCase410
936 case 411:
937 goto stCase411
938 case 412:
939 goto stCase412
940 case 413:
941 goto stCase413
942 case 414:
943 goto stCase414
944 case 415:
945 goto stCase415
946 case 416:
947 goto stCase416
948 case 417:
949 goto stCase417
950 case 418:
951 goto stCase418
952 case 419:
953 goto stCase419
954 case 420:
955 goto stCase420
956 case 421:
957 goto stCase421
958 case 422:
959 goto stCase422
960 case 423:
961 goto stCase423
962 case 424:
963 goto stCase424
964 case 425:
965 goto stCase425
966 case 426:
967 goto stCase426
968 case 427:
969 goto stCase427
970 case 428:
971 goto stCase428
972 case 429:
973 goto stCase429
974 case 430:
975 goto stCase430
976 case 431:
977 goto stCase431
978 case 432:
979 goto stCase432
980 case 433:
981 goto stCase433
982 case 434:
983 goto stCase434
984 case 435:
985 goto stCase435
986 case 436:
987 goto stCase436
988 case 437:
989 goto stCase437
990 case 438:
991 goto stCase438
992 case 439:
993 goto stCase439
994 case 440:
995 goto stCase440
996 case 441:
997 goto stCase441
998 case 442:
999 goto stCase442
1000 case 443:
1001 goto stCase443
1002 case 444:
1003 goto stCase444
1004 case 445:
1005 goto stCase445
1006 case 446:
1007 goto stCase446
1008 case 447:
1009 goto stCase447
1010 case 448:
1011 goto stCase448
1012 case 449:
1013 goto stCase449
1014 case 450:
1015 goto stCase450
1016 case 451:
1017 goto stCase451
1018 case 452:
1019 goto stCase452
1020 case 453:
1021 goto stCase453
1022 case 454:
1023 goto stCase454
1024 case 455:
1025 goto stCase455
1026 case 456:
1027 goto stCase456
1028 case 457:
1029 goto stCase457
1030 case 458:
1031 goto stCase458
1032 case 459:
1033 goto stCase459
1034 case 460:
1035 goto stCase460
1036 case 461:
1037 goto stCase461
1038 case 462:
1039 goto stCase462
1040 case 463:
1041 goto stCase463
1042 case 464:
1043 goto stCase464
1044 case 465:
1045 goto stCase465
1046 case 466:
1047 goto stCase466
1048 case 467:
1049 goto stCase467
1050 case 468:
1051 goto stCase468
1052 case 469:
1053 goto stCase469
1054 case 470:
1055 goto stCase470
1056 case 471:
1057 goto stCase471
1058 case 472:
1059 goto stCase472
1060 case 473:
1061 goto stCase473
1062 case 474:
1063 goto stCase474
1064 case 475:
1065 goto stCase475
1066 case 476:
1067 goto stCase476
1068 case 477:
1069 goto stCase477
1070 case 478:
1071 goto stCase478
1072 case 479:
1073 goto stCase479
1074 case 480:
1075 goto stCase480
1076 case 481:
1077 goto stCase481
1078 case 482:
1079 goto stCase482
1080 case 483:
1081 goto stCase483
1082 case 484:
1083 goto stCase484
1084 case 485:
1085 goto stCase485
1086 case 486:
1087 goto stCase486
1088 case 487:
1089 goto stCase487
1090 case 488:
1091 goto stCase488
1092 case 489:
1093 goto stCase489
1094 case 490:
1095 goto stCase490
1096 case 491:
1097 goto stCase491
1098 case 492:
1099 goto stCase492
1100 case 493:
1101 goto stCase493
1102 case 494:
1103 goto stCase494
1104 case 495:
1105 goto stCase495
1106 case 496:
1107 goto stCase496
1108 case 497:
1109 goto stCase497
1110 case 498:
1111 goto stCase498
1112 case 499:
1113 goto stCase499
1114 case 500:
1115 goto stCase500
1116 case 501:
1117 goto stCase501
1118 case 502:
1119 goto stCase502
1120 case 503:
1121 goto stCase503
1122 case 504:
1123 goto stCase504
1124 case 505:
1125 goto stCase505
1126 case 506:
1127 goto stCase506
1128 case 507:
1129 goto stCase507
1130 case 508:
1131 goto stCase508
1132 case 509:
1133 goto stCase509
1134 case 510:
1135 goto stCase510
1136 case 511:
1137 goto stCase511
1138 case 512:
1139 goto stCase512
1140 case 513:
1141 goto stCase513
1142 case 514:
1143 goto stCase514
1144 case 515:
1145 goto stCase515
1146 case 516:
1147 goto stCase516
1148 case 517:
1149 goto stCase517
1150 case 518:
1151 goto stCase518
1152 case 519:
1153 goto stCase519
1154 case 520:
1155 goto stCase520
1156 case 521:
1157 goto stCase521
1158 case 522:
1159 goto stCase522
1160 case 523:
1161 goto stCase523
1162 case 524:
1163 goto stCase524
1164 case 525:
1165 goto stCase525
1166 case 526:
1167 goto stCase526
1168 case 527:
1169 goto stCase527
1170 case 528:
1171 goto stCase528
1172 case 529:
1173 goto stCase529
1174 case 530:
1175 goto stCase530
1176 case 531:
1177 goto stCase531
1178 case 532:
1179 goto stCase532
1180 case 533:
1181 goto stCase533
1182 case 534:
1183 goto stCase534
1184 case 535:
1185 goto stCase535
1186 case 536:
1187 goto stCase536
1188 case 537:
1189 goto stCase537
1190 case 538:
1191 goto stCase538
1192 case 539:
1193 goto stCase539
1194 case 540:
1195 goto stCase540
1196 case 541:
1197 goto stCase541
1198 case 542:
1199 goto stCase542
1200 case 543:
1201 goto stCase543
1202 case 544:
1203 goto stCase544
1204 case 545:
1205 goto stCase545
1206 case 546:
1207 goto stCase546
1208 case 547:
1209 goto stCase547
1210 case 548:
1211 goto stCase548
1212 case 549:
1213 goto stCase549
1214 case 550:
1215 goto stCase550
1216 case 551:
1217 goto stCase551
1218 case 552:
1219 goto stCase552
1220 case 553:
1221 goto stCase553
1222 case 554:
1223 goto stCase554
1224 case 555:
1225 goto stCase555
1226 case 556:
1227 goto stCase556
1228 case 557:
1229 goto stCase557
1230 case 558:
1231 goto stCase558
1232 case 559:
1233 goto stCase559
1234 case 560:
1235 goto stCase560
1236 case 561:
1237 goto stCase561
1238 case 562:
1239 goto stCase562
1240 case 563:
1241 goto stCase563
1242 case 564:
1243 goto stCase564
1244 case 565:
1245 goto stCase565
1246 case 566:
1247 goto stCase566
1248 case 567:
1249 goto stCase567
1250 case 568:
1251 goto stCase568
1252 case 569:
1253 goto stCase569
1254 case 570:
1255 goto stCase570
1256 case 571:
1257 goto stCase571
1258 case 572:
1259 goto stCase572
1260 case 573:
1261 goto stCase573
1262 case 574:
1263 goto stCase574
1264 case 575:
1265 goto stCase575
1266 case 576:
1267 goto stCase576
1268 case 577:
1269 goto stCase577
1270 case 578:
1271 goto stCase578
1272 case 579:
1273 goto stCase579
1274 case 580:
1275 goto stCase580
1276 case 581:
1277 goto stCase581
1278 case 582:
1279 goto stCase582
1280 case 583:
1281 goto stCase583
1282 case 584:
1283 goto stCase584
1284 case 585:
1285 goto stCase585
1286 case 586:
1287 goto stCase586
1288 case 587:
1289 goto stCase587
1290 case 588:
1291 goto stCase588
1292 case 589:
1293 goto stCase589
1294 case 590:
1295 goto stCase590
1296 case 591:
1297 goto stCase591
1298 case 592:
1299 goto stCase592
1300 case 593:
1301 goto stCase593
1302 case 594:
1303 goto stCase594
1304 case 595:
1305 goto stCase595
1306 case 596:
1307 goto stCase596
1308 case 597:
1309 goto stCase597
1310 case 598:
1311 goto stCase598
1312 case 599:
1313 goto stCase599
1314 case 600:
1315 goto stCase600
1316 case 601:
1317 goto stCase601
1318 case 602:
1319 goto stCase602
1320 case 607:
1321 goto stCase607
1322 }
1323 goto stOut
1324 stCase1:
1325 if (m.data)[(m.p)] == 60 {
1326 goto st2
1327 }
1328 goto tr0
1329 tr0:
1330
1331 m.err = fmt.Errorf(errPri, m.p)
1332 (m.p)--
1333
1334 {
1335 goto st607
1336 }
1337
1338 goto st0
1339 tr2:
1340
1341 m.err = fmt.Errorf(errPrival, m.p)
1342 (m.p)--
1343
1344 {
1345 goto st607
1346 }
1347
1348 m.err = fmt.Errorf(errPri, m.p)
1349 (m.p)--
1350
1351 {
1352 goto st607
1353 }
1354
1355 m.err = fmt.Errorf(errParse, m.p)
1356 (m.p)--
1357
1358 {
1359 goto st607
1360 }
1361
1362 goto st0
1363 tr7:
1364
1365 m.err = fmt.Errorf(errVersion, m.p)
1366 (m.p)--
1367
1368 {
1369 goto st607
1370 }
1371
1372 m.err = fmt.Errorf(errParse, m.p)
1373 (m.p)--
1374
1375 {
1376 goto st607
1377 }
1378
1379 goto st0
1380 tr9:
1381
1382 m.err = fmt.Errorf(errParse, m.p)
1383 (m.p)--
1384
1385 {
1386 goto st607
1387 }
1388
1389 goto st0
1390 tr12:
1391
1392 m.err = fmt.Errorf(errTimestamp, m.p)
1393 (m.p)--
1394
1395 {
1396 goto st607
1397 }
1398
1399 m.err = fmt.Errorf(errParse, m.p)
1400 (m.p)--
1401
1402 {
1403 goto st607
1404 }
1405
1406 goto st0
1407 tr16:
1408
1409 m.err = fmt.Errorf(errHostname, m.p)
1410 (m.p)--
1411
1412 {
1413 goto st607
1414 }
1415
1416 m.err = fmt.Errorf(errParse, m.p)
1417 (m.p)--
1418
1419 {
1420 goto st607
1421 }
1422
1423 goto st0
1424 tr20:
1425
1426 m.err = fmt.Errorf(errAppname, m.p)
1427 (m.p)--
1428
1429 {
1430 goto st607
1431 }
1432
1433 m.err = fmt.Errorf(errParse, m.p)
1434 (m.p)--
1435
1436 {
1437 goto st607
1438 }
1439
1440 goto st0
1441 tr24:
1442
1443 m.err = fmt.Errorf(errProcid, m.p)
1444 (m.p)--
1445
1446 {
1447 goto st607
1448 }
1449
1450 m.err = fmt.Errorf(errParse, m.p)
1451 (m.p)--
1452
1453 {
1454 goto st607
1455 }
1456
1457 goto st0
1458 tr28:
1459
1460 m.err = fmt.Errorf(errMsgid, m.p)
1461 (m.p)--
1462
1463 {
1464 goto st607
1465 }
1466
1467 m.err = fmt.Errorf(errParse, m.p)
1468 (m.p)--
1469
1470 {
1471 goto st607
1472 }
1473
1474 goto st0
1475 tr30:
1476
1477 m.err = fmt.Errorf(errMsgid, m.p)
1478 (m.p)--
1479
1480 {
1481 goto st607
1482 }
1483
1484 goto st0
1485 tr33:
1486
1487 m.err = fmt.Errorf(errStructuredData, m.p)
1488 (m.p)--
1489
1490 {
1491 goto st607
1492 }
1493
1494 goto st0
1495 tr36:
1496
1497 // If error encountered within the message rule ...
1498 if m.msgat > 0 {
1499 // Save the text until valid (m.p is where the parser has stopped)
1500 output.message = string(m.data[m.msgat:m.p])
1501 }
1502
1503 m.err = fmt.Errorf(errMsg, m.p)
1504 (m.p)--
1505
1506 {
1507 goto st607
1508 }
1509
1510 m.err = fmt.Errorf(errParse, m.p)
1511 (m.p)--
1512
1513 {
1514 goto st607
1515 }
1516
1517 goto st0
1518 tr40:
1519
1520 delete(output.structuredData, m.currentelem)
1521 if len(output.structuredData) == 0 {
1522 output.hasElements = false
1523 }
1524 m.err = fmt.Errorf(errSdID, m.p)
1525 (m.p)--
1526
1527 {
1528 goto st607
1529 }
1530
1531 m.err = fmt.Errorf(errStructuredData, m.p)
1532 (m.p)--
1533
1534 {
1535 goto st607
1536 }
1537
1538 goto st0
1539 tr42:
1540
1541 if _, ok := output.structuredData[string(m.text())]; ok {
1542 // As per RFC5424 section 6.3.2 SD-ID MUST NOT exist more than once in a message
1543 m.err = fmt.Errorf(errSdIDDuplicated, m.p)
1544 (m.p)--
1545
1546 {
1547 goto st607
1548 }
1549 } else {
1550 id := string(m.text())
1551 output.structuredData[id] = map[string]string{}
1552 output.hasElements = true
1553 m.currentelem = id
1554 }
1555
1556 delete(output.structuredData, m.currentelem)
1557 if len(output.structuredData) == 0 {
1558 output.hasElements = false
1559 }
1560 m.err = fmt.Errorf(errSdID, m.p)
1561 (m.p)--
1562
1563 {
1564 goto st607
1565 }
1566
1567 m.err = fmt.Errorf(errStructuredData, m.p)
1568 (m.p)--
1569
1570 {
1571 goto st607
1572 }
1573
1574 goto st0
1575 tr46:
1576
1577 if len(output.structuredData) > 0 {
1578 delete(output.structuredData[m.currentelem], m.currentparam)
1579 }
1580 m.err = fmt.Errorf(errSdParam, m.p)
1581 (m.p)--
1582
1583 {
1584 goto st607
1585 }
1586
1587 m.err = fmt.Errorf(errStructuredData, m.p)
1588 (m.p)--
1589
1590 {
1591 goto st607
1592 }
1593
1594 goto st0
1595 tr84:
1596
1597 m.err = fmt.Errorf(errEscape, m.p)
1598 (m.p)--
1599
1600 {
1601 goto st607
1602 }
1603
1604 if len(output.structuredData) > 0 {
1605 delete(output.structuredData[m.currentelem], m.currentparam)
1606 }
1607 m.err = fmt.Errorf(errSdParam, m.p)
1608 (m.p)--
1609
1610 {
1611 goto st607
1612 }
1613
1614 m.err = fmt.Errorf(errStructuredData, m.p)
1615 (m.p)--
1616
1617 {
1618 goto st607
1619 }
1620
1621 goto st0
1622 tr619:
1623
1624 if t, e := time.Parse(RFC3339MICRO, string(m.text())); e != nil {
1625 m.err = fmt.Errorf("%s [col %d]", e, m.p)
1626 (m.p)--
1627
1628 {
1629 goto st607
1630 }
1631 } else {
1632 output.timestamp = t
1633 output.timestampSet = true
1634 }
1635
1636 m.err = fmt.Errorf(errParse, m.p)
1637 (m.p)--
1638
1639 {
1640 goto st607
1641 }
1642
1643 goto st0
1644 tr645:
1645
1646 m.err = fmt.Errorf(errStructuredData, m.p)
1647 (m.p)--
1648
1649 {
1650 goto st607
1651 }
1652
1653 m.err = fmt.Errorf(errParse, m.p)
1654 (m.p)--
1655
1656 {
1657 goto st607
1658 }
1659
1660 goto st0
1661 stCase0:
1662 st0:
1663 m.cs = 0
1664 goto _out
1665 st2:
1666 if (m.p)++; (m.p) == (m.pe) {
1667 goto _testEof2
1668 }
1669 stCase2:
1670 switch (m.data)[(m.p)] {
1671 case 48:
1672 goto tr3
1673 case 49:
1674 goto tr4
1675 }
1676 if 50 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
1677 goto tr5
1678 }
1679 goto tr2
1680 tr3:
1681
1682 m.pb = m.p
1683
1684 goto st3
1685 st3:
1686 if (m.p)++; (m.p) == (m.pe) {
1687 goto _testEof3
1688 }
1689 stCase3:
1690
1691 output.priority = uint8(unsafeUTF8DecimalCodePointsToInt(m.text()))
1692 output.prioritySet = true
1693
1694 if (m.data)[(m.p)] == 62 {
1695 goto st4
1696 }
1697 goto tr2
1698 st4:
1699 if (m.p)++; (m.p) == (m.pe) {
1700 goto _testEof4
1701 }
1702 stCase4:
1703 if 49 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
1704 goto tr8
1705 }
1706 goto tr7
1707 tr8:
1708
1709 m.pb = m.p
1710
1711 goto st5
1712 st5:
1713 if (m.p)++; (m.p) == (m.pe) {
1714 goto _testEof5
1715 }
1716 stCase5:
1717
1718 output.version = uint16(unsafeUTF8DecimalCodePointsToInt(m.text()))
1719
1720 if (m.data)[(m.p)] == 32 {
1721 goto st6
1722 }
1723 if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
1724 goto st598
1725 }
1726 goto tr9
1727 st6:
1728 if (m.p)++; (m.p) == (m.pe) {
1729 goto _testEof6
1730 }
1731 stCase6:
1732 if (m.data)[(m.p)] == 45 {
1733 goto st7
1734 }
1735 if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
1736 goto tr14
1737 }
1738 goto tr12
1739 st7:
1740 if (m.p)++; (m.p) == (m.pe) {
1741 goto _testEof7
1742 }
1743 stCase7:
1744 if (m.data)[(m.p)] == 32 {
1745 goto st8
1746 }
1747 goto tr9
1748 tr620:
1749
1750 if t, e := time.Parse(RFC3339MICRO, string(m.text())); e != nil {
1751 m.err = fmt.Errorf("%s [col %d]", e, m.p)
1752 (m.p)--
1753
1754 {
1755 goto st607
1756 }
1757 } else {
1758 output.timestamp = t
1759 output.timestampSet = true
1760 }
1761
1762 goto st8
1763 st8:
1764 if (m.p)++; (m.p) == (m.pe) {
1765 goto _testEof8
1766 }
1767 stCase8:
1768 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
1769 goto tr17
1770 }
1771 goto tr16
1772 tr17:
1773
1774 m.pb = m.p
1775
1776 goto st9
1777 st9:
1778 if (m.p)++; (m.p) == (m.pe) {
1779 goto _testEof9
1780 }
1781 stCase9:
1782 if (m.data)[(m.p)] == 32 {
1783 goto tr18
1784 }
1785 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
1786 goto st307
1787 }
1788 goto tr16
1789 tr18:
1790
1791 output.hostname = string(m.text())
1792
1793 goto st10
1794 st10:
1795 if (m.p)++; (m.p) == (m.pe) {
1796 goto _testEof10
1797 }
1798 stCase10:
1799 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
1800 goto tr21
1801 }
1802 goto tr20
1803 tr21:
1804
1805 m.pb = m.p
1806
1807 goto st11
1808 st11:
1809 if (m.p)++; (m.p) == (m.pe) {
1810 goto _testEof11
1811 }
1812 stCase11:
1813 if (m.data)[(m.p)] == 32 {
1814 goto tr22
1815 }
1816 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
1817 goto st260
1818 }
1819 goto tr20
1820 tr22:
1821
1822 output.appname = string(m.text())
1823
1824 goto st12
1825 st12:
1826 if (m.p)++; (m.p) == (m.pe) {
1827 goto _testEof12
1828 }
1829 stCase12:
1830 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
1831 goto tr25
1832 }
1833 goto tr24
1834 tr25:
1835
1836 m.pb = m.p
1837
1838 goto st13
1839 st13:
1840 if (m.p)++; (m.p) == (m.pe) {
1841 goto _testEof13
1842 }
1843 stCase13:
1844 if (m.data)[(m.p)] == 32 {
1845 goto tr26
1846 }
1847 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
1848 goto st133
1849 }
1850 goto tr24
1851 tr26:
1852
1853 output.procID = string(m.text())
1854
1855 goto st14
1856 st14:
1857 if (m.p)++; (m.p) == (m.pe) {
1858 goto _testEof14
1859 }
1860 stCase14:
1861 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
1862 goto tr29
1863 }
1864 goto tr28
1865 tr29:
1866
1867 m.pb = m.p
1868
1869 goto st15
1870 st15:
1871 if (m.p)++; (m.p) == (m.pe) {
1872 goto _testEof15
1873 }
1874 stCase15:
1875 if (m.data)[(m.p)] == 32 {
1876 goto tr31
1877 }
1878 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
1879 goto st102
1880 }
1881 goto tr30
1882 tr31:
1883
1884 output.msgID = string(m.text())
1885
1886 goto st16
1887 st16:
1888 if (m.p)++; (m.p) == (m.pe) {
1889 goto _testEof16
1890 }
1891 stCase16:
1892 switch (m.data)[(m.p)] {
1893 case 45:
1894 goto st603
1895 case 91:
1896 goto tr35
1897 }
1898 goto tr33
1899 st603:
1900 if (m.p)++; (m.p) == (m.pe) {
1901 goto _testEof603
1902 }
1903 stCase603:
1904 if (m.data)[(m.p)] == 32 {
1905 goto st604
1906 }
1907 goto tr9
1908 st604:
1909 if (m.p)++; (m.p) == (m.pe) {
1910 goto _testEof604
1911 }
1912 stCase604:
1913 switch (m.data)[(m.p)] {
1914 case 224:
1915 goto tr634
1916 case 237:
1917 goto tr636
1918 case 240:
1919 goto tr637
1920 case 244:
1921 goto tr639
1922 }
1923 switch {
1924 case (m.data)[(m.p)] < 225:
1925 switch {
1926 case (m.data)[(m.p)] > 193:
1927 if 194 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 223 {
1928 goto tr633
1929 }
1930 case (m.data)[(m.p)] >= 128:
1931 goto tr36
1932 }
1933 case (m.data)[(m.p)] > 239:
1934 switch {
1935 case (m.data)[(m.p)] > 243:
1936 if 245 <= (m.data)[(m.p)] {
1937 goto tr36
1938 }
1939 case (m.data)[(m.p)] >= 241:
1940 goto tr638
1941 }
1942 default:
1943 goto tr635
1944 }
1945 goto tr632
1946 tr632:
1947
1948 m.pb = m.p
1949
1950 m.msgat = m.p
1951
1952 goto st605
1953 st605:
1954 if (m.p)++; (m.p) == (m.pe) {
1955 goto _testEof605
1956 }
1957 stCase605:
1958 switch (m.data)[(m.p)] {
1959 case 224:
1960 goto st18
1961 case 237:
1962 goto st20
1963 case 240:
1964 goto st21
1965 case 244:
1966 goto st23
1967 }
1968 switch {
1969 case (m.data)[(m.p)] < 225:
1970 switch {
1971 case (m.data)[(m.p)] > 193:
1972 if 194 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 223 {
1973 goto st17
1974 }
1975 case (m.data)[(m.p)] >= 128:
1976 goto tr36
1977 }
1978 case (m.data)[(m.p)] > 239:
1979 switch {
1980 case (m.data)[(m.p)] > 243:
1981 if 245 <= (m.data)[(m.p)] {
1982 goto tr36
1983 }
1984 case (m.data)[(m.p)] >= 241:
1985 goto st22
1986 }
1987 default:
1988 goto st19
1989 }
1990 goto st605
1991 tr633:
1992
1993 m.pb = m.p
1994
1995 m.msgat = m.p
1996
1997 goto st17
1998 st17:
1999 if (m.p)++; (m.p) == (m.pe) {
2000 goto _testEof17
2001 }
2002 stCase17:
2003 if 128 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 191 {
2004 goto st605
2005 }
2006 goto tr36
2007 tr634:
2008
2009 m.pb = m.p
2010
2011 m.msgat = m.p
2012
2013 goto st18
2014 st18:
2015 if (m.p)++; (m.p) == (m.pe) {
2016 goto _testEof18
2017 }
2018 stCase18:
2019 if 160 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 191 {
2020 goto st17
2021 }
2022 goto tr36
2023 tr635:
2024
2025 m.pb = m.p
2026
2027 m.msgat = m.p
2028
2029 goto st19
2030 st19:
2031 if (m.p)++; (m.p) == (m.pe) {
2032 goto _testEof19
2033 }
2034 stCase19:
2035 if 128 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 191 {
2036 goto st17
2037 }
2038 goto tr36
2039 tr636:
2040
2041 m.pb = m.p
2042
2043 m.msgat = m.p
2044
2045 goto st20
2046 st20:
2047 if (m.p)++; (m.p) == (m.pe) {
2048 goto _testEof20
2049 }
2050 stCase20:
2051 if 128 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 159 {
2052 goto st17
2053 }
2054 goto tr36
2055 tr637:
2056
2057 m.pb = m.p
2058
2059 m.msgat = m.p
2060
2061 goto st21
2062 st21:
2063 if (m.p)++; (m.p) == (m.pe) {
2064 goto _testEof21
2065 }
2066 stCase21:
2067 if 144 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 191 {
2068 goto st19
2069 }
2070 goto tr36
2071 tr638:
2072
2073 m.pb = m.p
2074
2075 m.msgat = m.p
2076
2077 goto st22
2078 st22:
2079 if (m.p)++; (m.p) == (m.pe) {
2080 goto _testEof22
2081 }
2082 stCase22:
2083 if 128 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 191 {
2084 goto st19
2085 }
2086 goto tr36
2087 tr639:
2088
2089 m.pb = m.p
2090
2091 m.msgat = m.p
2092
2093 goto st23
2094 st23:
2095 if (m.p)++; (m.p) == (m.pe) {
2096 goto _testEof23
2097 }
2098 stCase23:
2099 if 128 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 143 {
2100 goto st19
2101 }
2102 goto tr36
2103 tr35:
2104
2105 output.structuredData = map[string]map[string]string{}
2106
2107 goto st24
2108 st24:
2109 if (m.p)++; (m.p) == (m.pe) {
2110 goto _testEof24
2111 }
2112 stCase24:
2113 if (m.data)[(m.p)] == 33 {
2114 goto tr41
2115 }
2116 switch {
2117 case (m.data)[(m.p)] < 62:
2118 if 35 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 60 {
2119 goto tr41
2120 }
2121 case (m.data)[(m.p)] > 92:
2122 if 94 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
2123 goto tr41
2124 }
2125 default:
2126 goto tr41
2127 }
2128 goto tr40
2129 tr41:
2130
2131 m.pb = m.p
2132
2133 goto st25
2134 st25:
2135 if (m.p)++; (m.p) == (m.pe) {
2136 goto _testEof25
2137 }
2138 stCase25:
2139 switch (m.data)[(m.p)] {
2140 case 32:
2141 goto tr43
2142 case 33:
2143 goto st71
2144 case 93:
2145 goto tr45
2146 }
2147 switch {
2148 case (m.data)[(m.p)] > 60:
2149 if 62 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
2150 goto st71
2151 }
2152 case (m.data)[(m.p)] >= 35:
2153 goto st71
2154 }
2155 goto tr42
2156 tr43:
2157
2158 if _, ok := output.structuredData[string(m.text())]; ok {
2159 // As per RFC5424 section 6.3.2 SD-ID MUST NOT exist more than once in a message
2160 m.err = fmt.Errorf(errSdIDDuplicated, m.p)
2161 (m.p)--
2162
2163 {
2164 goto st607
2165 }
2166 } else {
2167 id := string(m.text())
2168 output.structuredData[id] = map[string]string{}
2169 output.hasElements = true
2170 m.currentelem = id
2171 }
2172
2173 goto st26
2174 st26:
2175 if (m.p)++; (m.p) == (m.pe) {
2176 goto _testEof26
2177 }
2178 stCase26:
2179 if (m.data)[(m.p)] == 33 {
2180 goto tr47
2181 }
2182 switch {
2183 case (m.data)[(m.p)] < 62:
2184 if 35 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 60 {
2185 goto tr47
2186 }
2187 case (m.data)[(m.p)] > 92:
2188 if 94 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
2189 goto tr47
2190 }
2191 default:
2192 goto tr47
2193 }
2194 goto tr46
2195 tr47:
2196
2197 m.backslashat = []int{}
2198
2199 m.pb = m.p
2200
2201 goto st27
2202 st27:
2203 if (m.p)++; (m.p) == (m.pe) {
2204 goto _testEof27
2205 }
2206 stCase27:
2207 switch (m.data)[(m.p)] {
2208 case 33:
2209 goto st28
2210 case 61:
2211 goto tr49
2212 }
2213 switch {
2214 case (m.data)[(m.p)] > 92:
2215 if 94 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
2216 goto st28
2217 }
2218 case (m.data)[(m.p)] >= 35:
2219 goto st28
2220 }
2221 goto tr46
2222 st28:
2223 if (m.p)++; (m.p) == (m.pe) {
2224 goto _testEof28
2225 }
2226 stCase28:
2227 switch (m.data)[(m.p)] {
2228 case 33:
2229 goto st29
2230 case 61:
2231 goto tr49
2232 }
2233 switch {
2234 case (m.data)[(m.p)] > 92:
2235 if 94 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
2236 goto st29
2237 }
2238 case (m.data)[(m.p)] >= 35:
2239 goto st29
2240 }
2241 goto tr46
2242 st29:
2243 if (m.p)++; (m.p) == (m.pe) {
2244 goto _testEof29
2245 }
2246 stCase29:
2247 switch (m.data)[(m.p)] {
2248 case 33:
2249 goto st30
2250 case 61:
2251 goto tr49
2252 }
2253 switch {
2254 case (m.data)[(m.p)] > 92:
2255 if 94 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
2256 goto st30
2257 }
2258 case (m.data)[(m.p)] >= 35:
2259 goto st30
2260 }
2261 goto tr46
2262 st30:
2263 if (m.p)++; (m.p) == (m.pe) {
2264 goto _testEof30
2265 }
2266 stCase30:
2267 switch (m.data)[(m.p)] {
2268 case 33:
2269 goto st31
2270 case 61:
2271 goto tr49
2272 }
2273 switch {
2274 case (m.data)[(m.p)] > 92:
2275 if 94 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
2276 goto st31
2277 }
2278 case (m.data)[(m.p)] >= 35:
2279 goto st31
2280 }
2281 goto tr46
2282 st31:
2283 if (m.p)++; (m.p) == (m.pe) {
2284 goto _testEof31
2285 }
2286 stCase31:
2287 switch (m.data)[(m.p)] {
2288 case 33:
2289 goto st32
2290 case 61:
2291 goto tr49
2292 }
2293 switch {
2294 case (m.data)[(m.p)] > 92:
2295 if 94 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
2296 goto st32
2297 }
2298 case (m.data)[(m.p)] >= 35:
2299 goto st32
2300 }
2301 goto tr46
2302 st32:
2303 if (m.p)++; (m.p) == (m.pe) {
2304 goto _testEof32
2305 }
2306 stCase32:
2307 switch (m.data)[(m.p)] {
2308 case 33:
2309 goto st33
2310 case 61:
2311 goto tr49
2312 }
2313 switch {
2314 case (m.data)[(m.p)] > 92:
2315 if 94 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
2316 goto st33
2317 }
2318 case (m.data)[(m.p)] >= 35:
2319 goto st33
2320 }
2321 goto tr46
2322 st33:
2323 if (m.p)++; (m.p) == (m.pe) {
2324 goto _testEof33
2325 }
2326 stCase33:
2327 switch (m.data)[(m.p)] {
2328 case 33:
2329 goto st34
2330 case 61:
2331 goto tr49
2332 }
2333 switch {
2334 case (m.data)[(m.p)] > 92:
2335 if 94 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
2336 goto st34
2337 }
2338 case (m.data)[(m.p)] >= 35:
2339 goto st34
2340 }
2341 goto tr46
2342 st34:
2343 if (m.p)++; (m.p) == (m.pe) {
2344 goto _testEof34
2345 }
2346 stCase34:
2347 switch (m.data)[(m.p)] {
2348 case 33:
2349 goto st35
2350 case 61:
2351 goto tr49
2352 }
2353 switch {
2354 case (m.data)[(m.p)] > 92:
2355 if 94 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
2356 goto st35
2357 }
2358 case (m.data)[(m.p)] >= 35:
2359 goto st35
2360 }
2361 goto tr46
2362 st35:
2363 if (m.p)++; (m.p) == (m.pe) {
2364 goto _testEof35
2365 }
2366 stCase35:
2367 switch (m.data)[(m.p)] {
2368 case 33:
2369 goto st36
2370 case 61:
2371 goto tr49
2372 }
2373 switch {
2374 case (m.data)[(m.p)] > 92:
2375 if 94 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
2376 goto st36
2377 }
2378 case (m.data)[(m.p)] >= 35:
2379 goto st36
2380 }
2381 goto tr46
2382 st36:
2383 if (m.p)++; (m.p) == (m.pe) {
2384 goto _testEof36
2385 }
2386 stCase36:
2387 switch (m.data)[(m.p)] {
2388 case 33:
2389 goto st37
2390 case 61:
2391 goto tr49
2392 }
2393 switch {
2394 case (m.data)[(m.p)] > 92:
2395 if 94 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
2396 goto st37
2397 }
2398 case (m.data)[(m.p)] >= 35:
2399 goto st37
2400 }
2401 goto tr46
2402 st37:
2403 if (m.p)++; (m.p) == (m.pe) {
2404 goto _testEof37
2405 }
2406 stCase37:
2407 switch (m.data)[(m.p)] {
2408 case 33:
2409 goto st38
2410 case 61:
2411 goto tr49
2412 }
2413 switch {
2414 case (m.data)[(m.p)] > 92:
2415 if 94 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
2416 goto st38
2417 }
2418 case (m.data)[(m.p)] >= 35:
2419 goto st38
2420 }
2421 goto tr46
2422 st38:
2423 if (m.p)++; (m.p) == (m.pe) {
2424 goto _testEof38
2425 }
2426 stCase38:
2427 switch (m.data)[(m.p)] {
2428 case 33:
2429 goto st39
2430 case 61:
2431 goto tr49
2432 }
2433 switch {
2434 case (m.data)[(m.p)] > 92:
2435 if 94 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
2436 goto st39
2437 }
2438 case (m.data)[(m.p)] >= 35:
2439 goto st39
2440 }
2441 goto tr46
2442 st39:
2443 if (m.p)++; (m.p) == (m.pe) {
2444 goto _testEof39
2445 }
2446 stCase39:
2447 switch (m.data)[(m.p)] {
2448 case 33:
2449 goto st40
2450 case 61:
2451 goto tr49
2452 }
2453 switch {
2454 case (m.data)[(m.p)] > 92:
2455 if 94 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
2456 goto st40
2457 }
2458 case (m.data)[(m.p)] >= 35:
2459 goto st40
2460 }
2461 goto tr46
2462 st40:
2463 if (m.p)++; (m.p) == (m.pe) {
2464 goto _testEof40
2465 }
2466 stCase40:
2467 switch (m.data)[(m.p)] {
2468 case 33:
2469 goto st41
2470 case 61:
2471 goto tr49
2472 }
2473 switch {
2474 case (m.data)[(m.p)] > 92:
2475 if 94 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
2476 goto st41
2477 }
2478 case (m.data)[(m.p)] >= 35:
2479 goto st41
2480 }
2481 goto tr46
2482 st41:
2483 if (m.p)++; (m.p) == (m.pe) {
2484 goto _testEof41
2485 }
2486 stCase41:
2487 switch (m.data)[(m.p)] {
2488 case 33:
2489 goto st42
2490 case 61:
2491 goto tr49
2492 }
2493 switch {
2494 case (m.data)[(m.p)] > 92:
2495 if 94 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
2496 goto st42
2497 }
2498 case (m.data)[(m.p)] >= 35:
2499 goto st42
2500 }
2501 goto tr46
2502 st42:
2503 if (m.p)++; (m.p) == (m.pe) {
2504 goto _testEof42
2505 }
2506 stCase42:
2507 switch (m.data)[(m.p)] {
2508 case 33:
2509 goto st43
2510 case 61:
2511 goto tr49
2512 }
2513 switch {
2514 case (m.data)[(m.p)] > 92:
2515 if 94 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
2516 goto st43
2517 }
2518 case (m.data)[(m.p)] >= 35:
2519 goto st43
2520 }
2521 goto tr46
2522 st43:
2523 if (m.p)++; (m.p) == (m.pe) {
2524 goto _testEof43
2525 }
2526 stCase43:
2527 switch (m.data)[(m.p)] {
2528 case 33:
2529 goto st44
2530 case 61:
2531 goto tr49
2532 }
2533 switch {
2534 case (m.data)[(m.p)] > 92:
2535 if 94 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
2536 goto st44
2537 }
2538 case (m.data)[(m.p)] >= 35:
2539 goto st44
2540 }
2541 goto tr46
2542 st44:
2543 if (m.p)++; (m.p) == (m.pe) {
2544 goto _testEof44
2545 }
2546 stCase44:
2547 switch (m.data)[(m.p)] {
2548 case 33:
2549 goto st45
2550 case 61:
2551 goto tr49
2552 }
2553 switch {
2554 case (m.data)[(m.p)] > 92:
2555 if 94 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
2556 goto st45
2557 }
2558 case (m.data)[(m.p)] >= 35:
2559 goto st45
2560 }
2561 goto tr46
2562 st45:
2563 if (m.p)++; (m.p) == (m.pe) {
2564 goto _testEof45
2565 }
2566 stCase45:
2567 switch (m.data)[(m.p)] {
2568 case 33:
2569 goto st46
2570 case 61:
2571 goto tr49
2572 }
2573 switch {
2574 case (m.data)[(m.p)] > 92:
2575 if 94 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
2576 goto st46
2577 }
2578 case (m.data)[(m.p)] >= 35:
2579 goto st46
2580 }
2581 goto tr46
2582 st46:
2583 if (m.p)++; (m.p) == (m.pe) {
2584 goto _testEof46
2585 }
2586 stCase46:
2587 switch (m.data)[(m.p)] {
2588 case 33:
2589 goto st47
2590 case 61:
2591 goto tr49
2592 }
2593 switch {
2594 case (m.data)[(m.p)] > 92:
2595 if 94 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
2596 goto st47
2597 }
2598 case (m.data)[(m.p)] >= 35:
2599 goto st47
2600 }
2601 goto tr46
2602 st47:
2603 if (m.p)++; (m.p) == (m.pe) {
2604 goto _testEof47
2605 }
2606 stCase47:
2607 switch (m.data)[(m.p)] {
2608 case 33:
2609 goto st48
2610 case 61:
2611 goto tr49
2612 }
2613 switch {
2614 case (m.data)[(m.p)] > 92:
2615 if 94 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
2616 goto st48
2617 }
2618 case (m.data)[(m.p)] >= 35:
2619 goto st48
2620 }
2621 goto tr46
2622 st48:
2623 if (m.p)++; (m.p) == (m.pe) {
2624 goto _testEof48
2625 }
2626 stCase48:
2627 switch (m.data)[(m.p)] {
2628 case 33:
2629 goto st49
2630 case 61:
2631 goto tr49
2632 }
2633 switch {
2634 case (m.data)[(m.p)] > 92:
2635 if 94 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
2636 goto st49
2637 }
2638 case (m.data)[(m.p)] >= 35:
2639 goto st49
2640 }
2641 goto tr46
2642 st49:
2643 if (m.p)++; (m.p) == (m.pe) {
2644 goto _testEof49
2645 }
2646 stCase49:
2647 switch (m.data)[(m.p)] {
2648 case 33:
2649 goto st50
2650 case 61:
2651 goto tr49
2652 }
2653 switch {
2654 case (m.data)[(m.p)] > 92:
2655 if 94 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
2656 goto st50
2657 }
2658 case (m.data)[(m.p)] >= 35:
2659 goto st50
2660 }
2661 goto tr46
2662 st50:
2663 if (m.p)++; (m.p) == (m.pe) {
2664 goto _testEof50
2665 }
2666 stCase50:
2667 switch (m.data)[(m.p)] {
2668 case 33:
2669 goto st51
2670 case 61:
2671 goto tr49
2672 }
2673 switch {
2674 case (m.data)[(m.p)] > 92:
2675 if 94 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
2676 goto st51
2677 }
2678 case (m.data)[(m.p)] >= 35:
2679 goto st51
2680 }
2681 goto tr46
2682 st51:
2683 if (m.p)++; (m.p) == (m.pe) {
2684 goto _testEof51
2685 }
2686 stCase51:
2687 switch (m.data)[(m.p)] {
2688 case 33:
2689 goto st52
2690 case 61:
2691 goto tr49
2692 }
2693 switch {
2694 case (m.data)[(m.p)] > 92:
2695 if 94 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
2696 goto st52
2697 }
2698 case (m.data)[(m.p)] >= 35:
2699 goto st52
2700 }
2701 goto tr46
2702 st52:
2703 if (m.p)++; (m.p) == (m.pe) {
2704 goto _testEof52
2705 }
2706 stCase52:
2707 switch (m.data)[(m.p)] {
2708 case 33:
2709 goto st53
2710 case 61:
2711 goto tr49
2712 }
2713 switch {
2714 case (m.data)[(m.p)] > 92:
2715 if 94 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
2716 goto st53
2717 }
2718 case (m.data)[(m.p)] >= 35:
2719 goto st53
2720 }
2721 goto tr46
2722 st53:
2723 if (m.p)++; (m.p) == (m.pe) {
2724 goto _testEof53
2725 }
2726 stCase53:
2727 switch (m.data)[(m.p)] {
2728 case 33:
2729 goto st54
2730 case 61:
2731 goto tr49
2732 }
2733 switch {
2734 case (m.data)[(m.p)] > 92:
2735 if 94 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
2736 goto st54
2737 }
2738 case (m.data)[(m.p)] >= 35:
2739 goto st54
2740 }
2741 goto tr46
2742 st54:
2743 if (m.p)++; (m.p) == (m.pe) {
2744 goto _testEof54
2745 }
2746 stCase54:
2747 switch (m.data)[(m.p)] {
2748 case 33:
2749 goto st55
2750 case 61:
2751 goto tr49
2752 }
2753 switch {
2754 case (m.data)[(m.p)] > 92:
2755 if 94 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
2756 goto st55
2757 }
2758 case (m.data)[(m.p)] >= 35:
2759 goto st55
2760 }
2761 goto tr46
2762 st55:
2763 if (m.p)++; (m.p) == (m.pe) {
2764 goto _testEof55
2765 }
2766 stCase55:
2767 switch (m.data)[(m.p)] {
2768 case 33:
2769 goto st56
2770 case 61:
2771 goto tr49
2772 }
2773 switch {
2774 case (m.data)[(m.p)] > 92:
2775 if 94 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
2776 goto st56
2777 }
2778 case (m.data)[(m.p)] >= 35:
2779 goto st56
2780 }
2781 goto tr46
2782 st56:
2783 if (m.p)++; (m.p) == (m.pe) {
2784 goto _testEof56
2785 }
2786 stCase56:
2787 switch (m.data)[(m.p)] {
2788 case 33:
2789 goto st57
2790 case 61:
2791 goto tr49
2792 }
2793 switch {
2794 case (m.data)[(m.p)] > 92:
2795 if 94 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
2796 goto st57
2797 }
2798 case (m.data)[(m.p)] >= 35:
2799 goto st57
2800 }
2801 goto tr46
2802 st57:
2803 if (m.p)++; (m.p) == (m.pe) {
2804 goto _testEof57
2805 }
2806 stCase57:
2807 switch (m.data)[(m.p)] {
2808 case 33:
2809 goto st58
2810 case 61:
2811 goto tr49
2812 }
2813 switch {
2814 case (m.data)[(m.p)] > 92:
2815 if 94 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
2816 goto st58
2817 }
2818 case (m.data)[(m.p)] >= 35:
2819 goto st58
2820 }
2821 goto tr46
2822 st58:
2823 if (m.p)++; (m.p) == (m.pe) {
2824 goto _testEof58
2825 }
2826 stCase58:
2827 if (m.data)[(m.p)] == 61 {
2828 goto tr49
2829 }
2830 goto tr46
2831 tr49:
2832
2833 m.currentparam = string(m.text())
2834
2835 goto st59
2836 st59:
2837 if (m.p)++; (m.p) == (m.pe) {
2838 goto _testEof59
2839 }
2840 stCase59:
2841 if (m.data)[(m.p)] == 34 {
2842 goto st60
2843 }
2844 goto tr46
2845 st60:
2846 if (m.p)++; (m.p) == (m.pe) {
2847 goto _testEof60
2848 }
2849 stCase60:
2850 switch (m.data)[(m.p)] {
2851 case 34:
2852 goto tr82
2853 case 92:
2854 goto tr83
2855 case 93:
2856 goto tr84
2857 case 224:
2858 goto tr86
2859 case 237:
2860 goto tr88
2861 case 240:
2862 goto tr89
2863 case 244:
2864 goto tr91
2865 }
2866 switch {
2867 case (m.data)[(m.p)] < 225:
2868 switch {
2869 case (m.data)[(m.p)] > 193:
2870 if 194 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 223 {
2871 goto tr85
2872 }
2873 case (m.data)[(m.p)] >= 128:
2874 goto tr84
2875 }
2876 case (m.data)[(m.p)] > 239:
2877 switch {
2878 case (m.data)[(m.p)] > 243:
2879 if 245 <= (m.data)[(m.p)] {
2880 goto tr84
2881 }
2882 case (m.data)[(m.p)] >= 241:
2883 goto tr90
2884 }
2885 default:
2886 goto tr87
2887 }
2888 goto tr81
2889 tr81:
2890
2891 m.pb = m.p
2892
2893 goto st61
2894 st61:
2895 if (m.p)++; (m.p) == (m.pe) {
2896 goto _testEof61
2897 }
2898 stCase61:
2899 switch (m.data)[(m.p)] {
2900 case 34:
2901 goto tr93
2902 case 92:
2903 goto tr94
2904 case 93:
2905 goto tr84
2906 case 224:
2907 goto st65
2908 case 237:
2909 goto st67
2910 case 240:
2911 goto st68
2912 case 244:
2913 goto st70
2914 }
2915 switch {
2916 case (m.data)[(m.p)] < 225:
2917 switch {
2918 case (m.data)[(m.p)] > 193:
2919 if 194 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 223 {
2920 goto st64
2921 }
2922 case (m.data)[(m.p)] >= 128:
2923 goto tr84
2924 }
2925 case (m.data)[(m.p)] > 239:
2926 switch {
2927 case (m.data)[(m.p)] > 243:
2928 if 245 <= (m.data)[(m.p)] {
2929 goto tr84
2930 }
2931 case (m.data)[(m.p)] >= 241:
2932 goto st69
2933 }
2934 default:
2935 goto st66
2936 }
2937 goto st61
2938 tr82:
2939
2940 m.pb = m.p
2941
2942 if output.hasElements {
2943 // (fixme) > what if SD-PARAM-NAME already exist for the current element (ie., current SD-ID)?
2944
2945 // Store text
2946 text := m.text()
2947
2948 // Strip backslashes only when there are ...
2949 if len(m.backslashat) > 0 {
2950 text = rmchars(text, m.backslashat, m.pb)
2951 }
2952 output.structuredData[m.currentelem][m.currentparam] = string(text)
2953 }
2954
2955 goto st62
2956 tr93:
2957
2958 if output.hasElements {
2959 // (fixme) > what if SD-PARAM-NAME already exist for the current element (ie., current SD-ID)?
2960
2961 // Store text
2962 text := m.text()
2963
2964 // Strip backslashes only when there are ...
2965 if len(m.backslashat) > 0 {
2966 text = rmchars(text, m.backslashat, m.pb)
2967 }
2968 output.structuredData[m.currentelem][m.currentparam] = string(text)
2969 }
2970
2971 goto st62
2972 st62:
2973 if (m.p)++; (m.p) == (m.pe) {
2974 goto _testEof62
2975 }
2976 stCase62:
2977 switch (m.data)[(m.p)] {
2978 case 32:
2979 goto st26
2980 case 93:
2981 goto st606
2982 }
2983 goto tr46
2984 tr45:
2985
2986 if _, ok := output.structuredData[string(m.text())]; ok {
2987 // As per RFC5424 section 6.3.2 SD-ID MUST NOT exist more than once in a message
2988 m.err = fmt.Errorf(errSdIDDuplicated, m.p)
2989 (m.p)--
2990
2991 {
2992 goto st607
2993 }
2994 } else {
2995 id := string(m.text())
2996 output.structuredData[id] = map[string]string{}
2997 output.hasElements = true
2998 m.currentelem = id
2999 }
3000
3001 goto st606
3002 st606:
3003 if (m.p)++; (m.p) == (m.pe) {
3004 goto _testEof606
3005 }
3006 stCase606:
3007 switch (m.data)[(m.p)] {
3008 case 32:
3009 goto st604
3010 case 91:
3011 goto st24
3012 }
3013 goto tr645
3014 tr83:
3015
3016 m.pb = m.p
3017
3018 m.backslashat = append(m.backslashat, m.p)
3019
3020 goto st63
3021 tr94:
3022
3023 m.backslashat = append(m.backslashat, m.p)
3024
3025 goto st63
3026 st63:
3027 if (m.p)++; (m.p) == (m.pe) {
3028 goto _testEof63
3029 }
3030 stCase63:
3031 if (m.data)[(m.p)] == 34 {
3032 goto st61
3033 }
3034 if 92 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 93 {
3035 goto st61
3036 }
3037 goto tr84
3038 tr85:
3039
3040 m.pb = m.p
3041
3042 goto st64
3043 st64:
3044 if (m.p)++; (m.p) == (m.pe) {
3045 goto _testEof64
3046 }
3047 stCase64:
3048 if 128 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 191 {
3049 goto st61
3050 }
3051 goto tr46
3052 tr86:
3053
3054 m.pb = m.p
3055
3056 goto st65
3057 st65:
3058 if (m.p)++; (m.p) == (m.pe) {
3059 goto _testEof65
3060 }
3061 stCase65:
3062 if 160 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 191 {
3063 goto st64
3064 }
3065 goto tr46
3066 tr87:
3067
3068 m.pb = m.p
3069
3070 goto st66
3071 st66:
3072 if (m.p)++; (m.p) == (m.pe) {
3073 goto _testEof66
3074 }
3075 stCase66:
3076 if 128 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 191 {
3077 goto st64
3078 }
3079 goto tr46
3080 tr88:
3081
3082 m.pb = m.p
3083
3084 goto st67
3085 st67:
3086 if (m.p)++; (m.p) == (m.pe) {
3087 goto _testEof67
3088 }
3089 stCase67:
3090 if 128 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 159 {
3091 goto st64
3092 }
3093 goto tr46
3094 tr89:
3095
3096 m.pb = m.p
3097
3098 goto st68
3099 st68:
3100 if (m.p)++; (m.p) == (m.pe) {
3101 goto _testEof68
3102 }
3103 stCase68:
3104 if 144 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 191 {
3105 goto st66
3106 }
3107 goto tr46
3108 tr90:
3109
3110 m.pb = m.p
3111
3112 goto st69
3113 st69:
3114 if (m.p)++; (m.p) == (m.pe) {
3115 goto _testEof69
3116 }
3117 stCase69:
3118 if 128 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 191 {
3119 goto st66
3120 }
3121 goto tr46
3122 tr91:
3123
3124 m.pb = m.p
3125
3126 goto st70
3127 st70:
3128 if (m.p)++; (m.p) == (m.pe) {
3129 goto _testEof70
3130 }
3131 stCase70:
3132 if 128 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 143 {
3133 goto st66
3134 }
3135 goto tr46
3136 st71:
3137 if (m.p)++; (m.p) == (m.pe) {
3138 goto _testEof71
3139 }
3140 stCase71:
3141 switch (m.data)[(m.p)] {
3142 case 32:
3143 goto tr43
3144 case 33:
3145 goto st72
3146 case 93:
3147 goto tr45
3148 }
3149 switch {
3150 case (m.data)[(m.p)] > 60:
3151 if 62 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
3152 goto st72
3153 }
3154 case (m.data)[(m.p)] >= 35:
3155 goto st72
3156 }
3157 goto tr42
3158 st72:
3159 if (m.p)++; (m.p) == (m.pe) {
3160 goto _testEof72
3161 }
3162 stCase72:
3163 switch (m.data)[(m.p)] {
3164 case 32:
3165 goto tr43
3166 case 33:
3167 goto st73
3168 case 93:
3169 goto tr45
3170 }
3171 switch {
3172 case (m.data)[(m.p)] > 60:
3173 if 62 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
3174 goto st73
3175 }
3176 case (m.data)[(m.p)] >= 35:
3177 goto st73
3178 }
3179 goto tr42
3180 st73:
3181 if (m.p)++; (m.p) == (m.pe) {
3182 goto _testEof73
3183 }
3184 stCase73:
3185 switch (m.data)[(m.p)] {
3186 case 32:
3187 goto tr43
3188 case 33:
3189 goto st74
3190 case 93:
3191 goto tr45
3192 }
3193 switch {
3194 case (m.data)[(m.p)] > 60:
3195 if 62 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
3196 goto st74
3197 }
3198 case (m.data)[(m.p)] >= 35:
3199 goto st74
3200 }
3201 goto tr42
3202 st74:
3203 if (m.p)++; (m.p) == (m.pe) {
3204 goto _testEof74
3205 }
3206 stCase74:
3207 switch (m.data)[(m.p)] {
3208 case 32:
3209 goto tr43
3210 case 33:
3211 goto st75
3212 case 93:
3213 goto tr45
3214 }
3215 switch {
3216 case (m.data)[(m.p)] > 60:
3217 if 62 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
3218 goto st75
3219 }
3220 case (m.data)[(m.p)] >= 35:
3221 goto st75
3222 }
3223 goto tr42
3224 st75:
3225 if (m.p)++; (m.p) == (m.pe) {
3226 goto _testEof75
3227 }
3228 stCase75:
3229 switch (m.data)[(m.p)] {
3230 case 32:
3231 goto tr43
3232 case 33:
3233 goto st76
3234 case 93:
3235 goto tr45
3236 }
3237 switch {
3238 case (m.data)[(m.p)] > 60:
3239 if 62 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
3240 goto st76
3241 }
3242 case (m.data)[(m.p)] >= 35:
3243 goto st76
3244 }
3245 goto tr42
3246 st76:
3247 if (m.p)++; (m.p) == (m.pe) {
3248 goto _testEof76
3249 }
3250 stCase76:
3251 switch (m.data)[(m.p)] {
3252 case 32:
3253 goto tr43
3254 case 33:
3255 goto st77
3256 case 93:
3257 goto tr45
3258 }
3259 switch {
3260 case (m.data)[(m.p)] > 60:
3261 if 62 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
3262 goto st77
3263 }
3264 case (m.data)[(m.p)] >= 35:
3265 goto st77
3266 }
3267 goto tr42
3268 st77:
3269 if (m.p)++; (m.p) == (m.pe) {
3270 goto _testEof77
3271 }
3272 stCase77:
3273 switch (m.data)[(m.p)] {
3274 case 32:
3275 goto tr43
3276 case 33:
3277 goto st78
3278 case 93:
3279 goto tr45
3280 }
3281 switch {
3282 case (m.data)[(m.p)] > 60:
3283 if 62 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
3284 goto st78
3285 }
3286 case (m.data)[(m.p)] >= 35:
3287 goto st78
3288 }
3289 goto tr42
3290 st78:
3291 if (m.p)++; (m.p) == (m.pe) {
3292 goto _testEof78
3293 }
3294 stCase78:
3295 switch (m.data)[(m.p)] {
3296 case 32:
3297 goto tr43
3298 case 33:
3299 goto st79
3300 case 93:
3301 goto tr45
3302 }
3303 switch {
3304 case (m.data)[(m.p)] > 60:
3305 if 62 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
3306 goto st79
3307 }
3308 case (m.data)[(m.p)] >= 35:
3309 goto st79
3310 }
3311 goto tr42
3312 st79:
3313 if (m.p)++; (m.p) == (m.pe) {
3314 goto _testEof79
3315 }
3316 stCase79:
3317 switch (m.data)[(m.p)] {
3318 case 32:
3319 goto tr43
3320 case 33:
3321 goto st80
3322 case 93:
3323 goto tr45
3324 }
3325 switch {
3326 case (m.data)[(m.p)] > 60:
3327 if 62 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
3328 goto st80
3329 }
3330 case (m.data)[(m.p)] >= 35:
3331 goto st80
3332 }
3333 goto tr42
3334 st80:
3335 if (m.p)++; (m.p) == (m.pe) {
3336 goto _testEof80
3337 }
3338 stCase80:
3339 switch (m.data)[(m.p)] {
3340 case 32:
3341 goto tr43
3342 case 33:
3343 goto st81
3344 case 93:
3345 goto tr45
3346 }
3347 switch {
3348 case (m.data)[(m.p)] > 60:
3349 if 62 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
3350 goto st81
3351 }
3352 case (m.data)[(m.p)] >= 35:
3353 goto st81
3354 }
3355 goto tr42
3356 st81:
3357 if (m.p)++; (m.p) == (m.pe) {
3358 goto _testEof81
3359 }
3360 stCase81:
3361 switch (m.data)[(m.p)] {
3362 case 32:
3363 goto tr43
3364 case 33:
3365 goto st82
3366 case 93:
3367 goto tr45
3368 }
3369 switch {
3370 case (m.data)[(m.p)] > 60:
3371 if 62 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
3372 goto st82
3373 }
3374 case (m.data)[(m.p)] >= 35:
3375 goto st82
3376 }
3377 goto tr42
3378 st82:
3379 if (m.p)++; (m.p) == (m.pe) {
3380 goto _testEof82
3381 }
3382 stCase82:
3383 switch (m.data)[(m.p)] {
3384 case 32:
3385 goto tr43
3386 case 33:
3387 goto st83
3388 case 93:
3389 goto tr45
3390 }
3391 switch {
3392 case (m.data)[(m.p)] > 60:
3393 if 62 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
3394 goto st83
3395 }
3396 case (m.data)[(m.p)] >= 35:
3397 goto st83
3398 }
3399 goto tr42
3400 st83:
3401 if (m.p)++; (m.p) == (m.pe) {
3402 goto _testEof83
3403 }
3404 stCase83:
3405 switch (m.data)[(m.p)] {
3406 case 32:
3407 goto tr43
3408 case 33:
3409 goto st84
3410 case 93:
3411 goto tr45
3412 }
3413 switch {
3414 case (m.data)[(m.p)] > 60:
3415 if 62 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
3416 goto st84
3417 }
3418 case (m.data)[(m.p)] >= 35:
3419 goto st84
3420 }
3421 goto tr42
3422 st84:
3423 if (m.p)++; (m.p) == (m.pe) {
3424 goto _testEof84
3425 }
3426 stCase84:
3427 switch (m.data)[(m.p)] {
3428 case 32:
3429 goto tr43
3430 case 33:
3431 goto st85
3432 case 93:
3433 goto tr45
3434 }
3435 switch {
3436 case (m.data)[(m.p)] > 60:
3437 if 62 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
3438 goto st85
3439 }
3440 case (m.data)[(m.p)] >= 35:
3441 goto st85
3442 }
3443 goto tr42
3444 st85:
3445 if (m.p)++; (m.p) == (m.pe) {
3446 goto _testEof85
3447 }
3448 stCase85:
3449 switch (m.data)[(m.p)] {
3450 case 32:
3451 goto tr43
3452 case 33:
3453 goto st86
3454 case 93:
3455 goto tr45
3456 }
3457 switch {
3458 case (m.data)[(m.p)] > 60:
3459 if 62 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
3460 goto st86
3461 }
3462 case (m.data)[(m.p)] >= 35:
3463 goto st86
3464 }
3465 goto tr42
3466 st86:
3467 if (m.p)++; (m.p) == (m.pe) {
3468 goto _testEof86
3469 }
3470 stCase86:
3471 switch (m.data)[(m.p)] {
3472 case 32:
3473 goto tr43
3474 case 33:
3475 goto st87
3476 case 93:
3477 goto tr45
3478 }
3479 switch {
3480 case (m.data)[(m.p)] > 60:
3481 if 62 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
3482 goto st87
3483 }
3484 case (m.data)[(m.p)] >= 35:
3485 goto st87
3486 }
3487 goto tr42
3488 st87:
3489 if (m.p)++; (m.p) == (m.pe) {
3490 goto _testEof87
3491 }
3492 stCase87:
3493 switch (m.data)[(m.p)] {
3494 case 32:
3495 goto tr43
3496 case 33:
3497 goto st88
3498 case 93:
3499 goto tr45
3500 }
3501 switch {
3502 case (m.data)[(m.p)] > 60:
3503 if 62 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
3504 goto st88
3505 }
3506 case (m.data)[(m.p)] >= 35:
3507 goto st88
3508 }
3509 goto tr42
3510 st88:
3511 if (m.p)++; (m.p) == (m.pe) {
3512 goto _testEof88
3513 }
3514 stCase88:
3515 switch (m.data)[(m.p)] {
3516 case 32:
3517 goto tr43
3518 case 33:
3519 goto st89
3520 case 93:
3521 goto tr45
3522 }
3523 switch {
3524 case (m.data)[(m.p)] > 60:
3525 if 62 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
3526 goto st89
3527 }
3528 case (m.data)[(m.p)] >= 35:
3529 goto st89
3530 }
3531 goto tr42
3532 st89:
3533 if (m.p)++; (m.p) == (m.pe) {
3534 goto _testEof89
3535 }
3536 stCase89:
3537 switch (m.data)[(m.p)] {
3538 case 32:
3539 goto tr43
3540 case 33:
3541 goto st90
3542 case 93:
3543 goto tr45
3544 }
3545 switch {
3546 case (m.data)[(m.p)] > 60:
3547 if 62 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
3548 goto st90
3549 }
3550 case (m.data)[(m.p)] >= 35:
3551 goto st90
3552 }
3553 goto tr42
3554 st90:
3555 if (m.p)++; (m.p) == (m.pe) {
3556 goto _testEof90
3557 }
3558 stCase90:
3559 switch (m.data)[(m.p)] {
3560 case 32:
3561 goto tr43
3562 case 33:
3563 goto st91
3564 case 93:
3565 goto tr45
3566 }
3567 switch {
3568 case (m.data)[(m.p)] > 60:
3569 if 62 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
3570 goto st91
3571 }
3572 case (m.data)[(m.p)] >= 35:
3573 goto st91
3574 }
3575 goto tr42
3576 st91:
3577 if (m.p)++; (m.p) == (m.pe) {
3578 goto _testEof91
3579 }
3580 stCase91:
3581 switch (m.data)[(m.p)] {
3582 case 32:
3583 goto tr43
3584 case 33:
3585 goto st92
3586 case 93:
3587 goto tr45
3588 }
3589 switch {
3590 case (m.data)[(m.p)] > 60:
3591 if 62 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
3592 goto st92
3593 }
3594 case (m.data)[(m.p)] >= 35:
3595 goto st92
3596 }
3597 goto tr42
3598 st92:
3599 if (m.p)++; (m.p) == (m.pe) {
3600 goto _testEof92
3601 }
3602 stCase92:
3603 switch (m.data)[(m.p)] {
3604 case 32:
3605 goto tr43
3606 case 33:
3607 goto st93
3608 case 93:
3609 goto tr45
3610 }
3611 switch {
3612 case (m.data)[(m.p)] > 60:
3613 if 62 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
3614 goto st93
3615 }
3616 case (m.data)[(m.p)] >= 35:
3617 goto st93
3618 }
3619 goto tr42
3620 st93:
3621 if (m.p)++; (m.p) == (m.pe) {
3622 goto _testEof93
3623 }
3624 stCase93:
3625 switch (m.data)[(m.p)] {
3626 case 32:
3627 goto tr43
3628 case 33:
3629 goto st94
3630 case 93:
3631 goto tr45
3632 }
3633 switch {
3634 case (m.data)[(m.p)] > 60:
3635 if 62 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
3636 goto st94
3637 }
3638 case (m.data)[(m.p)] >= 35:
3639 goto st94
3640 }
3641 goto tr42
3642 st94:
3643 if (m.p)++; (m.p) == (m.pe) {
3644 goto _testEof94
3645 }
3646 stCase94:
3647 switch (m.data)[(m.p)] {
3648 case 32:
3649 goto tr43
3650 case 33:
3651 goto st95
3652 case 93:
3653 goto tr45
3654 }
3655 switch {
3656 case (m.data)[(m.p)] > 60:
3657 if 62 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
3658 goto st95
3659 }
3660 case (m.data)[(m.p)] >= 35:
3661 goto st95
3662 }
3663 goto tr42
3664 st95:
3665 if (m.p)++; (m.p) == (m.pe) {
3666 goto _testEof95
3667 }
3668 stCase95:
3669 switch (m.data)[(m.p)] {
3670 case 32:
3671 goto tr43
3672 case 33:
3673 goto st96
3674 case 93:
3675 goto tr45
3676 }
3677 switch {
3678 case (m.data)[(m.p)] > 60:
3679 if 62 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
3680 goto st96
3681 }
3682 case (m.data)[(m.p)] >= 35:
3683 goto st96
3684 }
3685 goto tr42
3686 st96:
3687 if (m.p)++; (m.p) == (m.pe) {
3688 goto _testEof96
3689 }
3690 stCase96:
3691 switch (m.data)[(m.p)] {
3692 case 32:
3693 goto tr43
3694 case 33:
3695 goto st97
3696 case 93:
3697 goto tr45
3698 }
3699 switch {
3700 case (m.data)[(m.p)] > 60:
3701 if 62 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
3702 goto st97
3703 }
3704 case (m.data)[(m.p)] >= 35:
3705 goto st97
3706 }
3707 goto tr42
3708 st97:
3709 if (m.p)++; (m.p) == (m.pe) {
3710 goto _testEof97
3711 }
3712 stCase97:
3713 switch (m.data)[(m.p)] {
3714 case 32:
3715 goto tr43
3716 case 33:
3717 goto st98
3718 case 93:
3719 goto tr45
3720 }
3721 switch {
3722 case (m.data)[(m.p)] > 60:
3723 if 62 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
3724 goto st98
3725 }
3726 case (m.data)[(m.p)] >= 35:
3727 goto st98
3728 }
3729 goto tr42
3730 st98:
3731 if (m.p)++; (m.p) == (m.pe) {
3732 goto _testEof98
3733 }
3734 stCase98:
3735 switch (m.data)[(m.p)] {
3736 case 32:
3737 goto tr43
3738 case 33:
3739 goto st99
3740 case 93:
3741 goto tr45
3742 }
3743 switch {
3744 case (m.data)[(m.p)] > 60:
3745 if 62 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
3746 goto st99
3747 }
3748 case (m.data)[(m.p)] >= 35:
3749 goto st99
3750 }
3751 goto tr42
3752 st99:
3753 if (m.p)++; (m.p) == (m.pe) {
3754 goto _testEof99
3755 }
3756 stCase99:
3757 switch (m.data)[(m.p)] {
3758 case 32:
3759 goto tr43
3760 case 33:
3761 goto st100
3762 case 93:
3763 goto tr45
3764 }
3765 switch {
3766 case (m.data)[(m.p)] > 60:
3767 if 62 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
3768 goto st100
3769 }
3770 case (m.data)[(m.p)] >= 35:
3771 goto st100
3772 }
3773 goto tr42
3774 st100:
3775 if (m.p)++; (m.p) == (m.pe) {
3776 goto _testEof100
3777 }
3778 stCase100:
3779 switch (m.data)[(m.p)] {
3780 case 32:
3781 goto tr43
3782 case 33:
3783 goto st101
3784 case 93:
3785 goto tr45
3786 }
3787 switch {
3788 case (m.data)[(m.p)] > 60:
3789 if 62 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
3790 goto st101
3791 }
3792 case (m.data)[(m.p)] >= 35:
3793 goto st101
3794 }
3795 goto tr42
3796 st101:
3797 if (m.p)++; (m.p) == (m.pe) {
3798 goto _testEof101
3799 }
3800 stCase101:
3801 switch (m.data)[(m.p)] {
3802 case 32:
3803 goto tr43
3804 case 93:
3805 goto tr45
3806 }
3807 goto tr42
3808 st102:
3809 if (m.p)++; (m.p) == (m.pe) {
3810 goto _testEof102
3811 }
3812 stCase102:
3813 if (m.data)[(m.p)] == 32 {
3814 goto tr31
3815 }
3816 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
3817 goto st103
3818 }
3819 goto tr30
3820 st103:
3821 if (m.p)++; (m.p) == (m.pe) {
3822 goto _testEof103
3823 }
3824 stCase103:
3825 if (m.data)[(m.p)] == 32 {
3826 goto tr31
3827 }
3828 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
3829 goto st104
3830 }
3831 goto tr30
3832 st104:
3833 if (m.p)++; (m.p) == (m.pe) {
3834 goto _testEof104
3835 }
3836 stCase104:
3837 if (m.data)[(m.p)] == 32 {
3838 goto tr31
3839 }
3840 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
3841 goto st105
3842 }
3843 goto tr30
3844 st105:
3845 if (m.p)++; (m.p) == (m.pe) {
3846 goto _testEof105
3847 }
3848 stCase105:
3849 if (m.data)[(m.p)] == 32 {
3850 goto tr31
3851 }
3852 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
3853 goto st106
3854 }
3855 goto tr30
3856 st106:
3857 if (m.p)++; (m.p) == (m.pe) {
3858 goto _testEof106
3859 }
3860 stCase106:
3861 if (m.data)[(m.p)] == 32 {
3862 goto tr31
3863 }
3864 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
3865 goto st107
3866 }
3867 goto tr30
3868 st107:
3869 if (m.p)++; (m.p) == (m.pe) {
3870 goto _testEof107
3871 }
3872 stCase107:
3873 if (m.data)[(m.p)] == 32 {
3874 goto tr31
3875 }
3876 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
3877 goto st108
3878 }
3879 goto tr30
3880 st108:
3881 if (m.p)++; (m.p) == (m.pe) {
3882 goto _testEof108
3883 }
3884 stCase108:
3885 if (m.data)[(m.p)] == 32 {
3886 goto tr31
3887 }
3888 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
3889 goto st109
3890 }
3891 goto tr30
3892 st109:
3893 if (m.p)++; (m.p) == (m.pe) {
3894 goto _testEof109
3895 }
3896 stCase109:
3897 if (m.data)[(m.p)] == 32 {
3898 goto tr31
3899 }
3900 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
3901 goto st110
3902 }
3903 goto tr30
3904 st110:
3905 if (m.p)++; (m.p) == (m.pe) {
3906 goto _testEof110
3907 }
3908 stCase110:
3909 if (m.data)[(m.p)] == 32 {
3910 goto tr31
3911 }
3912 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
3913 goto st111
3914 }
3915 goto tr30
3916 st111:
3917 if (m.p)++; (m.p) == (m.pe) {
3918 goto _testEof111
3919 }
3920 stCase111:
3921 if (m.data)[(m.p)] == 32 {
3922 goto tr31
3923 }
3924 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
3925 goto st112
3926 }
3927 goto tr30
3928 st112:
3929 if (m.p)++; (m.p) == (m.pe) {
3930 goto _testEof112
3931 }
3932 stCase112:
3933 if (m.data)[(m.p)] == 32 {
3934 goto tr31
3935 }
3936 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
3937 goto st113
3938 }
3939 goto tr30
3940 st113:
3941 if (m.p)++; (m.p) == (m.pe) {
3942 goto _testEof113
3943 }
3944 stCase113:
3945 if (m.data)[(m.p)] == 32 {
3946 goto tr31
3947 }
3948 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
3949 goto st114
3950 }
3951 goto tr30
3952 st114:
3953 if (m.p)++; (m.p) == (m.pe) {
3954 goto _testEof114
3955 }
3956 stCase114:
3957 if (m.data)[(m.p)] == 32 {
3958 goto tr31
3959 }
3960 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
3961 goto st115
3962 }
3963 goto tr30
3964 st115:
3965 if (m.p)++; (m.p) == (m.pe) {
3966 goto _testEof115
3967 }
3968 stCase115:
3969 if (m.data)[(m.p)] == 32 {
3970 goto tr31
3971 }
3972 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
3973 goto st116
3974 }
3975 goto tr30
3976 st116:
3977 if (m.p)++; (m.p) == (m.pe) {
3978 goto _testEof116
3979 }
3980 stCase116:
3981 if (m.data)[(m.p)] == 32 {
3982 goto tr31
3983 }
3984 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
3985 goto st117
3986 }
3987 goto tr30
3988 st117:
3989 if (m.p)++; (m.p) == (m.pe) {
3990 goto _testEof117
3991 }
3992 stCase117:
3993 if (m.data)[(m.p)] == 32 {
3994 goto tr31
3995 }
3996 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
3997 goto st118
3998 }
3999 goto tr30
4000 st118:
4001 if (m.p)++; (m.p) == (m.pe) {
4002 goto _testEof118
4003 }
4004 stCase118:
4005 if (m.data)[(m.p)] == 32 {
4006 goto tr31
4007 }
4008 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4009 goto st119
4010 }
4011 goto tr30
4012 st119:
4013 if (m.p)++; (m.p) == (m.pe) {
4014 goto _testEof119
4015 }
4016 stCase119:
4017 if (m.data)[(m.p)] == 32 {
4018 goto tr31
4019 }
4020 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4021 goto st120
4022 }
4023 goto tr30
4024 st120:
4025 if (m.p)++; (m.p) == (m.pe) {
4026 goto _testEof120
4027 }
4028 stCase120:
4029 if (m.data)[(m.p)] == 32 {
4030 goto tr31
4031 }
4032 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4033 goto st121
4034 }
4035 goto tr30
4036 st121:
4037 if (m.p)++; (m.p) == (m.pe) {
4038 goto _testEof121
4039 }
4040 stCase121:
4041 if (m.data)[(m.p)] == 32 {
4042 goto tr31
4043 }
4044 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4045 goto st122
4046 }
4047 goto tr30
4048 st122:
4049 if (m.p)++; (m.p) == (m.pe) {
4050 goto _testEof122
4051 }
4052 stCase122:
4053 if (m.data)[(m.p)] == 32 {
4054 goto tr31
4055 }
4056 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4057 goto st123
4058 }
4059 goto tr30
4060 st123:
4061 if (m.p)++; (m.p) == (m.pe) {
4062 goto _testEof123
4063 }
4064 stCase123:
4065 if (m.data)[(m.p)] == 32 {
4066 goto tr31
4067 }
4068 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4069 goto st124
4070 }
4071 goto tr30
4072 st124:
4073 if (m.p)++; (m.p) == (m.pe) {
4074 goto _testEof124
4075 }
4076 stCase124:
4077 if (m.data)[(m.p)] == 32 {
4078 goto tr31
4079 }
4080 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4081 goto st125
4082 }
4083 goto tr30
4084 st125:
4085 if (m.p)++; (m.p) == (m.pe) {
4086 goto _testEof125
4087 }
4088 stCase125:
4089 if (m.data)[(m.p)] == 32 {
4090 goto tr31
4091 }
4092 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4093 goto st126
4094 }
4095 goto tr30
4096 st126:
4097 if (m.p)++; (m.p) == (m.pe) {
4098 goto _testEof126
4099 }
4100 stCase126:
4101 if (m.data)[(m.p)] == 32 {
4102 goto tr31
4103 }
4104 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4105 goto st127
4106 }
4107 goto tr30
4108 st127:
4109 if (m.p)++; (m.p) == (m.pe) {
4110 goto _testEof127
4111 }
4112 stCase127:
4113 if (m.data)[(m.p)] == 32 {
4114 goto tr31
4115 }
4116 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4117 goto st128
4118 }
4119 goto tr30
4120 st128:
4121 if (m.p)++; (m.p) == (m.pe) {
4122 goto _testEof128
4123 }
4124 stCase128:
4125 if (m.data)[(m.p)] == 32 {
4126 goto tr31
4127 }
4128 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4129 goto st129
4130 }
4131 goto tr30
4132 st129:
4133 if (m.p)++; (m.p) == (m.pe) {
4134 goto _testEof129
4135 }
4136 stCase129:
4137 if (m.data)[(m.p)] == 32 {
4138 goto tr31
4139 }
4140 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4141 goto st130
4142 }
4143 goto tr30
4144 st130:
4145 if (m.p)++; (m.p) == (m.pe) {
4146 goto _testEof130
4147 }
4148 stCase130:
4149 if (m.data)[(m.p)] == 32 {
4150 goto tr31
4151 }
4152 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4153 goto st131
4154 }
4155 goto tr30
4156 st131:
4157 if (m.p)++; (m.p) == (m.pe) {
4158 goto _testEof131
4159 }
4160 stCase131:
4161 if (m.data)[(m.p)] == 32 {
4162 goto tr31
4163 }
4164 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4165 goto st132
4166 }
4167 goto tr30
4168 st132:
4169 if (m.p)++; (m.p) == (m.pe) {
4170 goto _testEof132
4171 }
4172 stCase132:
4173 if (m.data)[(m.p)] == 32 {
4174 goto tr31
4175 }
4176 goto tr30
4177 st133:
4178 if (m.p)++; (m.p) == (m.pe) {
4179 goto _testEof133
4180 }
4181 stCase133:
4182 if (m.data)[(m.p)] == 32 {
4183 goto tr26
4184 }
4185 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4186 goto st134
4187 }
4188 goto tr24
4189 st134:
4190 if (m.p)++; (m.p) == (m.pe) {
4191 goto _testEof134
4192 }
4193 stCase134:
4194 if (m.data)[(m.p)] == 32 {
4195 goto tr26
4196 }
4197 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4198 goto st135
4199 }
4200 goto tr24
4201 st135:
4202 if (m.p)++; (m.p) == (m.pe) {
4203 goto _testEof135
4204 }
4205 stCase135:
4206 if (m.data)[(m.p)] == 32 {
4207 goto tr26
4208 }
4209 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4210 goto st136
4211 }
4212 goto tr24
4213 st136:
4214 if (m.p)++; (m.p) == (m.pe) {
4215 goto _testEof136
4216 }
4217 stCase136:
4218 if (m.data)[(m.p)] == 32 {
4219 goto tr26
4220 }
4221 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4222 goto st137
4223 }
4224 goto tr24
4225 st137:
4226 if (m.p)++; (m.p) == (m.pe) {
4227 goto _testEof137
4228 }
4229 stCase137:
4230 if (m.data)[(m.p)] == 32 {
4231 goto tr26
4232 }
4233 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4234 goto st138
4235 }
4236 goto tr24
4237 st138:
4238 if (m.p)++; (m.p) == (m.pe) {
4239 goto _testEof138
4240 }
4241 stCase138:
4242 if (m.data)[(m.p)] == 32 {
4243 goto tr26
4244 }
4245 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4246 goto st139
4247 }
4248 goto tr24
4249 st139:
4250 if (m.p)++; (m.p) == (m.pe) {
4251 goto _testEof139
4252 }
4253 stCase139:
4254 if (m.data)[(m.p)] == 32 {
4255 goto tr26
4256 }
4257 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4258 goto st140
4259 }
4260 goto tr24
4261 st140:
4262 if (m.p)++; (m.p) == (m.pe) {
4263 goto _testEof140
4264 }
4265 stCase140:
4266 if (m.data)[(m.p)] == 32 {
4267 goto tr26
4268 }
4269 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4270 goto st141
4271 }
4272 goto tr24
4273 st141:
4274 if (m.p)++; (m.p) == (m.pe) {
4275 goto _testEof141
4276 }
4277 stCase141:
4278 if (m.data)[(m.p)] == 32 {
4279 goto tr26
4280 }
4281 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4282 goto st142
4283 }
4284 goto tr24
4285 st142:
4286 if (m.p)++; (m.p) == (m.pe) {
4287 goto _testEof142
4288 }
4289 stCase142:
4290 if (m.data)[(m.p)] == 32 {
4291 goto tr26
4292 }
4293 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4294 goto st143
4295 }
4296 goto tr24
4297 st143:
4298 if (m.p)++; (m.p) == (m.pe) {
4299 goto _testEof143
4300 }
4301 stCase143:
4302 if (m.data)[(m.p)] == 32 {
4303 goto tr26
4304 }
4305 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4306 goto st144
4307 }
4308 goto tr24
4309 st144:
4310 if (m.p)++; (m.p) == (m.pe) {
4311 goto _testEof144
4312 }
4313 stCase144:
4314 if (m.data)[(m.p)] == 32 {
4315 goto tr26
4316 }
4317 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4318 goto st145
4319 }
4320 goto tr24
4321 st145:
4322 if (m.p)++; (m.p) == (m.pe) {
4323 goto _testEof145
4324 }
4325 stCase145:
4326 if (m.data)[(m.p)] == 32 {
4327 goto tr26
4328 }
4329 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4330 goto st146
4331 }
4332 goto tr24
4333 st146:
4334 if (m.p)++; (m.p) == (m.pe) {
4335 goto _testEof146
4336 }
4337 stCase146:
4338 if (m.data)[(m.p)] == 32 {
4339 goto tr26
4340 }
4341 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4342 goto st147
4343 }
4344 goto tr24
4345 st147:
4346 if (m.p)++; (m.p) == (m.pe) {
4347 goto _testEof147
4348 }
4349 stCase147:
4350 if (m.data)[(m.p)] == 32 {
4351 goto tr26
4352 }
4353 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4354 goto st148
4355 }
4356 goto tr24
4357 st148:
4358 if (m.p)++; (m.p) == (m.pe) {
4359 goto _testEof148
4360 }
4361 stCase148:
4362 if (m.data)[(m.p)] == 32 {
4363 goto tr26
4364 }
4365 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4366 goto st149
4367 }
4368 goto tr24
4369 st149:
4370 if (m.p)++; (m.p) == (m.pe) {
4371 goto _testEof149
4372 }
4373 stCase149:
4374 if (m.data)[(m.p)] == 32 {
4375 goto tr26
4376 }
4377 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4378 goto st150
4379 }
4380 goto tr24
4381 st150:
4382 if (m.p)++; (m.p) == (m.pe) {
4383 goto _testEof150
4384 }
4385 stCase150:
4386 if (m.data)[(m.p)] == 32 {
4387 goto tr26
4388 }
4389 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4390 goto st151
4391 }
4392 goto tr24
4393 st151:
4394 if (m.p)++; (m.p) == (m.pe) {
4395 goto _testEof151
4396 }
4397 stCase151:
4398 if (m.data)[(m.p)] == 32 {
4399 goto tr26
4400 }
4401 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4402 goto st152
4403 }
4404 goto tr24
4405 st152:
4406 if (m.p)++; (m.p) == (m.pe) {
4407 goto _testEof152
4408 }
4409 stCase152:
4410 if (m.data)[(m.p)] == 32 {
4411 goto tr26
4412 }
4413 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4414 goto st153
4415 }
4416 goto tr24
4417 st153:
4418 if (m.p)++; (m.p) == (m.pe) {
4419 goto _testEof153
4420 }
4421 stCase153:
4422 if (m.data)[(m.p)] == 32 {
4423 goto tr26
4424 }
4425 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4426 goto st154
4427 }
4428 goto tr24
4429 st154:
4430 if (m.p)++; (m.p) == (m.pe) {
4431 goto _testEof154
4432 }
4433 stCase154:
4434 if (m.data)[(m.p)] == 32 {
4435 goto tr26
4436 }
4437 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4438 goto st155
4439 }
4440 goto tr24
4441 st155:
4442 if (m.p)++; (m.p) == (m.pe) {
4443 goto _testEof155
4444 }
4445 stCase155:
4446 if (m.data)[(m.p)] == 32 {
4447 goto tr26
4448 }
4449 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4450 goto st156
4451 }
4452 goto tr24
4453 st156:
4454 if (m.p)++; (m.p) == (m.pe) {
4455 goto _testEof156
4456 }
4457 stCase156:
4458 if (m.data)[(m.p)] == 32 {
4459 goto tr26
4460 }
4461 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4462 goto st157
4463 }
4464 goto tr24
4465 st157:
4466 if (m.p)++; (m.p) == (m.pe) {
4467 goto _testEof157
4468 }
4469 stCase157:
4470 if (m.data)[(m.p)] == 32 {
4471 goto tr26
4472 }
4473 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4474 goto st158
4475 }
4476 goto tr24
4477 st158:
4478 if (m.p)++; (m.p) == (m.pe) {
4479 goto _testEof158
4480 }
4481 stCase158:
4482 if (m.data)[(m.p)] == 32 {
4483 goto tr26
4484 }
4485 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4486 goto st159
4487 }
4488 goto tr24
4489 st159:
4490 if (m.p)++; (m.p) == (m.pe) {
4491 goto _testEof159
4492 }
4493 stCase159:
4494 if (m.data)[(m.p)] == 32 {
4495 goto tr26
4496 }
4497 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4498 goto st160
4499 }
4500 goto tr24
4501 st160:
4502 if (m.p)++; (m.p) == (m.pe) {
4503 goto _testEof160
4504 }
4505 stCase160:
4506 if (m.data)[(m.p)] == 32 {
4507 goto tr26
4508 }
4509 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4510 goto st161
4511 }
4512 goto tr24
4513 st161:
4514 if (m.p)++; (m.p) == (m.pe) {
4515 goto _testEof161
4516 }
4517 stCase161:
4518 if (m.data)[(m.p)] == 32 {
4519 goto tr26
4520 }
4521 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4522 goto st162
4523 }
4524 goto tr24
4525 st162:
4526 if (m.p)++; (m.p) == (m.pe) {
4527 goto _testEof162
4528 }
4529 stCase162:
4530 if (m.data)[(m.p)] == 32 {
4531 goto tr26
4532 }
4533 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4534 goto st163
4535 }
4536 goto tr24
4537 st163:
4538 if (m.p)++; (m.p) == (m.pe) {
4539 goto _testEof163
4540 }
4541 stCase163:
4542 if (m.data)[(m.p)] == 32 {
4543 goto tr26
4544 }
4545 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4546 goto st164
4547 }
4548 goto tr24
4549 st164:
4550 if (m.p)++; (m.p) == (m.pe) {
4551 goto _testEof164
4552 }
4553 stCase164:
4554 if (m.data)[(m.p)] == 32 {
4555 goto tr26
4556 }
4557 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4558 goto st165
4559 }
4560 goto tr24
4561 st165:
4562 if (m.p)++; (m.p) == (m.pe) {
4563 goto _testEof165
4564 }
4565 stCase165:
4566 if (m.data)[(m.p)] == 32 {
4567 goto tr26
4568 }
4569 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4570 goto st166
4571 }
4572 goto tr24
4573 st166:
4574 if (m.p)++; (m.p) == (m.pe) {
4575 goto _testEof166
4576 }
4577 stCase166:
4578 if (m.data)[(m.p)] == 32 {
4579 goto tr26
4580 }
4581 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4582 goto st167
4583 }
4584 goto tr24
4585 st167:
4586 if (m.p)++; (m.p) == (m.pe) {
4587 goto _testEof167
4588 }
4589 stCase167:
4590 if (m.data)[(m.p)] == 32 {
4591 goto tr26
4592 }
4593 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4594 goto st168
4595 }
4596 goto tr24
4597 st168:
4598 if (m.p)++; (m.p) == (m.pe) {
4599 goto _testEof168
4600 }
4601 stCase168:
4602 if (m.data)[(m.p)] == 32 {
4603 goto tr26
4604 }
4605 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4606 goto st169
4607 }
4608 goto tr24
4609 st169:
4610 if (m.p)++; (m.p) == (m.pe) {
4611 goto _testEof169
4612 }
4613 stCase169:
4614 if (m.data)[(m.p)] == 32 {
4615 goto tr26
4616 }
4617 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4618 goto st170
4619 }
4620 goto tr24
4621 st170:
4622 if (m.p)++; (m.p) == (m.pe) {
4623 goto _testEof170
4624 }
4625 stCase170:
4626 if (m.data)[(m.p)] == 32 {
4627 goto tr26
4628 }
4629 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4630 goto st171
4631 }
4632 goto tr24
4633 st171:
4634 if (m.p)++; (m.p) == (m.pe) {
4635 goto _testEof171
4636 }
4637 stCase171:
4638 if (m.data)[(m.p)] == 32 {
4639 goto tr26
4640 }
4641 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4642 goto st172
4643 }
4644 goto tr24
4645 st172:
4646 if (m.p)++; (m.p) == (m.pe) {
4647 goto _testEof172
4648 }
4649 stCase172:
4650 if (m.data)[(m.p)] == 32 {
4651 goto tr26
4652 }
4653 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4654 goto st173
4655 }
4656 goto tr24
4657 st173:
4658 if (m.p)++; (m.p) == (m.pe) {
4659 goto _testEof173
4660 }
4661 stCase173:
4662 if (m.data)[(m.p)] == 32 {
4663 goto tr26
4664 }
4665 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4666 goto st174
4667 }
4668 goto tr24
4669 st174:
4670 if (m.p)++; (m.p) == (m.pe) {
4671 goto _testEof174
4672 }
4673 stCase174:
4674 if (m.data)[(m.p)] == 32 {
4675 goto tr26
4676 }
4677 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4678 goto st175
4679 }
4680 goto tr24
4681 st175:
4682 if (m.p)++; (m.p) == (m.pe) {
4683 goto _testEof175
4684 }
4685 stCase175:
4686 if (m.data)[(m.p)] == 32 {
4687 goto tr26
4688 }
4689 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4690 goto st176
4691 }
4692 goto tr24
4693 st176:
4694 if (m.p)++; (m.p) == (m.pe) {
4695 goto _testEof176
4696 }
4697 stCase176:
4698 if (m.data)[(m.p)] == 32 {
4699 goto tr26
4700 }
4701 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4702 goto st177
4703 }
4704 goto tr24
4705 st177:
4706 if (m.p)++; (m.p) == (m.pe) {
4707 goto _testEof177
4708 }
4709 stCase177:
4710 if (m.data)[(m.p)] == 32 {
4711 goto tr26
4712 }
4713 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4714 goto st178
4715 }
4716 goto tr24
4717 st178:
4718 if (m.p)++; (m.p) == (m.pe) {
4719 goto _testEof178
4720 }
4721 stCase178:
4722 if (m.data)[(m.p)] == 32 {
4723 goto tr26
4724 }
4725 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4726 goto st179
4727 }
4728 goto tr24
4729 st179:
4730 if (m.p)++; (m.p) == (m.pe) {
4731 goto _testEof179
4732 }
4733 stCase179:
4734 if (m.data)[(m.p)] == 32 {
4735 goto tr26
4736 }
4737 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4738 goto st180
4739 }
4740 goto tr24
4741 st180:
4742 if (m.p)++; (m.p) == (m.pe) {
4743 goto _testEof180
4744 }
4745 stCase180:
4746 if (m.data)[(m.p)] == 32 {
4747 goto tr26
4748 }
4749 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4750 goto st181
4751 }
4752 goto tr24
4753 st181:
4754 if (m.p)++; (m.p) == (m.pe) {
4755 goto _testEof181
4756 }
4757 stCase181:
4758 if (m.data)[(m.p)] == 32 {
4759 goto tr26
4760 }
4761 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4762 goto st182
4763 }
4764 goto tr24
4765 st182:
4766 if (m.p)++; (m.p) == (m.pe) {
4767 goto _testEof182
4768 }
4769 stCase182:
4770 if (m.data)[(m.p)] == 32 {
4771 goto tr26
4772 }
4773 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4774 goto st183
4775 }
4776 goto tr24
4777 st183:
4778 if (m.p)++; (m.p) == (m.pe) {
4779 goto _testEof183
4780 }
4781 stCase183:
4782 if (m.data)[(m.p)] == 32 {
4783 goto tr26
4784 }
4785 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4786 goto st184
4787 }
4788 goto tr24
4789 st184:
4790 if (m.p)++; (m.p) == (m.pe) {
4791 goto _testEof184
4792 }
4793 stCase184:
4794 if (m.data)[(m.p)] == 32 {
4795 goto tr26
4796 }
4797 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4798 goto st185
4799 }
4800 goto tr24
4801 st185:
4802 if (m.p)++; (m.p) == (m.pe) {
4803 goto _testEof185
4804 }
4805 stCase185:
4806 if (m.data)[(m.p)] == 32 {
4807 goto tr26
4808 }
4809 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4810 goto st186
4811 }
4812 goto tr24
4813 st186:
4814 if (m.p)++; (m.p) == (m.pe) {
4815 goto _testEof186
4816 }
4817 stCase186:
4818 if (m.data)[(m.p)] == 32 {
4819 goto tr26
4820 }
4821 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4822 goto st187
4823 }
4824 goto tr24
4825 st187:
4826 if (m.p)++; (m.p) == (m.pe) {
4827 goto _testEof187
4828 }
4829 stCase187:
4830 if (m.data)[(m.p)] == 32 {
4831 goto tr26
4832 }
4833 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4834 goto st188
4835 }
4836 goto tr24
4837 st188:
4838 if (m.p)++; (m.p) == (m.pe) {
4839 goto _testEof188
4840 }
4841 stCase188:
4842 if (m.data)[(m.p)] == 32 {
4843 goto tr26
4844 }
4845 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4846 goto st189
4847 }
4848 goto tr24
4849 st189:
4850 if (m.p)++; (m.p) == (m.pe) {
4851 goto _testEof189
4852 }
4853 stCase189:
4854 if (m.data)[(m.p)] == 32 {
4855 goto tr26
4856 }
4857 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4858 goto st190
4859 }
4860 goto tr24
4861 st190:
4862 if (m.p)++; (m.p) == (m.pe) {
4863 goto _testEof190
4864 }
4865 stCase190:
4866 if (m.data)[(m.p)] == 32 {
4867 goto tr26
4868 }
4869 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4870 goto st191
4871 }
4872 goto tr24
4873 st191:
4874 if (m.p)++; (m.p) == (m.pe) {
4875 goto _testEof191
4876 }
4877 stCase191:
4878 if (m.data)[(m.p)] == 32 {
4879 goto tr26
4880 }
4881 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4882 goto st192
4883 }
4884 goto tr24
4885 st192:
4886 if (m.p)++; (m.p) == (m.pe) {
4887 goto _testEof192
4888 }
4889 stCase192:
4890 if (m.data)[(m.p)] == 32 {
4891 goto tr26
4892 }
4893 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4894 goto st193
4895 }
4896 goto tr24
4897 st193:
4898 if (m.p)++; (m.p) == (m.pe) {
4899 goto _testEof193
4900 }
4901 stCase193:
4902 if (m.data)[(m.p)] == 32 {
4903 goto tr26
4904 }
4905 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4906 goto st194
4907 }
4908 goto tr24
4909 st194:
4910 if (m.p)++; (m.p) == (m.pe) {
4911 goto _testEof194
4912 }
4913 stCase194:
4914 if (m.data)[(m.p)] == 32 {
4915 goto tr26
4916 }
4917 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4918 goto st195
4919 }
4920 goto tr24
4921 st195:
4922 if (m.p)++; (m.p) == (m.pe) {
4923 goto _testEof195
4924 }
4925 stCase195:
4926 if (m.data)[(m.p)] == 32 {
4927 goto tr26
4928 }
4929 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4930 goto st196
4931 }
4932 goto tr24
4933 st196:
4934 if (m.p)++; (m.p) == (m.pe) {
4935 goto _testEof196
4936 }
4937 stCase196:
4938 if (m.data)[(m.p)] == 32 {
4939 goto tr26
4940 }
4941 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4942 goto st197
4943 }
4944 goto tr24
4945 st197:
4946 if (m.p)++; (m.p) == (m.pe) {
4947 goto _testEof197
4948 }
4949 stCase197:
4950 if (m.data)[(m.p)] == 32 {
4951 goto tr26
4952 }
4953 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4954 goto st198
4955 }
4956 goto tr24
4957 st198:
4958 if (m.p)++; (m.p) == (m.pe) {
4959 goto _testEof198
4960 }
4961 stCase198:
4962 if (m.data)[(m.p)] == 32 {
4963 goto tr26
4964 }
4965 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4966 goto st199
4967 }
4968 goto tr24
4969 st199:
4970 if (m.p)++; (m.p) == (m.pe) {
4971 goto _testEof199
4972 }
4973 stCase199:
4974 if (m.data)[(m.p)] == 32 {
4975 goto tr26
4976 }
4977 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4978 goto st200
4979 }
4980 goto tr24
4981 st200:
4982 if (m.p)++; (m.p) == (m.pe) {
4983 goto _testEof200
4984 }
4985 stCase200:
4986 if (m.data)[(m.p)] == 32 {
4987 goto tr26
4988 }
4989 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
4990 goto st201
4991 }
4992 goto tr24
4993 st201:
4994 if (m.p)++; (m.p) == (m.pe) {
4995 goto _testEof201
4996 }
4997 stCase201:
4998 if (m.data)[(m.p)] == 32 {
4999 goto tr26
5000 }
5001 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5002 goto st202
5003 }
5004 goto tr24
5005 st202:
5006 if (m.p)++; (m.p) == (m.pe) {
5007 goto _testEof202
5008 }
5009 stCase202:
5010 if (m.data)[(m.p)] == 32 {
5011 goto tr26
5012 }
5013 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5014 goto st203
5015 }
5016 goto tr24
5017 st203:
5018 if (m.p)++; (m.p) == (m.pe) {
5019 goto _testEof203
5020 }
5021 stCase203:
5022 if (m.data)[(m.p)] == 32 {
5023 goto tr26
5024 }
5025 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5026 goto st204
5027 }
5028 goto tr24
5029 st204:
5030 if (m.p)++; (m.p) == (m.pe) {
5031 goto _testEof204
5032 }
5033 stCase204:
5034 if (m.data)[(m.p)] == 32 {
5035 goto tr26
5036 }
5037 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5038 goto st205
5039 }
5040 goto tr24
5041 st205:
5042 if (m.p)++; (m.p) == (m.pe) {
5043 goto _testEof205
5044 }
5045 stCase205:
5046 if (m.data)[(m.p)] == 32 {
5047 goto tr26
5048 }
5049 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5050 goto st206
5051 }
5052 goto tr24
5053 st206:
5054 if (m.p)++; (m.p) == (m.pe) {
5055 goto _testEof206
5056 }
5057 stCase206:
5058 if (m.data)[(m.p)] == 32 {
5059 goto tr26
5060 }
5061 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5062 goto st207
5063 }
5064 goto tr24
5065 st207:
5066 if (m.p)++; (m.p) == (m.pe) {
5067 goto _testEof207
5068 }
5069 stCase207:
5070 if (m.data)[(m.p)] == 32 {
5071 goto tr26
5072 }
5073 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5074 goto st208
5075 }
5076 goto tr24
5077 st208:
5078 if (m.p)++; (m.p) == (m.pe) {
5079 goto _testEof208
5080 }
5081 stCase208:
5082 if (m.data)[(m.p)] == 32 {
5083 goto tr26
5084 }
5085 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5086 goto st209
5087 }
5088 goto tr24
5089 st209:
5090 if (m.p)++; (m.p) == (m.pe) {
5091 goto _testEof209
5092 }
5093 stCase209:
5094 if (m.data)[(m.p)] == 32 {
5095 goto tr26
5096 }
5097 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5098 goto st210
5099 }
5100 goto tr24
5101 st210:
5102 if (m.p)++; (m.p) == (m.pe) {
5103 goto _testEof210
5104 }
5105 stCase210:
5106 if (m.data)[(m.p)] == 32 {
5107 goto tr26
5108 }
5109 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5110 goto st211
5111 }
5112 goto tr24
5113 st211:
5114 if (m.p)++; (m.p) == (m.pe) {
5115 goto _testEof211
5116 }
5117 stCase211:
5118 if (m.data)[(m.p)] == 32 {
5119 goto tr26
5120 }
5121 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5122 goto st212
5123 }
5124 goto tr24
5125 st212:
5126 if (m.p)++; (m.p) == (m.pe) {
5127 goto _testEof212
5128 }
5129 stCase212:
5130 if (m.data)[(m.p)] == 32 {
5131 goto tr26
5132 }
5133 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5134 goto st213
5135 }
5136 goto tr24
5137 st213:
5138 if (m.p)++; (m.p) == (m.pe) {
5139 goto _testEof213
5140 }
5141 stCase213:
5142 if (m.data)[(m.p)] == 32 {
5143 goto tr26
5144 }
5145 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5146 goto st214
5147 }
5148 goto tr24
5149 st214:
5150 if (m.p)++; (m.p) == (m.pe) {
5151 goto _testEof214
5152 }
5153 stCase214:
5154 if (m.data)[(m.p)] == 32 {
5155 goto tr26
5156 }
5157 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5158 goto st215
5159 }
5160 goto tr24
5161 st215:
5162 if (m.p)++; (m.p) == (m.pe) {
5163 goto _testEof215
5164 }
5165 stCase215:
5166 if (m.data)[(m.p)] == 32 {
5167 goto tr26
5168 }
5169 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5170 goto st216
5171 }
5172 goto tr24
5173 st216:
5174 if (m.p)++; (m.p) == (m.pe) {
5175 goto _testEof216
5176 }
5177 stCase216:
5178 if (m.data)[(m.p)] == 32 {
5179 goto tr26
5180 }
5181 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5182 goto st217
5183 }
5184 goto tr24
5185 st217:
5186 if (m.p)++; (m.p) == (m.pe) {
5187 goto _testEof217
5188 }
5189 stCase217:
5190 if (m.data)[(m.p)] == 32 {
5191 goto tr26
5192 }
5193 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5194 goto st218
5195 }
5196 goto tr24
5197 st218:
5198 if (m.p)++; (m.p) == (m.pe) {
5199 goto _testEof218
5200 }
5201 stCase218:
5202 if (m.data)[(m.p)] == 32 {
5203 goto tr26
5204 }
5205 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5206 goto st219
5207 }
5208 goto tr24
5209 st219:
5210 if (m.p)++; (m.p) == (m.pe) {
5211 goto _testEof219
5212 }
5213 stCase219:
5214 if (m.data)[(m.p)] == 32 {
5215 goto tr26
5216 }
5217 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5218 goto st220
5219 }
5220 goto tr24
5221 st220:
5222 if (m.p)++; (m.p) == (m.pe) {
5223 goto _testEof220
5224 }
5225 stCase220:
5226 if (m.data)[(m.p)] == 32 {
5227 goto tr26
5228 }
5229 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5230 goto st221
5231 }
5232 goto tr24
5233 st221:
5234 if (m.p)++; (m.p) == (m.pe) {
5235 goto _testEof221
5236 }
5237 stCase221:
5238 if (m.data)[(m.p)] == 32 {
5239 goto tr26
5240 }
5241 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5242 goto st222
5243 }
5244 goto tr24
5245 st222:
5246 if (m.p)++; (m.p) == (m.pe) {
5247 goto _testEof222
5248 }
5249 stCase222:
5250 if (m.data)[(m.p)] == 32 {
5251 goto tr26
5252 }
5253 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5254 goto st223
5255 }
5256 goto tr24
5257 st223:
5258 if (m.p)++; (m.p) == (m.pe) {
5259 goto _testEof223
5260 }
5261 stCase223:
5262 if (m.data)[(m.p)] == 32 {
5263 goto tr26
5264 }
5265 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5266 goto st224
5267 }
5268 goto tr24
5269 st224:
5270 if (m.p)++; (m.p) == (m.pe) {
5271 goto _testEof224
5272 }
5273 stCase224:
5274 if (m.data)[(m.p)] == 32 {
5275 goto tr26
5276 }
5277 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5278 goto st225
5279 }
5280 goto tr24
5281 st225:
5282 if (m.p)++; (m.p) == (m.pe) {
5283 goto _testEof225
5284 }
5285 stCase225:
5286 if (m.data)[(m.p)] == 32 {
5287 goto tr26
5288 }
5289 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5290 goto st226
5291 }
5292 goto tr24
5293 st226:
5294 if (m.p)++; (m.p) == (m.pe) {
5295 goto _testEof226
5296 }
5297 stCase226:
5298 if (m.data)[(m.p)] == 32 {
5299 goto tr26
5300 }
5301 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5302 goto st227
5303 }
5304 goto tr24
5305 st227:
5306 if (m.p)++; (m.p) == (m.pe) {
5307 goto _testEof227
5308 }
5309 stCase227:
5310 if (m.data)[(m.p)] == 32 {
5311 goto tr26
5312 }
5313 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5314 goto st228
5315 }
5316 goto tr24
5317 st228:
5318 if (m.p)++; (m.p) == (m.pe) {
5319 goto _testEof228
5320 }
5321 stCase228:
5322 if (m.data)[(m.p)] == 32 {
5323 goto tr26
5324 }
5325 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5326 goto st229
5327 }
5328 goto tr24
5329 st229:
5330 if (m.p)++; (m.p) == (m.pe) {
5331 goto _testEof229
5332 }
5333 stCase229:
5334 if (m.data)[(m.p)] == 32 {
5335 goto tr26
5336 }
5337 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5338 goto st230
5339 }
5340 goto tr24
5341 st230:
5342 if (m.p)++; (m.p) == (m.pe) {
5343 goto _testEof230
5344 }
5345 stCase230:
5346 if (m.data)[(m.p)] == 32 {
5347 goto tr26
5348 }
5349 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5350 goto st231
5351 }
5352 goto tr24
5353 st231:
5354 if (m.p)++; (m.p) == (m.pe) {
5355 goto _testEof231
5356 }
5357 stCase231:
5358 if (m.data)[(m.p)] == 32 {
5359 goto tr26
5360 }
5361 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5362 goto st232
5363 }
5364 goto tr24
5365 st232:
5366 if (m.p)++; (m.p) == (m.pe) {
5367 goto _testEof232
5368 }
5369 stCase232:
5370 if (m.data)[(m.p)] == 32 {
5371 goto tr26
5372 }
5373 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5374 goto st233
5375 }
5376 goto tr24
5377 st233:
5378 if (m.p)++; (m.p) == (m.pe) {
5379 goto _testEof233
5380 }
5381 stCase233:
5382 if (m.data)[(m.p)] == 32 {
5383 goto tr26
5384 }
5385 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5386 goto st234
5387 }
5388 goto tr24
5389 st234:
5390 if (m.p)++; (m.p) == (m.pe) {
5391 goto _testEof234
5392 }
5393 stCase234:
5394 if (m.data)[(m.p)] == 32 {
5395 goto tr26
5396 }
5397 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5398 goto st235
5399 }
5400 goto tr24
5401 st235:
5402 if (m.p)++; (m.p) == (m.pe) {
5403 goto _testEof235
5404 }
5405 stCase235:
5406 if (m.data)[(m.p)] == 32 {
5407 goto tr26
5408 }
5409 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5410 goto st236
5411 }
5412 goto tr24
5413 st236:
5414 if (m.p)++; (m.p) == (m.pe) {
5415 goto _testEof236
5416 }
5417 stCase236:
5418 if (m.data)[(m.p)] == 32 {
5419 goto tr26
5420 }
5421 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5422 goto st237
5423 }
5424 goto tr24
5425 st237:
5426 if (m.p)++; (m.p) == (m.pe) {
5427 goto _testEof237
5428 }
5429 stCase237:
5430 if (m.data)[(m.p)] == 32 {
5431 goto tr26
5432 }
5433 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5434 goto st238
5435 }
5436 goto tr24
5437 st238:
5438 if (m.p)++; (m.p) == (m.pe) {
5439 goto _testEof238
5440 }
5441 stCase238:
5442 if (m.data)[(m.p)] == 32 {
5443 goto tr26
5444 }
5445 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5446 goto st239
5447 }
5448 goto tr24
5449 st239:
5450 if (m.p)++; (m.p) == (m.pe) {
5451 goto _testEof239
5452 }
5453 stCase239:
5454 if (m.data)[(m.p)] == 32 {
5455 goto tr26
5456 }
5457 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5458 goto st240
5459 }
5460 goto tr24
5461 st240:
5462 if (m.p)++; (m.p) == (m.pe) {
5463 goto _testEof240
5464 }
5465 stCase240:
5466 if (m.data)[(m.p)] == 32 {
5467 goto tr26
5468 }
5469 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5470 goto st241
5471 }
5472 goto tr24
5473 st241:
5474 if (m.p)++; (m.p) == (m.pe) {
5475 goto _testEof241
5476 }
5477 stCase241:
5478 if (m.data)[(m.p)] == 32 {
5479 goto tr26
5480 }
5481 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5482 goto st242
5483 }
5484 goto tr24
5485 st242:
5486 if (m.p)++; (m.p) == (m.pe) {
5487 goto _testEof242
5488 }
5489 stCase242:
5490 if (m.data)[(m.p)] == 32 {
5491 goto tr26
5492 }
5493 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5494 goto st243
5495 }
5496 goto tr24
5497 st243:
5498 if (m.p)++; (m.p) == (m.pe) {
5499 goto _testEof243
5500 }
5501 stCase243:
5502 if (m.data)[(m.p)] == 32 {
5503 goto tr26
5504 }
5505 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5506 goto st244
5507 }
5508 goto tr24
5509 st244:
5510 if (m.p)++; (m.p) == (m.pe) {
5511 goto _testEof244
5512 }
5513 stCase244:
5514 if (m.data)[(m.p)] == 32 {
5515 goto tr26
5516 }
5517 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5518 goto st245
5519 }
5520 goto tr24
5521 st245:
5522 if (m.p)++; (m.p) == (m.pe) {
5523 goto _testEof245
5524 }
5525 stCase245:
5526 if (m.data)[(m.p)] == 32 {
5527 goto tr26
5528 }
5529 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5530 goto st246
5531 }
5532 goto tr24
5533 st246:
5534 if (m.p)++; (m.p) == (m.pe) {
5535 goto _testEof246
5536 }
5537 stCase246:
5538 if (m.data)[(m.p)] == 32 {
5539 goto tr26
5540 }
5541 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5542 goto st247
5543 }
5544 goto tr24
5545 st247:
5546 if (m.p)++; (m.p) == (m.pe) {
5547 goto _testEof247
5548 }
5549 stCase247:
5550 if (m.data)[(m.p)] == 32 {
5551 goto tr26
5552 }
5553 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5554 goto st248
5555 }
5556 goto tr24
5557 st248:
5558 if (m.p)++; (m.p) == (m.pe) {
5559 goto _testEof248
5560 }
5561 stCase248:
5562 if (m.data)[(m.p)] == 32 {
5563 goto tr26
5564 }
5565 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5566 goto st249
5567 }
5568 goto tr24
5569 st249:
5570 if (m.p)++; (m.p) == (m.pe) {
5571 goto _testEof249
5572 }
5573 stCase249:
5574 if (m.data)[(m.p)] == 32 {
5575 goto tr26
5576 }
5577 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5578 goto st250
5579 }
5580 goto tr24
5581 st250:
5582 if (m.p)++; (m.p) == (m.pe) {
5583 goto _testEof250
5584 }
5585 stCase250:
5586 if (m.data)[(m.p)] == 32 {
5587 goto tr26
5588 }
5589 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5590 goto st251
5591 }
5592 goto tr24
5593 st251:
5594 if (m.p)++; (m.p) == (m.pe) {
5595 goto _testEof251
5596 }
5597 stCase251:
5598 if (m.data)[(m.p)] == 32 {
5599 goto tr26
5600 }
5601 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5602 goto st252
5603 }
5604 goto tr24
5605 st252:
5606 if (m.p)++; (m.p) == (m.pe) {
5607 goto _testEof252
5608 }
5609 stCase252:
5610 if (m.data)[(m.p)] == 32 {
5611 goto tr26
5612 }
5613 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5614 goto st253
5615 }
5616 goto tr24
5617 st253:
5618 if (m.p)++; (m.p) == (m.pe) {
5619 goto _testEof253
5620 }
5621 stCase253:
5622 if (m.data)[(m.p)] == 32 {
5623 goto tr26
5624 }
5625 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5626 goto st254
5627 }
5628 goto tr24
5629 st254:
5630 if (m.p)++; (m.p) == (m.pe) {
5631 goto _testEof254
5632 }
5633 stCase254:
5634 if (m.data)[(m.p)] == 32 {
5635 goto tr26
5636 }
5637 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5638 goto st255
5639 }
5640 goto tr24
5641 st255:
5642 if (m.p)++; (m.p) == (m.pe) {
5643 goto _testEof255
5644 }
5645 stCase255:
5646 if (m.data)[(m.p)] == 32 {
5647 goto tr26
5648 }
5649 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5650 goto st256
5651 }
5652 goto tr24
5653 st256:
5654 if (m.p)++; (m.p) == (m.pe) {
5655 goto _testEof256
5656 }
5657 stCase256:
5658 if (m.data)[(m.p)] == 32 {
5659 goto tr26
5660 }
5661 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5662 goto st257
5663 }
5664 goto tr24
5665 st257:
5666 if (m.p)++; (m.p) == (m.pe) {
5667 goto _testEof257
5668 }
5669 stCase257:
5670 if (m.data)[(m.p)] == 32 {
5671 goto tr26
5672 }
5673 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5674 goto st258
5675 }
5676 goto tr24
5677 st258:
5678 if (m.p)++; (m.p) == (m.pe) {
5679 goto _testEof258
5680 }
5681 stCase258:
5682 if (m.data)[(m.p)] == 32 {
5683 goto tr26
5684 }
5685 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5686 goto st259
5687 }
5688 goto tr24
5689 st259:
5690 if (m.p)++; (m.p) == (m.pe) {
5691 goto _testEof259
5692 }
5693 stCase259:
5694 if (m.data)[(m.p)] == 32 {
5695 goto tr26
5696 }
5697 goto tr24
5698 st260:
5699 if (m.p)++; (m.p) == (m.pe) {
5700 goto _testEof260
5701 }
5702 stCase260:
5703 if (m.data)[(m.p)] == 32 {
5704 goto tr22
5705 }
5706 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5707 goto st261
5708 }
5709 goto tr20
5710 st261:
5711 if (m.p)++; (m.p) == (m.pe) {
5712 goto _testEof261
5713 }
5714 stCase261:
5715 if (m.data)[(m.p)] == 32 {
5716 goto tr22
5717 }
5718 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5719 goto st262
5720 }
5721 goto tr20
5722 st262:
5723 if (m.p)++; (m.p) == (m.pe) {
5724 goto _testEof262
5725 }
5726 stCase262:
5727 if (m.data)[(m.p)] == 32 {
5728 goto tr22
5729 }
5730 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5731 goto st263
5732 }
5733 goto tr20
5734 st263:
5735 if (m.p)++; (m.p) == (m.pe) {
5736 goto _testEof263
5737 }
5738 stCase263:
5739 if (m.data)[(m.p)] == 32 {
5740 goto tr22
5741 }
5742 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5743 goto st264
5744 }
5745 goto tr20
5746 st264:
5747 if (m.p)++; (m.p) == (m.pe) {
5748 goto _testEof264
5749 }
5750 stCase264:
5751 if (m.data)[(m.p)] == 32 {
5752 goto tr22
5753 }
5754 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5755 goto st265
5756 }
5757 goto tr20
5758 st265:
5759 if (m.p)++; (m.p) == (m.pe) {
5760 goto _testEof265
5761 }
5762 stCase265:
5763 if (m.data)[(m.p)] == 32 {
5764 goto tr22
5765 }
5766 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5767 goto st266
5768 }
5769 goto tr20
5770 st266:
5771 if (m.p)++; (m.p) == (m.pe) {
5772 goto _testEof266
5773 }
5774 stCase266:
5775 if (m.data)[(m.p)] == 32 {
5776 goto tr22
5777 }
5778 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5779 goto st267
5780 }
5781 goto tr20
5782 st267:
5783 if (m.p)++; (m.p) == (m.pe) {
5784 goto _testEof267
5785 }
5786 stCase267:
5787 if (m.data)[(m.p)] == 32 {
5788 goto tr22
5789 }
5790 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5791 goto st268
5792 }
5793 goto tr20
5794 st268:
5795 if (m.p)++; (m.p) == (m.pe) {
5796 goto _testEof268
5797 }
5798 stCase268:
5799 if (m.data)[(m.p)] == 32 {
5800 goto tr22
5801 }
5802 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5803 goto st269
5804 }
5805 goto tr20
5806 st269:
5807 if (m.p)++; (m.p) == (m.pe) {
5808 goto _testEof269
5809 }
5810 stCase269:
5811 if (m.data)[(m.p)] == 32 {
5812 goto tr22
5813 }
5814 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5815 goto st270
5816 }
5817 goto tr20
5818 st270:
5819 if (m.p)++; (m.p) == (m.pe) {
5820 goto _testEof270
5821 }
5822 stCase270:
5823 if (m.data)[(m.p)] == 32 {
5824 goto tr22
5825 }
5826 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5827 goto st271
5828 }
5829 goto tr20
5830 st271:
5831 if (m.p)++; (m.p) == (m.pe) {
5832 goto _testEof271
5833 }
5834 stCase271:
5835 if (m.data)[(m.p)] == 32 {
5836 goto tr22
5837 }
5838 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5839 goto st272
5840 }
5841 goto tr20
5842 st272:
5843 if (m.p)++; (m.p) == (m.pe) {
5844 goto _testEof272
5845 }
5846 stCase272:
5847 if (m.data)[(m.p)] == 32 {
5848 goto tr22
5849 }
5850 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5851 goto st273
5852 }
5853 goto tr20
5854 st273:
5855 if (m.p)++; (m.p) == (m.pe) {
5856 goto _testEof273
5857 }
5858 stCase273:
5859 if (m.data)[(m.p)] == 32 {
5860 goto tr22
5861 }
5862 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5863 goto st274
5864 }
5865 goto tr20
5866 st274:
5867 if (m.p)++; (m.p) == (m.pe) {
5868 goto _testEof274
5869 }
5870 stCase274:
5871 if (m.data)[(m.p)] == 32 {
5872 goto tr22
5873 }
5874 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5875 goto st275
5876 }
5877 goto tr20
5878 st275:
5879 if (m.p)++; (m.p) == (m.pe) {
5880 goto _testEof275
5881 }
5882 stCase275:
5883 if (m.data)[(m.p)] == 32 {
5884 goto tr22
5885 }
5886 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5887 goto st276
5888 }
5889 goto tr20
5890 st276:
5891 if (m.p)++; (m.p) == (m.pe) {
5892 goto _testEof276
5893 }
5894 stCase276:
5895 if (m.data)[(m.p)] == 32 {
5896 goto tr22
5897 }
5898 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5899 goto st277
5900 }
5901 goto tr20
5902 st277:
5903 if (m.p)++; (m.p) == (m.pe) {
5904 goto _testEof277
5905 }
5906 stCase277:
5907 if (m.data)[(m.p)] == 32 {
5908 goto tr22
5909 }
5910 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5911 goto st278
5912 }
5913 goto tr20
5914 st278:
5915 if (m.p)++; (m.p) == (m.pe) {
5916 goto _testEof278
5917 }
5918 stCase278:
5919 if (m.data)[(m.p)] == 32 {
5920 goto tr22
5921 }
5922 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5923 goto st279
5924 }
5925 goto tr20
5926 st279:
5927 if (m.p)++; (m.p) == (m.pe) {
5928 goto _testEof279
5929 }
5930 stCase279:
5931 if (m.data)[(m.p)] == 32 {
5932 goto tr22
5933 }
5934 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5935 goto st280
5936 }
5937 goto tr20
5938 st280:
5939 if (m.p)++; (m.p) == (m.pe) {
5940 goto _testEof280
5941 }
5942 stCase280:
5943 if (m.data)[(m.p)] == 32 {
5944 goto tr22
5945 }
5946 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5947 goto st281
5948 }
5949 goto tr20
5950 st281:
5951 if (m.p)++; (m.p) == (m.pe) {
5952 goto _testEof281
5953 }
5954 stCase281:
5955 if (m.data)[(m.p)] == 32 {
5956 goto tr22
5957 }
5958 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5959 goto st282
5960 }
5961 goto tr20
5962 st282:
5963 if (m.p)++; (m.p) == (m.pe) {
5964 goto _testEof282
5965 }
5966 stCase282:
5967 if (m.data)[(m.p)] == 32 {
5968 goto tr22
5969 }
5970 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5971 goto st283
5972 }
5973 goto tr20
5974 st283:
5975 if (m.p)++; (m.p) == (m.pe) {
5976 goto _testEof283
5977 }
5978 stCase283:
5979 if (m.data)[(m.p)] == 32 {
5980 goto tr22
5981 }
5982 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5983 goto st284
5984 }
5985 goto tr20
5986 st284:
5987 if (m.p)++; (m.p) == (m.pe) {
5988 goto _testEof284
5989 }
5990 stCase284:
5991 if (m.data)[(m.p)] == 32 {
5992 goto tr22
5993 }
5994 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
5995 goto st285
5996 }
5997 goto tr20
5998 st285:
5999 if (m.p)++; (m.p) == (m.pe) {
6000 goto _testEof285
6001 }
6002 stCase285:
6003 if (m.data)[(m.p)] == 32 {
6004 goto tr22
6005 }
6006 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6007 goto st286
6008 }
6009 goto tr20
6010 st286:
6011 if (m.p)++; (m.p) == (m.pe) {
6012 goto _testEof286
6013 }
6014 stCase286:
6015 if (m.data)[(m.p)] == 32 {
6016 goto tr22
6017 }
6018 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6019 goto st287
6020 }
6021 goto tr20
6022 st287:
6023 if (m.p)++; (m.p) == (m.pe) {
6024 goto _testEof287
6025 }
6026 stCase287:
6027 if (m.data)[(m.p)] == 32 {
6028 goto tr22
6029 }
6030 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6031 goto st288
6032 }
6033 goto tr20
6034 st288:
6035 if (m.p)++; (m.p) == (m.pe) {
6036 goto _testEof288
6037 }
6038 stCase288:
6039 if (m.data)[(m.p)] == 32 {
6040 goto tr22
6041 }
6042 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6043 goto st289
6044 }
6045 goto tr20
6046 st289:
6047 if (m.p)++; (m.p) == (m.pe) {
6048 goto _testEof289
6049 }
6050 stCase289:
6051 if (m.data)[(m.p)] == 32 {
6052 goto tr22
6053 }
6054 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6055 goto st290
6056 }
6057 goto tr20
6058 st290:
6059 if (m.p)++; (m.p) == (m.pe) {
6060 goto _testEof290
6061 }
6062 stCase290:
6063 if (m.data)[(m.p)] == 32 {
6064 goto tr22
6065 }
6066 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6067 goto st291
6068 }
6069 goto tr20
6070 st291:
6071 if (m.p)++; (m.p) == (m.pe) {
6072 goto _testEof291
6073 }
6074 stCase291:
6075 if (m.data)[(m.p)] == 32 {
6076 goto tr22
6077 }
6078 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6079 goto st292
6080 }
6081 goto tr20
6082 st292:
6083 if (m.p)++; (m.p) == (m.pe) {
6084 goto _testEof292
6085 }
6086 stCase292:
6087 if (m.data)[(m.p)] == 32 {
6088 goto tr22
6089 }
6090 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6091 goto st293
6092 }
6093 goto tr20
6094 st293:
6095 if (m.p)++; (m.p) == (m.pe) {
6096 goto _testEof293
6097 }
6098 stCase293:
6099 if (m.data)[(m.p)] == 32 {
6100 goto tr22
6101 }
6102 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6103 goto st294
6104 }
6105 goto tr20
6106 st294:
6107 if (m.p)++; (m.p) == (m.pe) {
6108 goto _testEof294
6109 }
6110 stCase294:
6111 if (m.data)[(m.p)] == 32 {
6112 goto tr22
6113 }
6114 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6115 goto st295
6116 }
6117 goto tr20
6118 st295:
6119 if (m.p)++; (m.p) == (m.pe) {
6120 goto _testEof295
6121 }
6122 stCase295:
6123 if (m.data)[(m.p)] == 32 {
6124 goto tr22
6125 }
6126 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6127 goto st296
6128 }
6129 goto tr20
6130 st296:
6131 if (m.p)++; (m.p) == (m.pe) {
6132 goto _testEof296
6133 }
6134 stCase296:
6135 if (m.data)[(m.p)] == 32 {
6136 goto tr22
6137 }
6138 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6139 goto st297
6140 }
6141 goto tr20
6142 st297:
6143 if (m.p)++; (m.p) == (m.pe) {
6144 goto _testEof297
6145 }
6146 stCase297:
6147 if (m.data)[(m.p)] == 32 {
6148 goto tr22
6149 }
6150 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6151 goto st298
6152 }
6153 goto tr20
6154 st298:
6155 if (m.p)++; (m.p) == (m.pe) {
6156 goto _testEof298
6157 }
6158 stCase298:
6159 if (m.data)[(m.p)] == 32 {
6160 goto tr22
6161 }
6162 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6163 goto st299
6164 }
6165 goto tr20
6166 st299:
6167 if (m.p)++; (m.p) == (m.pe) {
6168 goto _testEof299
6169 }
6170 stCase299:
6171 if (m.data)[(m.p)] == 32 {
6172 goto tr22
6173 }
6174 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6175 goto st300
6176 }
6177 goto tr20
6178 st300:
6179 if (m.p)++; (m.p) == (m.pe) {
6180 goto _testEof300
6181 }
6182 stCase300:
6183 if (m.data)[(m.p)] == 32 {
6184 goto tr22
6185 }
6186 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6187 goto st301
6188 }
6189 goto tr20
6190 st301:
6191 if (m.p)++; (m.p) == (m.pe) {
6192 goto _testEof301
6193 }
6194 stCase301:
6195 if (m.data)[(m.p)] == 32 {
6196 goto tr22
6197 }
6198 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6199 goto st302
6200 }
6201 goto tr20
6202 st302:
6203 if (m.p)++; (m.p) == (m.pe) {
6204 goto _testEof302
6205 }
6206 stCase302:
6207 if (m.data)[(m.p)] == 32 {
6208 goto tr22
6209 }
6210 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6211 goto st303
6212 }
6213 goto tr20
6214 st303:
6215 if (m.p)++; (m.p) == (m.pe) {
6216 goto _testEof303
6217 }
6218 stCase303:
6219 if (m.data)[(m.p)] == 32 {
6220 goto tr22
6221 }
6222 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6223 goto st304
6224 }
6225 goto tr20
6226 st304:
6227 if (m.p)++; (m.p) == (m.pe) {
6228 goto _testEof304
6229 }
6230 stCase304:
6231 if (m.data)[(m.p)] == 32 {
6232 goto tr22
6233 }
6234 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6235 goto st305
6236 }
6237 goto tr20
6238 st305:
6239 if (m.p)++; (m.p) == (m.pe) {
6240 goto _testEof305
6241 }
6242 stCase305:
6243 if (m.data)[(m.p)] == 32 {
6244 goto tr22
6245 }
6246 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6247 goto st306
6248 }
6249 goto tr20
6250 st306:
6251 if (m.p)++; (m.p) == (m.pe) {
6252 goto _testEof306
6253 }
6254 stCase306:
6255 if (m.data)[(m.p)] == 32 {
6256 goto tr22
6257 }
6258 goto tr20
6259 st307:
6260 if (m.p)++; (m.p) == (m.pe) {
6261 goto _testEof307
6262 }
6263 stCase307:
6264 if (m.data)[(m.p)] == 32 {
6265 goto tr18
6266 }
6267 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6268 goto st308
6269 }
6270 goto tr16
6271 st308:
6272 if (m.p)++; (m.p) == (m.pe) {
6273 goto _testEof308
6274 }
6275 stCase308:
6276 if (m.data)[(m.p)] == 32 {
6277 goto tr18
6278 }
6279 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6280 goto st309
6281 }
6282 goto tr16
6283 st309:
6284 if (m.p)++; (m.p) == (m.pe) {
6285 goto _testEof309
6286 }
6287 stCase309:
6288 if (m.data)[(m.p)] == 32 {
6289 goto tr18
6290 }
6291 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6292 goto st310
6293 }
6294 goto tr16
6295 st310:
6296 if (m.p)++; (m.p) == (m.pe) {
6297 goto _testEof310
6298 }
6299 stCase310:
6300 if (m.data)[(m.p)] == 32 {
6301 goto tr18
6302 }
6303 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6304 goto st311
6305 }
6306 goto tr16
6307 st311:
6308 if (m.p)++; (m.p) == (m.pe) {
6309 goto _testEof311
6310 }
6311 stCase311:
6312 if (m.data)[(m.p)] == 32 {
6313 goto tr18
6314 }
6315 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6316 goto st312
6317 }
6318 goto tr16
6319 st312:
6320 if (m.p)++; (m.p) == (m.pe) {
6321 goto _testEof312
6322 }
6323 stCase312:
6324 if (m.data)[(m.p)] == 32 {
6325 goto tr18
6326 }
6327 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6328 goto st313
6329 }
6330 goto tr16
6331 st313:
6332 if (m.p)++; (m.p) == (m.pe) {
6333 goto _testEof313
6334 }
6335 stCase313:
6336 if (m.data)[(m.p)] == 32 {
6337 goto tr18
6338 }
6339 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6340 goto st314
6341 }
6342 goto tr16
6343 st314:
6344 if (m.p)++; (m.p) == (m.pe) {
6345 goto _testEof314
6346 }
6347 stCase314:
6348 if (m.data)[(m.p)] == 32 {
6349 goto tr18
6350 }
6351 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6352 goto st315
6353 }
6354 goto tr16
6355 st315:
6356 if (m.p)++; (m.p) == (m.pe) {
6357 goto _testEof315
6358 }
6359 stCase315:
6360 if (m.data)[(m.p)] == 32 {
6361 goto tr18
6362 }
6363 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6364 goto st316
6365 }
6366 goto tr16
6367 st316:
6368 if (m.p)++; (m.p) == (m.pe) {
6369 goto _testEof316
6370 }
6371 stCase316:
6372 if (m.data)[(m.p)] == 32 {
6373 goto tr18
6374 }
6375 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6376 goto st317
6377 }
6378 goto tr16
6379 st317:
6380 if (m.p)++; (m.p) == (m.pe) {
6381 goto _testEof317
6382 }
6383 stCase317:
6384 if (m.data)[(m.p)] == 32 {
6385 goto tr18
6386 }
6387 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6388 goto st318
6389 }
6390 goto tr16
6391 st318:
6392 if (m.p)++; (m.p) == (m.pe) {
6393 goto _testEof318
6394 }
6395 stCase318:
6396 if (m.data)[(m.p)] == 32 {
6397 goto tr18
6398 }
6399 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6400 goto st319
6401 }
6402 goto tr16
6403 st319:
6404 if (m.p)++; (m.p) == (m.pe) {
6405 goto _testEof319
6406 }
6407 stCase319:
6408 if (m.data)[(m.p)] == 32 {
6409 goto tr18
6410 }
6411 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6412 goto st320
6413 }
6414 goto tr16
6415 st320:
6416 if (m.p)++; (m.p) == (m.pe) {
6417 goto _testEof320
6418 }
6419 stCase320:
6420 if (m.data)[(m.p)] == 32 {
6421 goto tr18
6422 }
6423 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6424 goto st321
6425 }
6426 goto tr16
6427 st321:
6428 if (m.p)++; (m.p) == (m.pe) {
6429 goto _testEof321
6430 }
6431 stCase321:
6432 if (m.data)[(m.p)] == 32 {
6433 goto tr18
6434 }
6435 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6436 goto st322
6437 }
6438 goto tr16
6439 st322:
6440 if (m.p)++; (m.p) == (m.pe) {
6441 goto _testEof322
6442 }
6443 stCase322:
6444 if (m.data)[(m.p)] == 32 {
6445 goto tr18
6446 }
6447 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6448 goto st323
6449 }
6450 goto tr16
6451 st323:
6452 if (m.p)++; (m.p) == (m.pe) {
6453 goto _testEof323
6454 }
6455 stCase323:
6456 if (m.data)[(m.p)] == 32 {
6457 goto tr18
6458 }
6459 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6460 goto st324
6461 }
6462 goto tr16
6463 st324:
6464 if (m.p)++; (m.p) == (m.pe) {
6465 goto _testEof324
6466 }
6467 stCase324:
6468 if (m.data)[(m.p)] == 32 {
6469 goto tr18
6470 }
6471 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6472 goto st325
6473 }
6474 goto tr16
6475 st325:
6476 if (m.p)++; (m.p) == (m.pe) {
6477 goto _testEof325
6478 }
6479 stCase325:
6480 if (m.data)[(m.p)] == 32 {
6481 goto tr18
6482 }
6483 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6484 goto st326
6485 }
6486 goto tr16
6487 st326:
6488 if (m.p)++; (m.p) == (m.pe) {
6489 goto _testEof326
6490 }
6491 stCase326:
6492 if (m.data)[(m.p)] == 32 {
6493 goto tr18
6494 }
6495 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6496 goto st327
6497 }
6498 goto tr16
6499 st327:
6500 if (m.p)++; (m.p) == (m.pe) {
6501 goto _testEof327
6502 }
6503 stCase327:
6504 if (m.data)[(m.p)] == 32 {
6505 goto tr18
6506 }
6507 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6508 goto st328
6509 }
6510 goto tr16
6511 st328:
6512 if (m.p)++; (m.p) == (m.pe) {
6513 goto _testEof328
6514 }
6515 stCase328:
6516 if (m.data)[(m.p)] == 32 {
6517 goto tr18
6518 }
6519 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6520 goto st329
6521 }
6522 goto tr16
6523 st329:
6524 if (m.p)++; (m.p) == (m.pe) {
6525 goto _testEof329
6526 }
6527 stCase329:
6528 if (m.data)[(m.p)] == 32 {
6529 goto tr18
6530 }
6531 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6532 goto st330
6533 }
6534 goto tr16
6535 st330:
6536 if (m.p)++; (m.p) == (m.pe) {
6537 goto _testEof330
6538 }
6539 stCase330:
6540 if (m.data)[(m.p)] == 32 {
6541 goto tr18
6542 }
6543 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6544 goto st331
6545 }
6546 goto tr16
6547 st331:
6548 if (m.p)++; (m.p) == (m.pe) {
6549 goto _testEof331
6550 }
6551 stCase331:
6552 if (m.data)[(m.p)] == 32 {
6553 goto tr18
6554 }
6555 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6556 goto st332
6557 }
6558 goto tr16
6559 st332:
6560 if (m.p)++; (m.p) == (m.pe) {
6561 goto _testEof332
6562 }
6563 stCase332:
6564 if (m.data)[(m.p)] == 32 {
6565 goto tr18
6566 }
6567 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6568 goto st333
6569 }
6570 goto tr16
6571 st333:
6572 if (m.p)++; (m.p) == (m.pe) {
6573 goto _testEof333
6574 }
6575 stCase333:
6576 if (m.data)[(m.p)] == 32 {
6577 goto tr18
6578 }
6579 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6580 goto st334
6581 }
6582 goto tr16
6583 st334:
6584 if (m.p)++; (m.p) == (m.pe) {
6585 goto _testEof334
6586 }
6587 stCase334:
6588 if (m.data)[(m.p)] == 32 {
6589 goto tr18
6590 }
6591 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6592 goto st335
6593 }
6594 goto tr16
6595 st335:
6596 if (m.p)++; (m.p) == (m.pe) {
6597 goto _testEof335
6598 }
6599 stCase335:
6600 if (m.data)[(m.p)] == 32 {
6601 goto tr18
6602 }
6603 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6604 goto st336
6605 }
6606 goto tr16
6607 st336:
6608 if (m.p)++; (m.p) == (m.pe) {
6609 goto _testEof336
6610 }
6611 stCase336:
6612 if (m.data)[(m.p)] == 32 {
6613 goto tr18
6614 }
6615 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6616 goto st337
6617 }
6618 goto tr16
6619 st337:
6620 if (m.p)++; (m.p) == (m.pe) {
6621 goto _testEof337
6622 }
6623 stCase337:
6624 if (m.data)[(m.p)] == 32 {
6625 goto tr18
6626 }
6627 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6628 goto st338
6629 }
6630 goto tr16
6631 st338:
6632 if (m.p)++; (m.p) == (m.pe) {
6633 goto _testEof338
6634 }
6635 stCase338:
6636 if (m.data)[(m.p)] == 32 {
6637 goto tr18
6638 }
6639 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6640 goto st339
6641 }
6642 goto tr16
6643 st339:
6644 if (m.p)++; (m.p) == (m.pe) {
6645 goto _testEof339
6646 }
6647 stCase339:
6648 if (m.data)[(m.p)] == 32 {
6649 goto tr18
6650 }
6651 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6652 goto st340
6653 }
6654 goto tr16
6655 st340:
6656 if (m.p)++; (m.p) == (m.pe) {
6657 goto _testEof340
6658 }
6659 stCase340:
6660 if (m.data)[(m.p)] == 32 {
6661 goto tr18
6662 }
6663 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6664 goto st341
6665 }
6666 goto tr16
6667 st341:
6668 if (m.p)++; (m.p) == (m.pe) {
6669 goto _testEof341
6670 }
6671 stCase341:
6672 if (m.data)[(m.p)] == 32 {
6673 goto tr18
6674 }
6675 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6676 goto st342
6677 }
6678 goto tr16
6679 st342:
6680 if (m.p)++; (m.p) == (m.pe) {
6681 goto _testEof342
6682 }
6683 stCase342:
6684 if (m.data)[(m.p)] == 32 {
6685 goto tr18
6686 }
6687 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6688 goto st343
6689 }
6690 goto tr16
6691 st343:
6692 if (m.p)++; (m.p) == (m.pe) {
6693 goto _testEof343
6694 }
6695 stCase343:
6696 if (m.data)[(m.p)] == 32 {
6697 goto tr18
6698 }
6699 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6700 goto st344
6701 }
6702 goto tr16
6703 st344:
6704 if (m.p)++; (m.p) == (m.pe) {
6705 goto _testEof344
6706 }
6707 stCase344:
6708 if (m.data)[(m.p)] == 32 {
6709 goto tr18
6710 }
6711 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6712 goto st345
6713 }
6714 goto tr16
6715 st345:
6716 if (m.p)++; (m.p) == (m.pe) {
6717 goto _testEof345
6718 }
6719 stCase345:
6720 if (m.data)[(m.p)] == 32 {
6721 goto tr18
6722 }
6723 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6724 goto st346
6725 }
6726 goto tr16
6727 st346:
6728 if (m.p)++; (m.p) == (m.pe) {
6729 goto _testEof346
6730 }
6731 stCase346:
6732 if (m.data)[(m.p)] == 32 {
6733 goto tr18
6734 }
6735 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6736 goto st347
6737 }
6738 goto tr16
6739 st347:
6740 if (m.p)++; (m.p) == (m.pe) {
6741 goto _testEof347
6742 }
6743 stCase347:
6744 if (m.data)[(m.p)] == 32 {
6745 goto tr18
6746 }
6747 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6748 goto st348
6749 }
6750 goto tr16
6751 st348:
6752 if (m.p)++; (m.p) == (m.pe) {
6753 goto _testEof348
6754 }
6755 stCase348:
6756 if (m.data)[(m.p)] == 32 {
6757 goto tr18
6758 }
6759 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6760 goto st349
6761 }
6762 goto tr16
6763 st349:
6764 if (m.p)++; (m.p) == (m.pe) {
6765 goto _testEof349
6766 }
6767 stCase349:
6768 if (m.data)[(m.p)] == 32 {
6769 goto tr18
6770 }
6771 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6772 goto st350
6773 }
6774 goto tr16
6775 st350:
6776 if (m.p)++; (m.p) == (m.pe) {
6777 goto _testEof350
6778 }
6779 stCase350:
6780 if (m.data)[(m.p)] == 32 {
6781 goto tr18
6782 }
6783 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6784 goto st351
6785 }
6786 goto tr16
6787 st351:
6788 if (m.p)++; (m.p) == (m.pe) {
6789 goto _testEof351
6790 }
6791 stCase351:
6792 if (m.data)[(m.p)] == 32 {
6793 goto tr18
6794 }
6795 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6796 goto st352
6797 }
6798 goto tr16
6799 st352:
6800 if (m.p)++; (m.p) == (m.pe) {
6801 goto _testEof352
6802 }
6803 stCase352:
6804 if (m.data)[(m.p)] == 32 {
6805 goto tr18
6806 }
6807 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6808 goto st353
6809 }
6810 goto tr16
6811 st353:
6812 if (m.p)++; (m.p) == (m.pe) {
6813 goto _testEof353
6814 }
6815 stCase353:
6816 if (m.data)[(m.p)] == 32 {
6817 goto tr18
6818 }
6819 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6820 goto st354
6821 }
6822 goto tr16
6823 st354:
6824 if (m.p)++; (m.p) == (m.pe) {
6825 goto _testEof354
6826 }
6827 stCase354:
6828 if (m.data)[(m.p)] == 32 {
6829 goto tr18
6830 }
6831 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6832 goto st355
6833 }
6834 goto tr16
6835 st355:
6836 if (m.p)++; (m.p) == (m.pe) {
6837 goto _testEof355
6838 }
6839 stCase355:
6840 if (m.data)[(m.p)] == 32 {
6841 goto tr18
6842 }
6843 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6844 goto st356
6845 }
6846 goto tr16
6847 st356:
6848 if (m.p)++; (m.p) == (m.pe) {
6849 goto _testEof356
6850 }
6851 stCase356:
6852 if (m.data)[(m.p)] == 32 {
6853 goto tr18
6854 }
6855 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6856 goto st357
6857 }
6858 goto tr16
6859 st357:
6860 if (m.p)++; (m.p) == (m.pe) {
6861 goto _testEof357
6862 }
6863 stCase357:
6864 if (m.data)[(m.p)] == 32 {
6865 goto tr18
6866 }
6867 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6868 goto st358
6869 }
6870 goto tr16
6871 st358:
6872 if (m.p)++; (m.p) == (m.pe) {
6873 goto _testEof358
6874 }
6875 stCase358:
6876 if (m.data)[(m.p)] == 32 {
6877 goto tr18
6878 }
6879 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6880 goto st359
6881 }
6882 goto tr16
6883 st359:
6884 if (m.p)++; (m.p) == (m.pe) {
6885 goto _testEof359
6886 }
6887 stCase359:
6888 if (m.data)[(m.p)] == 32 {
6889 goto tr18
6890 }
6891 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6892 goto st360
6893 }
6894 goto tr16
6895 st360:
6896 if (m.p)++; (m.p) == (m.pe) {
6897 goto _testEof360
6898 }
6899 stCase360:
6900 if (m.data)[(m.p)] == 32 {
6901 goto tr18
6902 }
6903 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6904 goto st361
6905 }
6906 goto tr16
6907 st361:
6908 if (m.p)++; (m.p) == (m.pe) {
6909 goto _testEof361
6910 }
6911 stCase361:
6912 if (m.data)[(m.p)] == 32 {
6913 goto tr18
6914 }
6915 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6916 goto st362
6917 }
6918 goto tr16
6919 st362:
6920 if (m.p)++; (m.p) == (m.pe) {
6921 goto _testEof362
6922 }
6923 stCase362:
6924 if (m.data)[(m.p)] == 32 {
6925 goto tr18
6926 }
6927 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6928 goto st363
6929 }
6930 goto tr16
6931 st363:
6932 if (m.p)++; (m.p) == (m.pe) {
6933 goto _testEof363
6934 }
6935 stCase363:
6936 if (m.data)[(m.p)] == 32 {
6937 goto tr18
6938 }
6939 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6940 goto st364
6941 }
6942 goto tr16
6943 st364:
6944 if (m.p)++; (m.p) == (m.pe) {
6945 goto _testEof364
6946 }
6947 stCase364:
6948 if (m.data)[(m.p)] == 32 {
6949 goto tr18
6950 }
6951 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6952 goto st365
6953 }
6954 goto tr16
6955 st365:
6956 if (m.p)++; (m.p) == (m.pe) {
6957 goto _testEof365
6958 }
6959 stCase365:
6960 if (m.data)[(m.p)] == 32 {
6961 goto tr18
6962 }
6963 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6964 goto st366
6965 }
6966 goto tr16
6967 st366:
6968 if (m.p)++; (m.p) == (m.pe) {
6969 goto _testEof366
6970 }
6971 stCase366:
6972 if (m.data)[(m.p)] == 32 {
6973 goto tr18
6974 }
6975 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6976 goto st367
6977 }
6978 goto tr16
6979 st367:
6980 if (m.p)++; (m.p) == (m.pe) {
6981 goto _testEof367
6982 }
6983 stCase367:
6984 if (m.data)[(m.p)] == 32 {
6985 goto tr18
6986 }
6987 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
6988 goto st368
6989 }
6990 goto tr16
6991 st368:
6992 if (m.p)++; (m.p) == (m.pe) {
6993 goto _testEof368
6994 }
6995 stCase368:
6996 if (m.data)[(m.p)] == 32 {
6997 goto tr18
6998 }
6999 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7000 goto st369
7001 }
7002 goto tr16
7003 st369:
7004 if (m.p)++; (m.p) == (m.pe) {
7005 goto _testEof369
7006 }
7007 stCase369:
7008 if (m.data)[(m.p)] == 32 {
7009 goto tr18
7010 }
7011 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7012 goto st370
7013 }
7014 goto tr16
7015 st370:
7016 if (m.p)++; (m.p) == (m.pe) {
7017 goto _testEof370
7018 }
7019 stCase370:
7020 if (m.data)[(m.p)] == 32 {
7021 goto tr18
7022 }
7023 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7024 goto st371
7025 }
7026 goto tr16
7027 st371:
7028 if (m.p)++; (m.p) == (m.pe) {
7029 goto _testEof371
7030 }
7031 stCase371:
7032 if (m.data)[(m.p)] == 32 {
7033 goto tr18
7034 }
7035 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7036 goto st372
7037 }
7038 goto tr16
7039 st372:
7040 if (m.p)++; (m.p) == (m.pe) {
7041 goto _testEof372
7042 }
7043 stCase372:
7044 if (m.data)[(m.p)] == 32 {
7045 goto tr18
7046 }
7047 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7048 goto st373
7049 }
7050 goto tr16
7051 st373:
7052 if (m.p)++; (m.p) == (m.pe) {
7053 goto _testEof373
7054 }
7055 stCase373:
7056 if (m.data)[(m.p)] == 32 {
7057 goto tr18
7058 }
7059 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7060 goto st374
7061 }
7062 goto tr16
7063 st374:
7064 if (m.p)++; (m.p) == (m.pe) {
7065 goto _testEof374
7066 }
7067 stCase374:
7068 if (m.data)[(m.p)] == 32 {
7069 goto tr18
7070 }
7071 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7072 goto st375
7073 }
7074 goto tr16
7075 st375:
7076 if (m.p)++; (m.p) == (m.pe) {
7077 goto _testEof375
7078 }
7079 stCase375:
7080 if (m.data)[(m.p)] == 32 {
7081 goto tr18
7082 }
7083 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7084 goto st376
7085 }
7086 goto tr16
7087 st376:
7088 if (m.p)++; (m.p) == (m.pe) {
7089 goto _testEof376
7090 }
7091 stCase376:
7092 if (m.data)[(m.p)] == 32 {
7093 goto tr18
7094 }
7095 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7096 goto st377
7097 }
7098 goto tr16
7099 st377:
7100 if (m.p)++; (m.p) == (m.pe) {
7101 goto _testEof377
7102 }
7103 stCase377:
7104 if (m.data)[(m.p)] == 32 {
7105 goto tr18
7106 }
7107 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7108 goto st378
7109 }
7110 goto tr16
7111 st378:
7112 if (m.p)++; (m.p) == (m.pe) {
7113 goto _testEof378
7114 }
7115 stCase378:
7116 if (m.data)[(m.p)] == 32 {
7117 goto tr18
7118 }
7119 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7120 goto st379
7121 }
7122 goto tr16
7123 st379:
7124 if (m.p)++; (m.p) == (m.pe) {
7125 goto _testEof379
7126 }
7127 stCase379:
7128 if (m.data)[(m.p)] == 32 {
7129 goto tr18
7130 }
7131 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7132 goto st380
7133 }
7134 goto tr16
7135 st380:
7136 if (m.p)++; (m.p) == (m.pe) {
7137 goto _testEof380
7138 }
7139 stCase380:
7140 if (m.data)[(m.p)] == 32 {
7141 goto tr18
7142 }
7143 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7144 goto st381
7145 }
7146 goto tr16
7147 st381:
7148 if (m.p)++; (m.p) == (m.pe) {
7149 goto _testEof381
7150 }
7151 stCase381:
7152 if (m.data)[(m.p)] == 32 {
7153 goto tr18
7154 }
7155 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7156 goto st382
7157 }
7158 goto tr16
7159 st382:
7160 if (m.p)++; (m.p) == (m.pe) {
7161 goto _testEof382
7162 }
7163 stCase382:
7164 if (m.data)[(m.p)] == 32 {
7165 goto tr18
7166 }
7167 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7168 goto st383
7169 }
7170 goto tr16
7171 st383:
7172 if (m.p)++; (m.p) == (m.pe) {
7173 goto _testEof383
7174 }
7175 stCase383:
7176 if (m.data)[(m.p)] == 32 {
7177 goto tr18
7178 }
7179 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7180 goto st384
7181 }
7182 goto tr16
7183 st384:
7184 if (m.p)++; (m.p) == (m.pe) {
7185 goto _testEof384
7186 }
7187 stCase384:
7188 if (m.data)[(m.p)] == 32 {
7189 goto tr18
7190 }
7191 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7192 goto st385
7193 }
7194 goto tr16
7195 st385:
7196 if (m.p)++; (m.p) == (m.pe) {
7197 goto _testEof385
7198 }
7199 stCase385:
7200 if (m.data)[(m.p)] == 32 {
7201 goto tr18
7202 }
7203 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7204 goto st386
7205 }
7206 goto tr16
7207 st386:
7208 if (m.p)++; (m.p) == (m.pe) {
7209 goto _testEof386
7210 }
7211 stCase386:
7212 if (m.data)[(m.p)] == 32 {
7213 goto tr18
7214 }
7215 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7216 goto st387
7217 }
7218 goto tr16
7219 st387:
7220 if (m.p)++; (m.p) == (m.pe) {
7221 goto _testEof387
7222 }
7223 stCase387:
7224 if (m.data)[(m.p)] == 32 {
7225 goto tr18
7226 }
7227 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7228 goto st388
7229 }
7230 goto tr16
7231 st388:
7232 if (m.p)++; (m.p) == (m.pe) {
7233 goto _testEof388
7234 }
7235 stCase388:
7236 if (m.data)[(m.p)] == 32 {
7237 goto tr18
7238 }
7239 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7240 goto st389
7241 }
7242 goto tr16
7243 st389:
7244 if (m.p)++; (m.p) == (m.pe) {
7245 goto _testEof389
7246 }
7247 stCase389:
7248 if (m.data)[(m.p)] == 32 {
7249 goto tr18
7250 }
7251 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7252 goto st390
7253 }
7254 goto tr16
7255 st390:
7256 if (m.p)++; (m.p) == (m.pe) {
7257 goto _testEof390
7258 }
7259 stCase390:
7260 if (m.data)[(m.p)] == 32 {
7261 goto tr18
7262 }
7263 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7264 goto st391
7265 }
7266 goto tr16
7267 st391:
7268 if (m.p)++; (m.p) == (m.pe) {
7269 goto _testEof391
7270 }
7271 stCase391:
7272 if (m.data)[(m.p)] == 32 {
7273 goto tr18
7274 }
7275 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7276 goto st392
7277 }
7278 goto tr16
7279 st392:
7280 if (m.p)++; (m.p) == (m.pe) {
7281 goto _testEof392
7282 }
7283 stCase392:
7284 if (m.data)[(m.p)] == 32 {
7285 goto tr18
7286 }
7287 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7288 goto st393
7289 }
7290 goto tr16
7291 st393:
7292 if (m.p)++; (m.p) == (m.pe) {
7293 goto _testEof393
7294 }
7295 stCase393:
7296 if (m.data)[(m.p)] == 32 {
7297 goto tr18
7298 }
7299 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7300 goto st394
7301 }
7302 goto tr16
7303 st394:
7304 if (m.p)++; (m.p) == (m.pe) {
7305 goto _testEof394
7306 }
7307 stCase394:
7308 if (m.data)[(m.p)] == 32 {
7309 goto tr18
7310 }
7311 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7312 goto st395
7313 }
7314 goto tr16
7315 st395:
7316 if (m.p)++; (m.p) == (m.pe) {
7317 goto _testEof395
7318 }
7319 stCase395:
7320 if (m.data)[(m.p)] == 32 {
7321 goto tr18
7322 }
7323 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7324 goto st396
7325 }
7326 goto tr16
7327 st396:
7328 if (m.p)++; (m.p) == (m.pe) {
7329 goto _testEof396
7330 }
7331 stCase396:
7332 if (m.data)[(m.p)] == 32 {
7333 goto tr18
7334 }
7335 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7336 goto st397
7337 }
7338 goto tr16
7339 st397:
7340 if (m.p)++; (m.p) == (m.pe) {
7341 goto _testEof397
7342 }
7343 stCase397:
7344 if (m.data)[(m.p)] == 32 {
7345 goto tr18
7346 }
7347 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7348 goto st398
7349 }
7350 goto tr16
7351 st398:
7352 if (m.p)++; (m.p) == (m.pe) {
7353 goto _testEof398
7354 }
7355 stCase398:
7356 if (m.data)[(m.p)] == 32 {
7357 goto tr18
7358 }
7359 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7360 goto st399
7361 }
7362 goto tr16
7363 st399:
7364 if (m.p)++; (m.p) == (m.pe) {
7365 goto _testEof399
7366 }
7367 stCase399:
7368 if (m.data)[(m.p)] == 32 {
7369 goto tr18
7370 }
7371 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7372 goto st400
7373 }
7374 goto tr16
7375 st400:
7376 if (m.p)++; (m.p) == (m.pe) {
7377 goto _testEof400
7378 }
7379 stCase400:
7380 if (m.data)[(m.p)] == 32 {
7381 goto tr18
7382 }
7383 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7384 goto st401
7385 }
7386 goto tr16
7387 st401:
7388 if (m.p)++; (m.p) == (m.pe) {
7389 goto _testEof401
7390 }
7391 stCase401:
7392 if (m.data)[(m.p)] == 32 {
7393 goto tr18
7394 }
7395 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7396 goto st402
7397 }
7398 goto tr16
7399 st402:
7400 if (m.p)++; (m.p) == (m.pe) {
7401 goto _testEof402
7402 }
7403 stCase402:
7404 if (m.data)[(m.p)] == 32 {
7405 goto tr18
7406 }
7407 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7408 goto st403
7409 }
7410 goto tr16
7411 st403:
7412 if (m.p)++; (m.p) == (m.pe) {
7413 goto _testEof403
7414 }
7415 stCase403:
7416 if (m.data)[(m.p)] == 32 {
7417 goto tr18
7418 }
7419 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7420 goto st404
7421 }
7422 goto tr16
7423 st404:
7424 if (m.p)++; (m.p) == (m.pe) {
7425 goto _testEof404
7426 }
7427 stCase404:
7428 if (m.data)[(m.p)] == 32 {
7429 goto tr18
7430 }
7431 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7432 goto st405
7433 }
7434 goto tr16
7435 st405:
7436 if (m.p)++; (m.p) == (m.pe) {
7437 goto _testEof405
7438 }
7439 stCase405:
7440 if (m.data)[(m.p)] == 32 {
7441 goto tr18
7442 }
7443 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7444 goto st406
7445 }
7446 goto tr16
7447 st406:
7448 if (m.p)++; (m.p) == (m.pe) {
7449 goto _testEof406
7450 }
7451 stCase406:
7452 if (m.data)[(m.p)] == 32 {
7453 goto tr18
7454 }
7455 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7456 goto st407
7457 }
7458 goto tr16
7459 st407:
7460 if (m.p)++; (m.p) == (m.pe) {
7461 goto _testEof407
7462 }
7463 stCase407:
7464 if (m.data)[(m.p)] == 32 {
7465 goto tr18
7466 }
7467 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7468 goto st408
7469 }
7470 goto tr16
7471 st408:
7472 if (m.p)++; (m.p) == (m.pe) {
7473 goto _testEof408
7474 }
7475 stCase408:
7476 if (m.data)[(m.p)] == 32 {
7477 goto tr18
7478 }
7479 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7480 goto st409
7481 }
7482 goto tr16
7483 st409:
7484 if (m.p)++; (m.p) == (m.pe) {
7485 goto _testEof409
7486 }
7487 stCase409:
7488 if (m.data)[(m.p)] == 32 {
7489 goto tr18
7490 }
7491 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7492 goto st410
7493 }
7494 goto tr16
7495 st410:
7496 if (m.p)++; (m.p) == (m.pe) {
7497 goto _testEof410
7498 }
7499 stCase410:
7500 if (m.data)[(m.p)] == 32 {
7501 goto tr18
7502 }
7503 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7504 goto st411
7505 }
7506 goto tr16
7507 st411:
7508 if (m.p)++; (m.p) == (m.pe) {
7509 goto _testEof411
7510 }
7511 stCase411:
7512 if (m.data)[(m.p)] == 32 {
7513 goto tr18
7514 }
7515 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7516 goto st412
7517 }
7518 goto tr16
7519 st412:
7520 if (m.p)++; (m.p) == (m.pe) {
7521 goto _testEof412
7522 }
7523 stCase412:
7524 if (m.data)[(m.p)] == 32 {
7525 goto tr18
7526 }
7527 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7528 goto st413
7529 }
7530 goto tr16
7531 st413:
7532 if (m.p)++; (m.p) == (m.pe) {
7533 goto _testEof413
7534 }
7535 stCase413:
7536 if (m.data)[(m.p)] == 32 {
7537 goto tr18
7538 }
7539 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7540 goto st414
7541 }
7542 goto tr16
7543 st414:
7544 if (m.p)++; (m.p) == (m.pe) {
7545 goto _testEof414
7546 }
7547 stCase414:
7548 if (m.data)[(m.p)] == 32 {
7549 goto tr18
7550 }
7551 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7552 goto st415
7553 }
7554 goto tr16
7555 st415:
7556 if (m.p)++; (m.p) == (m.pe) {
7557 goto _testEof415
7558 }
7559 stCase415:
7560 if (m.data)[(m.p)] == 32 {
7561 goto tr18
7562 }
7563 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7564 goto st416
7565 }
7566 goto tr16
7567 st416:
7568 if (m.p)++; (m.p) == (m.pe) {
7569 goto _testEof416
7570 }
7571 stCase416:
7572 if (m.data)[(m.p)] == 32 {
7573 goto tr18
7574 }
7575 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7576 goto st417
7577 }
7578 goto tr16
7579 st417:
7580 if (m.p)++; (m.p) == (m.pe) {
7581 goto _testEof417
7582 }
7583 stCase417:
7584 if (m.data)[(m.p)] == 32 {
7585 goto tr18
7586 }
7587 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7588 goto st418
7589 }
7590 goto tr16
7591 st418:
7592 if (m.p)++; (m.p) == (m.pe) {
7593 goto _testEof418
7594 }
7595 stCase418:
7596 if (m.data)[(m.p)] == 32 {
7597 goto tr18
7598 }
7599 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7600 goto st419
7601 }
7602 goto tr16
7603 st419:
7604 if (m.p)++; (m.p) == (m.pe) {
7605 goto _testEof419
7606 }
7607 stCase419:
7608 if (m.data)[(m.p)] == 32 {
7609 goto tr18
7610 }
7611 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7612 goto st420
7613 }
7614 goto tr16
7615 st420:
7616 if (m.p)++; (m.p) == (m.pe) {
7617 goto _testEof420
7618 }
7619 stCase420:
7620 if (m.data)[(m.p)] == 32 {
7621 goto tr18
7622 }
7623 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7624 goto st421
7625 }
7626 goto tr16
7627 st421:
7628 if (m.p)++; (m.p) == (m.pe) {
7629 goto _testEof421
7630 }
7631 stCase421:
7632 if (m.data)[(m.p)] == 32 {
7633 goto tr18
7634 }
7635 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7636 goto st422
7637 }
7638 goto tr16
7639 st422:
7640 if (m.p)++; (m.p) == (m.pe) {
7641 goto _testEof422
7642 }
7643 stCase422:
7644 if (m.data)[(m.p)] == 32 {
7645 goto tr18
7646 }
7647 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7648 goto st423
7649 }
7650 goto tr16
7651 st423:
7652 if (m.p)++; (m.p) == (m.pe) {
7653 goto _testEof423
7654 }
7655 stCase423:
7656 if (m.data)[(m.p)] == 32 {
7657 goto tr18
7658 }
7659 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7660 goto st424
7661 }
7662 goto tr16
7663 st424:
7664 if (m.p)++; (m.p) == (m.pe) {
7665 goto _testEof424
7666 }
7667 stCase424:
7668 if (m.data)[(m.p)] == 32 {
7669 goto tr18
7670 }
7671 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7672 goto st425
7673 }
7674 goto tr16
7675 st425:
7676 if (m.p)++; (m.p) == (m.pe) {
7677 goto _testEof425
7678 }
7679 stCase425:
7680 if (m.data)[(m.p)] == 32 {
7681 goto tr18
7682 }
7683 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7684 goto st426
7685 }
7686 goto tr16
7687 st426:
7688 if (m.p)++; (m.p) == (m.pe) {
7689 goto _testEof426
7690 }
7691 stCase426:
7692 if (m.data)[(m.p)] == 32 {
7693 goto tr18
7694 }
7695 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7696 goto st427
7697 }
7698 goto tr16
7699 st427:
7700 if (m.p)++; (m.p) == (m.pe) {
7701 goto _testEof427
7702 }
7703 stCase427:
7704 if (m.data)[(m.p)] == 32 {
7705 goto tr18
7706 }
7707 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7708 goto st428
7709 }
7710 goto tr16
7711 st428:
7712 if (m.p)++; (m.p) == (m.pe) {
7713 goto _testEof428
7714 }
7715 stCase428:
7716 if (m.data)[(m.p)] == 32 {
7717 goto tr18
7718 }
7719 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7720 goto st429
7721 }
7722 goto tr16
7723 st429:
7724 if (m.p)++; (m.p) == (m.pe) {
7725 goto _testEof429
7726 }
7727 stCase429:
7728 if (m.data)[(m.p)] == 32 {
7729 goto tr18
7730 }
7731 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7732 goto st430
7733 }
7734 goto tr16
7735 st430:
7736 if (m.p)++; (m.p) == (m.pe) {
7737 goto _testEof430
7738 }
7739 stCase430:
7740 if (m.data)[(m.p)] == 32 {
7741 goto tr18
7742 }
7743 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7744 goto st431
7745 }
7746 goto tr16
7747 st431:
7748 if (m.p)++; (m.p) == (m.pe) {
7749 goto _testEof431
7750 }
7751 stCase431:
7752 if (m.data)[(m.p)] == 32 {
7753 goto tr18
7754 }
7755 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7756 goto st432
7757 }
7758 goto tr16
7759 st432:
7760 if (m.p)++; (m.p) == (m.pe) {
7761 goto _testEof432
7762 }
7763 stCase432:
7764 if (m.data)[(m.p)] == 32 {
7765 goto tr18
7766 }
7767 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7768 goto st433
7769 }
7770 goto tr16
7771 st433:
7772 if (m.p)++; (m.p) == (m.pe) {
7773 goto _testEof433
7774 }
7775 stCase433:
7776 if (m.data)[(m.p)] == 32 {
7777 goto tr18
7778 }
7779 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7780 goto st434
7781 }
7782 goto tr16
7783 st434:
7784 if (m.p)++; (m.p) == (m.pe) {
7785 goto _testEof434
7786 }
7787 stCase434:
7788 if (m.data)[(m.p)] == 32 {
7789 goto tr18
7790 }
7791 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7792 goto st435
7793 }
7794 goto tr16
7795 st435:
7796 if (m.p)++; (m.p) == (m.pe) {
7797 goto _testEof435
7798 }
7799 stCase435:
7800 if (m.data)[(m.p)] == 32 {
7801 goto tr18
7802 }
7803 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7804 goto st436
7805 }
7806 goto tr16
7807 st436:
7808 if (m.p)++; (m.p) == (m.pe) {
7809 goto _testEof436
7810 }
7811 stCase436:
7812 if (m.data)[(m.p)] == 32 {
7813 goto tr18
7814 }
7815 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7816 goto st437
7817 }
7818 goto tr16
7819 st437:
7820 if (m.p)++; (m.p) == (m.pe) {
7821 goto _testEof437
7822 }
7823 stCase437:
7824 if (m.data)[(m.p)] == 32 {
7825 goto tr18
7826 }
7827 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7828 goto st438
7829 }
7830 goto tr16
7831 st438:
7832 if (m.p)++; (m.p) == (m.pe) {
7833 goto _testEof438
7834 }
7835 stCase438:
7836 if (m.data)[(m.p)] == 32 {
7837 goto tr18
7838 }
7839 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7840 goto st439
7841 }
7842 goto tr16
7843 st439:
7844 if (m.p)++; (m.p) == (m.pe) {
7845 goto _testEof439
7846 }
7847 stCase439:
7848 if (m.data)[(m.p)] == 32 {
7849 goto tr18
7850 }
7851 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7852 goto st440
7853 }
7854 goto tr16
7855 st440:
7856 if (m.p)++; (m.p) == (m.pe) {
7857 goto _testEof440
7858 }
7859 stCase440:
7860 if (m.data)[(m.p)] == 32 {
7861 goto tr18
7862 }
7863 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7864 goto st441
7865 }
7866 goto tr16
7867 st441:
7868 if (m.p)++; (m.p) == (m.pe) {
7869 goto _testEof441
7870 }
7871 stCase441:
7872 if (m.data)[(m.p)] == 32 {
7873 goto tr18
7874 }
7875 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7876 goto st442
7877 }
7878 goto tr16
7879 st442:
7880 if (m.p)++; (m.p) == (m.pe) {
7881 goto _testEof442
7882 }
7883 stCase442:
7884 if (m.data)[(m.p)] == 32 {
7885 goto tr18
7886 }
7887 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7888 goto st443
7889 }
7890 goto tr16
7891 st443:
7892 if (m.p)++; (m.p) == (m.pe) {
7893 goto _testEof443
7894 }
7895 stCase443:
7896 if (m.data)[(m.p)] == 32 {
7897 goto tr18
7898 }
7899 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7900 goto st444
7901 }
7902 goto tr16
7903 st444:
7904 if (m.p)++; (m.p) == (m.pe) {
7905 goto _testEof444
7906 }
7907 stCase444:
7908 if (m.data)[(m.p)] == 32 {
7909 goto tr18
7910 }
7911 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7912 goto st445
7913 }
7914 goto tr16
7915 st445:
7916 if (m.p)++; (m.p) == (m.pe) {
7917 goto _testEof445
7918 }
7919 stCase445:
7920 if (m.data)[(m.p)] == 32 {
7921 goto tr18
7922 }
7923 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7924 goto st446
7925 }
7926 goto tr16
7927 st446:
7928 if (m.p)++; (m.p) == (m.pe) {
7929 goto _testEof446
7930 }
7931 stCase446:
7932 if (m.data)[(m.p)] == 32 {
7933 goto tr18
7934 }
7935 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7936 goto st447
7937 }
7938 goto tr16
7939 st447:
7940 if (m.p)++; (m.p) == (m.pe) {
7941 goto _testEof447
7942 }
7943 stCase447:
7944 if (m.data)[(m.p)] == 32 {
7945 goto tr18
7946 }
7947 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7948 goto st448
7949 }
7950 goto tr16
7951 st448:
7952 if (m.p)++; (m.p) == (m.pe) {
7953 goto _testEof448
7954 }
7955 stCase448:
7956 if (m.data)[(m.p)] == 32 {
7957 goto tr18
7958 }
7959 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7960 goto st449
7961 }
7962 goto tr16
7963 st449:
7964 if (m.p)++; (m.p) == (m.pe) {
7965 goto _testEof449
7966 }
7967 stCase449:
7968 if (m.data)[(m.p)] == 32 {
7969 goto tr18
7970 }
7971 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7972 goto st450
7973 }
7974 goto tr16
7975 st450:
7976 if (m.p)++; (m.p) == (m.pe) {
7977 goto _testEof450
7978 }
7979 stCase450:
7980 if (m.data)[(m.p)] == 32 {
7981 goto tr18
7982 }
7983 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7984 goto st451
7985 }
7986 goto tr16
7987 st451:
7988 if (m.p)++; (m.p) == (m.pe) {
7989 goto _testEof451
7990 }
7991 stCase451:
7992 if (m.data)[(m.p)] == 32 {
7993 goto tr18
7994 }
7995 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
7996 goto st452
7997 }
7998 goto tr16
7999 st452:
8000 if (m.p)++; (m.p) == (m.pe) {
8001 goto _testEof452
8002 }
8003 stCase452:
8004 if (m.data)[(m.p)] == 32 {
8005 goto tr18
8006 }
8007 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8008 goto st453
8009 }
8010 goto tr16
8011 st453:
8012 if (m.p)++; (m.p) == (m.pe) {
8013 goto _testEof453
8014 }
8015 stCase453:
8016 if (m.data)[(m.p)] == 32 {
8017 goto tr18
8018 }
8019 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8020 goto st454
8021 }
8022 goto tr16
8023 st454:
8024 if (m.p)++; (m.p) == (m.pe) {
8025 goto _testEof454
8026 }
8027 stCase454:
8028 if (m.data)[(m.p)] == 32 {
8029 goto tr18
8030 }
8031 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8032 goto st455
8033 }
8034 goto tr16
8035 st455:
8036 if (m.p)++; (m.p) == (m.pe) {
8037 goto _testEof455
8038 }
8039 stCase455:
8040 if (m.data)[(m.p)] == 32 {
8041 goto tr18
8042 }
8043 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8044 goto st456
8045 }
8046 goto tr16
8047 st456:
8048 if (m.p)++; (m.p) == (m.pe) {
8049 goto _testEof456
8050 }
8051 stCase456:
8052 if (m.data)[(m.p)] == 32 {
8053 goto tr18
8054 }
8055 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8056 goto st457
8057 }
8058 goto tr16
8059 st457:
8060 if (m.p)++; (m.p) == (m.pe) {
8061 goto _testEof457
8062 }
8063 stCase457:
8064 if (m.data)[(m.p)] == 32 {
8065 goto tr18
8066 }
8067 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8068 goto st458
8069 }
8070 goto tr16
8071 st458:
8072 if (m.p)++; (m.p) == (m.pe) {
8073 goto _testEof458
8074 }
8075 stCase458:
8076 if (m.data)[(m.p)] == 32 {
8077 goto tr18
8078 }
8079 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8080 goto st459
8081 }
8082 goto tr16
8083 st459:
8084 if (m.p)++; (m.p) == (m.pe) {
8085 goto _testEof459
8086 }
8087 stCase459:
8088 if (m.data)[(m.p)] == 32 {
8089 goto tr18
8090 }
8091 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8092 goto st460
8093 }
8094 goto tr16
8095 st460:
8096 if (m.p)++; (m.p) == (m.pe) {
8097 goto _testEof460
8098 }
8099 stCase460:
8100 if (m.data)[(m.p)] == 32 {
8101 goto tr18
8102 }
8103 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8104 goto st461
8105 }
8106 goto tr16
8107 st461:
8108 if (m.p)++; (m.p) == (m.pe) {
8109 goto _testEof461
8110 }
8111 stCase461:
8112 if (m.data)[(m.p)] == 32 {
8113 goto tr18
8114 }
8115 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8116 goto st462
8117 }
8118 goto tr16
8119 st462:
8120 if (m.p)++; (m.p) == (m.pe) {
8121 goto _testEof462
8122 }
8123 stCase462:
8124 if (m.data)[(m.p)] == 32 {
8125 goto tr18
8126 }
8127 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8128 goto st463
8129 }
8130 goto tr16
8131 st463:
8132 if (m.p)++; (m.p) == (m.pe) {
8133 goto _testEof463
8134 }
8135 stCase463:
8136 if (m.data)[(m.p)] == 32 {
8137 goto tr18
8138 }
8139 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8140 goto st464
8141 }
8142 goto tr16
8143 st464:
8144 if (m.p)++; (m.p) == (m.pe) {
8145 goto _testEof464
8146 }
8147 stCase464:
8148 if (m.data)[(m.p)] == 32 {
8149 goto tr18
8150 }
8151 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8152 goto st465
8153 }
8154 goto tr16
8155 st465:
8156 if (m.p)++; (m.p) == (m.pe) {
8157 goto _testEof465
8158 }
8159 stCase465:
8160 if (m.data)[(m.p)] == 32 {
8161 goto tr18
8162 }
8163 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8164 goto st466
8165 }
8166 goto tr16
8167 st466:
8168 if (m.p)++; (m.p) == (m.pe) {
8169 goto _testEof466
8170 }
8171 stCase466:
8172 if (m.data)[(m.p)] == 32 {
8173 goto tr18
8174 }
8175 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8176 goto st467
8177 }
8178 goto tr16
8179 st467:
8180 if (m.p)++; (m.p) == (m.pe) {
8181 goto _testEof467
8182 }
8183 stCase467:
8184 if (m.data)[(m.p)] == 32 {
8185 goto tr18
8186 }
8187 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8188 goto st468
8189 }
8190 goto tr16
8191 st468:
8192 if (m.p)++; (m.p) == (m.pe) {
8193 goto _testEof468
8194 }
8195 stCase468:
8196 if (m.data)[(m.p)] == 32 {
8197 goto tr18
8198 }
8199 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8200 goto st469
8201 }
8202 goto tr16
8203 st469:
8204 if (m.p)++; (m.p) == (m.pe) {
8205 goto _testEof469
8206 }
8207 stCase469:
8208 if (m.data)[(m.p)] == 32 {
8209 goto tr18
8210 }
8211 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8212 goto st470
8213 }
8214 goto tr16
8215 st470:
8216 if (m.p)++; (m.p) == (m.pe) {
8217 goto _testEof470
8218 }
8219 stCase470:
8220 if (m.data)[(m.p)] == 32 {
8221 goto tr18
8222 }
8223 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8224 goto st471
8225 }
8226 goto tr16
8227 st471:
8228 if (m.p)++; (m.p) == (m.pe) {
8229 goto _testEof471
8230 }
8231 stCase471:
8232 if (m.data)[(m.p)] == 32 {
8233 goto tr18
8234 }
8235 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8236 goto st472
8237 }
8238 goto tr16
8239 st472:
8240 if (m.p)++; (m.p) == (m.pe) {
8241 goto _testEof472
8242 }
8243 stCase472:
8244 if (m.data)[(m.p)] == 32 {
8245 goto tr18
8246 }
8247 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8248 goto st473
8249 }
8250 goto tr16
8251 st473:
8252 if (m.p)++; (m.p) == (m.pe) {
8253 goto _testEof473
8254 }
8255 stCase473:
8256 if (m.data)[(m.p)] == 32 {
8257 goto tr18
8258 }
8259 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8260 goto st474
8261 }
8262 goto tr16
8263 st474:
8264 if (m.p)++; (m.p) == (m.pe) {
8265 goto _testEof474
8266 }
8267 stCase474:
8268 if (m.data)[(m.p)] == 32 {
8269 goto tr18
8270 }
8271 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8272 goto st475
8273 }
8274 goto tr16
8275 st475:
8276 if (m.p)++; (m.p) == (m.pe) {
8277 goto _testEof475
8278 }
8279 stCase475:
8280 if (m.data)[(m.p)] == 32 {
8281 goto tr18
8282 }
8283 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8284 goto st476
8285 }
8286 goto tr16
8287 st476:
8288 if (m.p)++; (m.p) == (m.pe) {
8289 goto _testEof476
8290 }
8291 stCase476:
8292 if (m.data)[(m.p)] == 32 {
8293 goto tr18
8294 }
8295 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8296 goto st477
8297 }
8298 goto tr16
8299 st477:
8300 if (m.p)++; (m.p) == (m.pe) {
8301 goto _testEof477
8302 }
8303 stCase477:
8304 if (m.data)[(m.p)] == 32 {
8305 goto tr18
8306 }
8307 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8308 goto st478
8309 }
8310 goto tr16
8311 st478:
8312 if (m.p)++; (m.p) == (m.pe) {
8313 goto _testEof478
8314 }
8315 stCase478:
8316 if (m.data)[(m.p)] == 32 {
8317 goto tr18
8318 }
8319 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8320 goto st479
8321 }
8322 goto tr16
8323 st479:
8324 if (m.p)++; (m.p) == (m.pe) {
8325 goto _testEof479
8326 }
8327 stCase479:
8328 if (m.data)[(m.p)] == 32 {
8329 goto tr18
8330 }
8331 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8332 goto st480
8333 }
8334 goto tr16
8335 st480:
8336 if (m.p)++; (m.p) == (m.pe) {
8337 goto _testEof480
8338 }
8339 stCase480:
8340 if (m.data)[(m.p)] == 32 {
8341 goto tr18
8342 }
8343 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8344 goto st481
8345 }
8346 goto tr16
8347 st481:
8348 if (m.p)++; (m.p) == (m.pe) {
8349 goto _testEof481
8350 }
8351 stCase481:
8352 if (m.data)[(m.p)] == 32 {
8353 goto tr18
8354 }
8355 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8356 goto st482
8357 }
8358 goto tr16
8359 st482:
8360 if (m.p)++; (m.p) == (m.pe) {
8361 goto _testEof482
8362 }
8363 stCase482:
8364 if (m.data)[(m.p)] == 32 {
8365 goto tr18
8366 }
8367 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8368 goto st483
8369 }
8370 goto tr16
8371 st483:
8372 if (m.p)++; (m.p) == (m.pe) {
8373 goto _testEof483
8374 }
8375 stCase483:
8376 if (m.data)[(m.p)] == 32 {
8377 goto tr18
8378 }
8379 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8380 goto st484
8381 }
8382 goto tr16
8383 st484:
8384 if (m.p)++; (m.p) == (m.pe) {
8385 goto _testEof484
8386 }
8387 stCase484:
8388 if (m.data)[(m.p)] == 32 {
8389 goto tr18
8390 }
8391 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8392 goto st485
8393 }
8394 goto tr16
8395 st485:
8396 if (m.p)++; (m.p) == (m.pe) {
8397 goto _testEof485
8398 }
8399 stCase485:
8400 if (m.data)[(m.p)] == 32 {
8401 goto tr18
8402 }
8403 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8404 goto st486
8405 }
8406 goto tr16
8407 st486:
8408 if (m.p)++; (m.p) == (m.pe) {
8409 goto _testEof486
8410 }
8411 stCase486:
8412 if (m.data)[(m.p)] == 32 {
8413 goto tr18
8414 }
8415 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8416 goto st487
8417 }
8418 goto tr16
8419 st487:
8420 if (m.p)++; (m.p) == (m.pe) {
8421 goto _testEof487
8422 }
8423 stCase487:
8424 if (m.data)[(m.p)] == 32 {
8425 goto tr18
8426 }
8427 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8428 goto st488
8429 }
8430 goto tr16
8431 st488:
8432 if (m.p)++; (m.p) == (m.pe) {
8433 goto _testEof488
8434 }
8435 stCase488:
8436 if (m.data)[(m.p)] == 32 {
8437 goto tr18
8438 }
8439 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8440 goto st489
8441 }
8442 goto tr16
8443 st489:
8444 if (m.p)++; (m.p) == (m.pe) {
8445 goto _testEof489
8446 }
8447 stCase489:
8448 if (m.data)[(m.p)] == 32 {
8449 goto tr18
8450 }
8451 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8452 goto st490
8453 }
8454 goto tr16
8455 st490:
8456 if (m.p)++; (m.p) == (m.pe) {
8457 goto _testEof490
8458 }
8459 stCase490:
8460 if (m.data)[(m.p)] == 32 {
8461 goto tr18
8462 }
8463 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8464 goto st491
8465 }
8466 goto tr16
8467 st491:
8468 if (m.p)++; (m.p) == (m.pe) {
8469 goto _testEof491
8470 }
8471 stCase491:
8472 if (m.data)[(m.p)] == 32 {
8473 goto tr18
8474 }
8475 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8476 goto st492
8477 }
8478 goto tr16
8479 st492:
8480 if (m.p)++; (m.p) == (m.pe) {
8481 goto _testEof492
8482 }
8483 stCase492:
8484 if (m.data)[(m.p)] == 32 {
8485 goto tr18
8486 }
8487 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8488 goto st493
8489 }
8490 goto tr16
8491 st493:
8492 if (m.p)++; (m.p) == (m.pe) {
8493 goto _testEof493
8494 }
8495 stCase493:
8496 if (m.data)[(m.p)] == 32 {
8497 goto tr18
8498 }
8499 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8500 goto st494
8501 }
8502 goto tr16
8503 st494:
8504 if (m.p)++; (m.p) == (m.pe) {
8505 goto _testEof494
8506 }
8507 stCase494:
8508 if (m.data)[(m.p)] == 32 {
8509 goto tr18
8510 }
8511 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8512 goto st495
8513 }
8514 goto tr16
8515 st495:
8516 if (m.p)++; (m.p) == (m.pe) {
8517 goto _testEof495
8518 }
8519 stCase495:
8520 if (m.data)[(m.p)] == 32 {
8521 goto tr18
8522 }
8523 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8524 goto st496
8525 }
8526 goto tr16
8527 st496:
8528 if (m.p)++; (m.p) == (m.pe) {
8529 goto _testEof496
8530 }
8531 stCase496:
8532 if (m.data)[(m.p)] == 32 {
8533 goto tr18
8534 }
8535 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8536 goto st497
8537 }
8538 goto tr16
8539 st497:
8540 if (m.p)++; (m.p) == (m.pe) {
8541 goto _testEof497
8542 }
8543 stCase497:
8544 if (m.data)[(m.p)] == 32 {
8545 goto tr18
8546 }
8547 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8548 goto st498
8549 }
8550 goto tr16
8551 st498:
8552 if (m.p)++; (m.p) == (m.pe) {
8553 goto _testEof498
8554 }
8555 stCase498:
8556 if (m.data)[(m.p)] == 32 {
8557 goto tr18
8558 }
8559 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8560 goto st499
8561 }
8562 goto tr16
8563 st499:
8564 if (m.p)++; (m.p) == (m.pe) {
8565 goto _testEof499
8566 }
8567 stCase499:
8568 if (m.data)[(m.p)] == 32 {
8569 goto tr18
8570 }
8571 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8572 goto st500
8573 }
8574 goto tr16
8575 st500:
8576 if (m.p)++; (m.p) == (m.pe) {
8577 goto _testEof500
8578 }
8579 stCase500:
8580 if (m.data)[(m.p)] == 32 {
8581 goto tr18
8582 }
8583 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8584 goto st501
8585 }
8586 goto tr16
8587 st501:
8588 if (m.p)++; (m.p) == (m.pe) {
8589 goto _testEof501
8590 }
8591 stCase501:
8592 if (m.data)[(m.p)] == 32 {
8593 goto tr18
8594 }
8595 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8596 goto st502
8597 }
8598 goto tr16
8599 st502:
8600 if (m.p)++; (m.p) == (m.pe) {
8601 goto _testEof502
8602 }
8603 stCase502:
8604 if (m.data)[(m.p)] == 32 {
8605 goto tr18
8606 }
8607 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8608 goto st503
8609 }
8610 goto tr16
8611 st503:
8612 if (m.p)++; (m.p) == (m.pe) {
8613 goto _testEof503
8614 }
8615 stCase503:
8616 if (m.data)[(m.p)] == 32 {
8617 goto tr18
8618 }
8619 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8620 goto st504
8621 }
8622 goto tr16
8623 st504:
8624 if (m.p)++; (m.p) == (m.pe) {
8625 goto _testEof504
8626 }
8627 stCase504:
8628 if (m.data)[(m.p)] == 32 {
8629 goto tr18
8630 }
8631 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8632 goto st505
8633 }
8634 goto tr16
8635 st505:
8636 if (m.p)++; (m.p) == (m.pe) {
8637 goto _testEof505
8638 }
8639 stCase505:
8640 if (m.data)[(m.p)] == 32 {
8641 goto tr18
8642 }
8643 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8644 goto st506
8645 }
8646 goto tr16
8647 st506:
8648 if (m.p)++; (m.p) == (m.pe) {
8649 goto _testEof506
8650 }
8651 stCase506:
8652 if (m.data)[(m.p)] == 32 {
8653 goto tr18
8654 }
8655 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8656 goto st507
8657 }
8658 goto tr16
8659 st507:
8660 if (m.p)++; (m.p) == (m.pe) {
8661 goto _testEof507
8662 }
8663 stCase507:
8664 if (m.data)[(m.p)] == 32 {
8665 goto tr18
8666 }
8667 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8668 goto st508
8669 }
8670 goto tr16
8671 st508:
8672 if (m.p)++; (m.p) == (m.pe) {
8673 goto _testEof508
8674 }
8675 stCase508:
8676 if (m.data)[(m.p)] == 32 {
8677 goto tr18
8678 }
8679 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8680 goto st509
8681 }
8682 goto tr16
8683 st509:
8684 if (m.p)++; (m.p) == (m.pe) {
8685 goto _testEof509
8686 }
8687 stCase509:
8688 if (m.data)[(m.p)] == 32 {
8689 goto tr18
8690 }
8691 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8692 goto st510
8693 }
8694 goto tr16
8695 st510:
8696 if (m.p)++; (m.p) == (m.pe) {
8697 goto _testEof510
8698 }
8699 stCase510:
8700 if (m.data)[(m.p)] == 32 {
8701 goto tr18
8702 }
8703 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8704 goto st511
8705 }
8706 goto tr16
8707 st511:
8708 if (m.p)++; (m.p) == (m.pe) {
8709 goto _testEof511
8710 }
8711 stCase511:
8712 if (m.data)[(m.p)] == 32 {
8713 goto tr18
8714 }
8715 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8716 goto st512
8717 }
8718 goto tr16
8719 st512:
8720 if (m.p)++; (m.p) == (m.pe) {
8721 goto _testEof512
8722 }
8723 stCase512:
8724 if (m.data)[(m.p)] == 32 {
8725 goto tr18
8726 }
8727 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8728 goto st513
8729 }
8730 goto tr16
8731 st513:
8732 if (m.p)++; (m.p) == (m.pe) {
8733 goto _testEof513
8734 }
8735 stCase513:
8736 if (m.data)[(m.p)] == 32 {
8737 goto tr18
8738 }
8739 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8740 goto st514
8741 }
8742 goto tr16
8743 st514:
8744 if (m.p)++; (m.p) == (m.pe) {
8745 goto _testEof514
8746 }
8747 stCase514:
8748 if (m.data)[(m.p)] == 32 {
8749 goto tr18
8750 }
8751 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8752 goto st515
8753 }
8754 goto tr16
8755 st515:
8756 if (m.p)++; (m.p) == (m.pe) {
8757 goto _testEof515
8758 }
8759 stCase515:
8760 if (m.data)[(m.p)] == 32 {
8761 goto tr18
8762 }
8763 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8764 goto st516
8765 }
8766 goto tr16
8767 st516:
8768 if (m.p)++; (m.p) == (m.pe) {
8769 goto _testEof516
8770 }
8771 stCase516:
8772 if (m.data)[(m.p)] == 32 {
8773 goto tr18
8774 }
8775 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8776 goto st517
8777 }
8778 goto tr16
8779 st517:
8780 if (m.p)++; (m.p) == (m.pe) {
8781 goto _testEof517
8782 }
8783 stCase517:
8784 if (m.data)[(m.p)] == 32 {
8785 goto tr18
8786 }
8787 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8788 goto st518
8789 }
8790 goto tr16
8791 st518:
8792 if (m.p)++; (m.p) == (m.pe) {
8793 goto _testEof518
8794 }
8795 stCase518:
8796 if (m.data)[(m.p)] == 32 {
8797 goto tr18
8798 }
8799 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8800 goto st519
8801 }
8802 goto tr16
8803 st519:
8804 if (m.p)++; (m.p) == (m.pe) {
8805 goto _testEof519
8806 }
8807 stCase519:
8808 if (m.data)[(m.p)] == 32 {
8809 goto tr18
8810 }
8811 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8812 goto st520
8813 }
8814 goto tr16
8815 st520:
8816 if (m.p)++; (m.p) == (m.pe) {
8817 goto _testEof520
8818 }
8819 stCase520:
8820 if (m.data)[(m.p)] == 32 {
8821 goto tr18
8822 }
8823 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8824 goto st521
8825 }
8826 goto tr16
8827 st521:
8828 if (m.p)++; (m.p) == (m.pe) {
8829 goto _testEof521
8830 }
8831 stCase521:
8832 if (m.data)[(m.p)] == 32 {
8833 goto tr18
8834 }
8835 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8836 goto st522
8837 }
8838 goto tr16
8839 st522:
8840 if (m.p)++; (m.p) == (m.pe) {
8841 goto _testEof522
8842 }
8843 stCase522:
8844 if (m.data)[(m.p)] == 32 {
8845 goto tr18
8846 }
8847 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8848 goto st523
8849 }
8850 goto tr16
8851 st523:
8852 if (m.p)++; (m.p) == (m.pe) {
8853 goto _testEof523
8854 }
8855 stCase523:
8856 if (m.data)[(m.p)] == 32 {
8857 goto tr18
8858 }
8859 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8860 goto st524
8861 }
8862 goto tr16
8863 st524:
8864 if (m.p)++; (m.p) == (m.pe) {
8865 goto _testEof524
8866 }
8867 stCase524:
8868 if (m.data)[(m.p)] == 32 {
8869 goto tr18
8870 }
8871 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8872 goto st525
8873 }
8874 goto tr16
8875 st525:
8876 if (m.p)++; (m.p) == (m.pe) {
8877 goto _testEof525
8878 }
8879 stCase525:
8880 if (m.data)[(m.p)] == 32 {
8881 goto tr18
8882 }
8883 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8884 goto st526
8885 }
8886 goto tr16
8887 st526:
8888 if (m.p)++; (m.p) == (m.pe) {
8889 goto _testEof526
8890 }
8891 stCase526:
8892 if (m.data)[(m.p)] == 32 {
8893 goto tr18
8894 }
8895 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8896 goto st527
8897 }
8898 goto tr16
8899 st527:
8900 if (m.p)++; (m.p) == (m.pe) {
8901 goto _testEof527
8902 }
8903 stCase527:
8904 if (m.data)[(m.p)] == 32 {
8905 goto tr18
8906 }
8907 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8908 goto st528
8909 }
8910 goto tr16
8911 st528:
8912 if (m.p)++; (m.p) == (m.pe) {
8913 goto _testEof528
8914 }
8915 stCase528:
8916 if (m.data)[(m.p)] == 32 {
8917 goto tr18
8918 }
8919 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8920 goto st529
8921 }
8922 goto tr16
8923 st529:
8924 if (m.p)++; (m.p) == (m.pe) {
8925 goto _testEof529
8926 }
8927 stCase529:
8928 if (m.data)[(m.p)] == 32 {
8929 goto tr18
8930 }
8931 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8932 goto st530
8933 }
8934 goto tr16
8935 st530:
8936 if (m.p)++; (m.p) == (m.pe) {
8937 goto _testEof530
8938 }
8939 stCase530:
8940 if (m.data)[(m.p)] == 32 {
8941 goto tr18
8942 }
8943 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8944 goto st531
8945 }
8946 goto tr16
8947 st531:
8948 if (m.p)++; (m.p) == (m.pe) {
8949 goto _testEof531
8950 }
8951 stCase531:
8952 if (m.data)[(m.p)] == 32 {
8953 goto tr18
8954 }
8955 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8956 goto st532
8957 }
8958 goto tr16
8959 st532:
8960 if (m.p)++; (m.p) == (m.pe) {
8961 goto _testEof532
8962 }
8963 stCase532:
8964 if (m.data)[(m.p)] == 32 {
8965 goto tr18
8966 }
8967 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8968 goto st533
8969 }
8970 goto tr16
8971 st533:
8972 if (m.p)++; (m.p) == (m.pe) {
8973 goto _testEof533
8974 }
8975 stCase533:
8976 if (m.data)[(m.p)] == 32 {
8977 goto tr18
8978 }
8979 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8980 goto st534
8981 }
8982 goto tr16
8983 st534:
8984 if (m.p)++; (m.p) == (m.pe) {
8985 goto _testEof534
8986 }
8987 stCase534:
8988 if (m.data)[(m.p)] == 32 {
8989 goto tr18
8990 }
8991 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
8992 goto st535
8993 }
8994 goto tr16
8995 st535:
8996 if (m.p)++; (m.p) == (m.pe) {
8997 goto _testEof535
8998 }
8999 stCase535:
9000 if (m.data)[(m.p)] == 32 {
9001 goto tr18
9002 }
9003 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
9004 goto st536
9005 }
9006 goto tr16
9007 st536:
9008 if (m.p)++; (m.p) == (m.pe) {
9009 goto _testEof536
9010 }
9011 stCase536:
9012 if (m.data)[(m.p)] == 32 {
9013 goto tr18
9014 }
9015 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
9016 goto st537
9017 }
9018 goto tr16
9019 st537:
9020 if (m.p)++; (m.p) == (m.pe) {
9021 goto _testEof537
9022 }
9023 stCase537:
9024 if (m.data)[(m.p)] == 32 {
9025 goto tr18
9026 }
9027 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
9028 goto st538
9029 }
9030 goto tr16
9031 st538:
9032 if (m.p)++; (m.p) == (m.pe) {
9033 goto _testEof538
9034 }
9035 stCase538:
9036 if (m.data)[(m.p)] == 32 {
9037 goto tr18
9038 }
9039 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
9040 goto st539
9041 }
9042 goto tr16
9043 st539:
9044 if (m.p)++; (m.p) == (m.pe) {
9045 goto _testEof539
9046 }
9047 stCase539:
9048 if (m.data)[(m.p)] == 32 {
9049 goto tr18
9050 }
9051 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
9052 goto st540
9053 }
9054 goto tr16
9055 st540:
9056 if (m.p)++; (m.p) == (m.pe) {
9057 goto _testEof540
9058 }
9059 stCase540:
9060 if (m.data)[(m.p)] == 32 {
9061 goto tr18
9062 }
9063 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
9064 goto st541
9065 }
9066 goto tr16
9067 st541:
9068 if (m.p)++; (m.p) == (m.pe) {
9069 goto _testEof541
9070 }
9071 stCase541:
9072 if (m.data)[(m.p)] == 32 {
9073 goto tr18
9074 }
9075 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
9076 goto st542
9077 }
9078 goto tr16
9079 st542:
9080 if (m.p)++; (m.p) == (m.pe) {
9081 goto _testEof542
9082 }
9083 stCase542:
9084 if (m.data)[(m.p)] == 32 {
9085 goto tr18
9086 }
9087 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
9088 goto st543
9089 }
9090 goto tr16
9091 st543:
9092 if (m.p)++; (m.p) == (m.pe) {
9093 goto _testEof543
9094 }
9095 stCase543:
9096 if (m.data)[(m.p)] == 32 {
9097 goto tr18
9098 }
9099 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
9100 goto st544
9101 }
9102 goto tr16
9103 st544:
9104 if (m.p)++; (m.p) == (m.pe) {
9105 goto _testEof544
9106 }
9107 stCase544:
9108 if (m.data)[(m.p)] == 32 {
9109 goto tr18
9110 }
9111 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
9112 goto st545
9113 }
9114 goto tr16
9115 st545:
9116 if (m.p)++; (m.p) == (m.pe) {
9117 goto _testEof545
9118 }
9119 stCase545:
9120 if (m.data)[(m.p)] == 32 {
9121 goto tr18
9122 }
9123 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
9124 goto st546
9125 }
9126 goto tr16
9127 st546:
9128 if (m.p)++; (m.p) == (m.pe) {
9129 goto _testEof546
9130 }
9131 stCase546:
9132 if (m.data)[(m.p)] == 32 {
9133 goto tr18
9134 }
9135 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
9136 goto st547
9137 }
9138 goto tr16
9139 st547:
9140 if (m.p)++; (m.p) == (m.pe) {
9141 goto _testEof547
9142 }
9143 stCase547:
9144 if (m.data)[(m.p)] == 32 {
9145 goto tr18
9146 }
9147 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
9148 goto st548
9149 }
9150 goto tr16
9151 st548:
9152 if (m.p)++; (m.p) == (m.pe) {
9153 goto _testEof548
9154 }
9155 stCase548:
9156 if (m.data)[(m.p)] == 32 {
9157 goto tr18
9158 }
9159 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
9160 goto st549
9161 }
9162 goto tr16
9163 st549:
9164 if (m.p)++; (m.p) == (m.pe) {
9165 goto _testEof549
9166 }
9167 stCase549:
9168 if (m.data)[(m.p)] == 32 {
9169 goto tr18
9170 }
9171 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
9172 goto st550
9173 }
9174 goto tr16
9175 st550:
9176 if (m.p)++; (m.p) == (m.pe) {
9177 goto _testEof550
9178 }
9179 stCase550:
9180 if (m.data)[(m.p)] == 32 {
9181 goto tr18
9182 }
9183 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
9184 goto st551
9185 }
9186 goto tr16
9187 st551:
9188 if (m.p)++; (m.p) == (m.pe) {
9189 goto _testEof551
9190 }
9191 stCase551:
9192 if (m.data)[(m.p)] == 32 {
9193 goto tr18
9194 }
9195 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
9196 goto st552
9197 }
9198 goto tr16
9199 st552:
9200 if (m.p)++; (m.p) == (m.pe) {
9201 goto _testEof552
9202 }
9203 stCase552:
9204 if (m.data)[(m.p)] == 32 {
9205 goto tr18
9206 }
9207 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
9208 goto st553
9209 }
9210 goto tr16
9211 st553:
9212 if (m.p)++; (m.p) == (m.pe) {
9213 goto _testEof553
9214 }
9215 stCase553:
9216 if (m.data)[(m.p)] == 32 {
9217 goto tr18
9218 }
9219 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
9220 goto st554
9221 }
9222 goto tr16
9223 st554:
9224 if (m.p)++; (m.p) == (m.pe) {
9225 goto _testEof554
9226 }
9227 stCase554:
9228 if (m.data)[(m.p)] == 32 {
9229 goto tr18
9230 }
9231 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
9232 goto st555
9233 }
9234 goto tr16
9235 st555:
9236 if (m.p)++; (m.p) == (m.pe) {
9237 goto _testEof555
9238 }
9239 stCase555:
9240 if (m.data)[(m.p)] == 32 {
9241 goto tr18
9242 }
9243 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
9244 goto st556
9245 }
9246 goto tr16
9247 st556:
9248 if (m.p)++; (m.p) == (m.pe) {
9249 goto _testEof556
9250 }
9251 stCase556:
9252 if (m.data)[(m.p)] == 32 {
9253 goto tr18
9254 }
9255 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
9256 goto st557
9257 }
9258 goto tr16
9259 st557:
9260 if (m.p)++; (m.p) == (m.pe) {
9261 goto _testEof557
9262 }
9263 stCase557:
9264 if (m.data)[(m.p)] == 32 {
9265 goto tr18
9266 }
9267 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
9268 goto st558
9269 }
9270 goto tr16
9271 st558:
9272 if (m.p)++; (m.p) == (m.pe) {
9273 goto _testEof558
9274 }
9275 stCase558:
9276 if (m.data)[(m.p)] == 32 {
9277 goto tr18
9278 }
9279 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
9280 goto st559
9281 }
9282 goto tr16
9283 st559:
9284 if (m.p)++; (m.p) == (m.pe) {
9285 goto _testEof559
9286 }
9287 stCase559:
9288 if (m.data)[(m.p)] == 32 {
9289 goto tr18
9290 }
9291 if 33 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 126 {
9292 goto st560
9293 }
9294 goto tr16
9295 st560:
9296 if (m.p)++; (m.p) == (m.pe) {
9297 goto _testEof560
9298 }
9299 stCase560:
9300 if (m.data)[(m.p)] == 32 {
9301 goto tr18
9302 }
9303 goto tr16
9304 tr14:
9305
9306 m.pb = m.p
9307
9308 goto st561
9309 st561:
9310 if (m.p)++; (m.p) == (m.pe) {
9311 goto _testEof561
9312 }
9313 stCase561:
9314 if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
9315 goto st562
9316 }
9317 goto tr12
9318 st562:
9319 if (m.p)++; (m.p) == (m.pe) {
9320 goto _testEof562
9321 }
9322 stCase562:
9323 if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
9324 goto st563
9325 }
9326 goto tr12
9327 st563:
9328 if (m.p)++; (m.p) == (m.pe) {
9329 goto _testEof563
9330 }
9331 stCase563:
9332 if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
9333 goto st564
9334 }
9335 goto tr12
9336 st564:
9337 if (m.p)++; (m.p) == (m.pe) {
9338 goto _testEof564
9339 }
9340 stCase564:
9341 if (m.data)[(m.p)] == 45 {
9342 goto st565
9343 }
9344 goto tr12
9345 st565:
9346 if (m.p)++; (m.p) == (m.pe) {
9347 goto _testEof565
9348 }
9349 stCase565:
9350 switch (m.data)[(m.p)] {
9351 case 48:
9352 goto st566
9353 case 49:
9354 goto st597
9355 }
9356 goto tr12
9357 st566:
9358 if (m.p)++; (m.p) == (m.pe) {
9359 goto _testEof566
9360 }
9361 stCase566:
9362 if 49 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
9363 goto st567
9364 }
9365 goto tr12
9366 st567:
9367 if (m.p)++; (m.p) == (m.pe) {
9368 goto _testEof567
9369 }
9370 stCase567:
9371 if (m.data)[(m.p)] == 45 {
9372 goto st568
9373 }
9374 goto tr12
9375 st568:
9376 if (m.p)++; (m.p) == (m.pe) {
9377 goto _testEof568
9378 }
9379 stCase568:
9380 switch (m.data)[(m.p)] {
9381 case 48:
9382 goto st569
9383 case 51:
9384 goto st596
9385 }
9386 if 49 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 50 {
9387 goto st595
9388 }
9389 goto tr12
9390 st569:
9391 if (m.p)++; (m.p) == (m.pe) {
9392 goto _testEof569
9393 }
9394 stCase569:
9395 if 49 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
9396 goto st570
9397 }
9398 goto tr12
9399 st570:
9400 if (m.p)++; (m.p) == (m.pe) {
9401 goto _testEof570
9402 }
9403 stCase570:
9404 if (m.data)[(m.p)] == 84 {
9405 goto st571
9406 }
9407 goto tr12
9408 st571:
9409 if (m.p)++; (m.p) == (m.pe) {
9410 goto _testEof571
9411 }
9412 stCase571:
9413 if (m.data)[(m.p)] == 50 {
9414 goto st594
9415 }
9416 if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 49 {
9417 goto st572
9418 }
9419 goto tr12
9420 st572:
9421 if (m.p)++; (m.p) == (m.pe) {
9422 goto _testEof572
9423 }
9424 stCase572:
9425 if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
9426 goto st573
9427 }
9428 goto tr12
9429 st573:
9430 if (m.p)++; (m.p) == (m.pe) {
9431 goto _testEof573
9432 }
9433 stCase573:
9434 if (m.data)[(m.p)] == 58 {
9435 goto st574
9436 }
9437 goto tr12
9438 st574:
9439 if (m.p)++; (m.p) == (m.pe) {
9440 goto _testEof574
9441 }
9442 stCase574:
9443 if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 53 {
9444 goto st575
9445 }
9446 goto tr12
9447 st575:
9448 if (m.p)++; (m.p) == (m.pe) {
9449 goto _testEof575
9450 }
9451 stCase575:
9452 if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
9453 goto st576
9454 }
9455 goto tr12
9456 st576:
9457 if (m.p)++; (m.p) == (m.pe) {
9458 goto _testEof576
9459 }
9460 stCase576:
9461 if (m.data)[(m.p)] == 58 {
9462 goto st577
9463 }
9464 goto tr12
9465 st577:
9466 if (m.p)++; (m.p) == (m.pe) {
9467 goto _testEof577
9468 }
9469 stCase577:
9470 if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 53 {
9471 goto st578
9472 }
9473 goto tr12
9474 st578:
9475 if (m.p)++; (m.p) == (m.pe) {
9476 goto _testEof578
9477 }
9478 stCase578:
9479 if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
9480 goto st579
9481 }
9482 goto tr12
9483 st579:
9484 if (m.p)++; (m.p) == (m.pe) {
9485 goto _testEof579
9486 }
9487 stCase579:
9488 switch (m.data)[(m.p)] {
9489 case 43:
9490 goto st580
9491 case 45:
9492 goto st580
9493 case 46:
9494 goto st587
9495 case 90:
9496 goto st585
9497 }
9498 goto tr12
9499 st580:
9500 if (m.p)++; (m.p) == (m.pe) {
9501 goto _testEof580
9502 }
9503 stCase580:
9504 if (m.data)[(m.p)] == 50 {
9505 goto st586
9506 }
9507 if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 49 {
9508 goto st581
9509 }
9510 goto tr12
9511 st581:
9512 if (m.p)++; (m.p) == (m.pe) {
9513 goto _testEof581
9514 }
9515 stCase581:
9516 if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
9517 goto st582
9518 }
9519 goto tr12
9520 st582:
9521 if (m.p)++; (m.p) == (m.pe) {
9522 goto _testEof582
9523 }
9524 stCase582:
9525 if (m.data)[(m.p)] == 58 {
9526 goto st583
9527 }
9528 goto tr12
9529 st583:
9530 if (m.p)++; (m.p) == (m.pe) {
9531 goto _testEof583
9532 }
9533 stCase583:
9534 if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 53 {
9535 goto st584
9536 }
9537 goto tr12
9538 st584:
9539 if (m.p)++; (m.p) == (m.pe) {
9540 goto _testEof584
9541 }
9542 stCase584:
9543 if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
9544 goto st585
9545 }
9546 goto tr12
9547 st585:
9548 if (m.p)++; (m.p) == (m.pe) {
9549 goto _testEof585
9550 }
9551 stCase585:
9552 if (m.data)[(m.p)] == 32 {
9553 goto tr620
9554 }
9555 goto tr619
9556 st586:
9557 if (m.p)++; (m.p) == (m.pe) {
9558 goto _testEof586
9559 }
9560 stCase586:
9561 if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 51 {
9562 goto st582
9563 }
9564 goto tr12
9565 st587:
9566 if (m.p)++; (m.p) == (m.pe) {
9567 goto _testEof587
9568 }
9569 stCase587:
9570 if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
9571 goto st588
9572 }
9573 goto tr12
9574 st588:
9575 if (m.p)++; (m.p) == (m.pe) {
9576 goto _testEof588
9577 }
9578 stCase588:
9579 switch (m.data)[(m.p)] {
9580 case 43:
9581 goto st580
9582 case 45:
9583 goto st580
9584 case 90:
9585 goto st585
9586 }
9587 if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
9588 goto st589
9589 }
9590 goto tr12
9591 st589:
9592 if (m.p)++; (m.p) == (m.pe) {
9593 goto _testEof589
9594 }
9595 stCase589:
9596 switch (m.data)[(m.p)] {
9597 case 43:
9598 goto st580
9599 case 45:
9600 goto st580
9601 case 90:
9602 goto st585
9603 }
9604 if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
9605 goto st590
9606 }
9607 goto tr12
9608 st590:
9609 if (m.p)++; (m.p) == (m.pe) {
9610 goto _testEof590
9611 }
9612 stCase590:
9613 switch (m.data)[(m.p)] {
9614 case 43:
9615 goto st580
9616 case 45:
9617 goto st580
9618 case 90:
9619 goto st585
9620 }
9621 if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
9622 goto st591
9623 }
9624 goto tr12
9625 st591:
9626 if (m.p)++; (m.p) == (m.pe) {
9627 goto _testEof591
9628 }
9629 stCase591:
9630 switch (m.data)[(m.p)] {
9631 case 43:
9632 goto st580
9633 case 45:
9634 goto st580
9635 case 90:
9636 goto st585
9637 }
9638 if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
9639 goto st592
9640 }
9641 goto tr12
9642 st592:
9643 if (m.p)++; (m.p) == (m.pe) {
9644 goto _testEof592
9645 }
9646 stCase592:
9647 switch (m.data)[(m.p)] {
9648 case 43:
9649 goto st580
9650 case 45:
9651 goto st580
9652 case 90:
9653 goto st585
9654 }
9655 if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
9656 goto st593
9657 }
9658 goto tr12
9659 st593:
9660 if (m.p)++; (m.p) == (m.pe) {
9661 goto _testEof593
9662 }
9663 stCase593:
9664 switch (m.data)[(m.p)] {
9665 case 43:
9666 goto st580
9667 case 45:
9668 goto st580
9669 case 90:
9670 goto st585
9671 }
9672 goto tr12
9673 st594:
9674 if (m.p)++; (m.p) == (m.pe) {
9675 goto _testEof594
9676 }
9677 stCase594:
9678 if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 51 {
9679 goto st573
9680 }
9681 goto tr12
9682 st595:
9683 if (m.p)++; (m.p) == (m.pe) {
9684 goto _testEof595
9685 }
9686 stCase595:
9687 if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
9688 goto st570
9689 }
9690 goto tr12
9691 st596:
9692 if (m.p)++; (m.p) == (m.pe) {
9693 goto _testEof596
9694 }
9695 stCase596:
9696 if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 49 {
9697 goto st570
9698 }
9699 goto tr12
9700 st597:
9701 if (m.p)++; (m.p) == (m.pe) {
9702 goto _testEof597
9703 }
9704 stCase597:
9705 if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 50 {
9706 goto st567
9707 }
9708 goto tr12
9709 st598:
9710 if (m.p)++; (m.p) == (m.pe) {
9711 goto _testEof598
9712 }
9713 stCase598:
9714
9715 output.version = uint16(unsafeUTF8DecimalCodePointsToInt(m.text()))
9716
9717 if (m.data)[(m.p)] == 32 {
9718 goto st6
9719 }
9720 if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
9721 goto st599
9722 }
9723 goto tr7
9724 st599:
9725 if (m.p)++; (m.p) == (m.pe) {
9726 goto _testEof599
9727 }
9728 stCase599:
9729
9730 output.version = uint16(unsafeUTF8DecimalCodePointsToInt(m.text()))
9731
9732 if (m.data)[(m.p)] == 32 {
9733 goto st6
9734 }
9735 goto tr7
9736 tr4:
9737
9738 m.pb = m.p
9739
9740 goto st600
9741 st600:
9742 if (m.p)++; (m.p) == (m.pe) {
9743 goto _testEof600
9744 }
9745 stCase600:
9746
9747 output.priority = uint8(unsafeUTF8DecimalCodePointsToInt(m.text()))
9748 output.prioritySet = true
9749
9750 switch (m.data)[(m.p)] {
9751 case 57:
9752 goto st602
9753 case 62:
9754 goto st4
9755 }
9756 if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 56 {
9757 goto st601
9758 }
9759 goto tr2
9760 tr5:
9761
9762 m.pb = m.p
9763
9764 goto st601
9765 st601:
9766 if (m.p)++; (m.p) == (m.pe) {
9767 goto _testEof601
9768 }
9769 stCase601:
9770
9771 output.priority = uint8(unsafeUTF8DecimalCodePointsToInt(m.text()))
9772 output.prioritySet = true
9773
9774 if (m.data)[(m.p)] == 62 {
9775 goto st4
9776 }
9777 if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 57 {
9778 goto st3
9779 }
9780 goto tr2
9781 st602:
9782 if (m.p)++; (m.p) == (m.pe) {
9783 goto _testEof602
9784 }
9785 stCase602:
9786
9787 output.priority = uint8(unsafeUTF8DecimalCodePointsToInt(m.text()))
9788 output.prioritySet = true
9789
9790 if (m.data)[(m.p)] == 62 {
9791 goto st4
9792 }
9793 if 48 <= (m.data)[(m.p)] && (m.data)[(m.p)] <= 49 {
9794 goto st3
9795 }
9796 goto tr2
9797 st607:
9798 if (m.p)++; (m.p) == (m.pe) {
9799 goto _testEof607
9800 }
9801 stCase607:
9802 switch (m.data)[(m.p)] {
9803 case 10:
9804 goto st0
9805 case 13:
9806 goto st0
9807 }
9808 goto st607
9809 stOut:
9810 _testEof2:
9811 m.cs = 2
9812 goto _testEof
9813 _testEof3:
9814 m.cs = 3
9815 goto _testEof
9816 _testEof4:
9817 m.cs = 4
9818 goto _testEof
9819 _testEof5:
9820 m.cs = 5
9821 goto _testEof
9822 _testEof6:
9823 m.cs = 6
9824 goto _testEof
9825 _testEof7:
9826 m.cs = 7
9827 goto _testEof
9828 _testEof8:
9829 m.cs = 8
9830 goto _testEof
9831 _testEof9:
9832 m.cs = 9
9833 goto _testEof
9834 _testEof10:
9835 m.cs = 10
9836 goto _testEof
9837 _testEof11:
9838 m.cs = 11
9839 goto _testEof
9840 _testEof12:
9841 m.cs = 12
9842 goto _testEof
9843 _testEof13:
9844 m.cs = 13
9845 goto _testEof
9846 _testEof14:
9847 m.cs = 14
9848 goto _testEof
9849 _testEof15:
9850 m.cs = 15
9851 goto _testEof
9852 _testEof16:
9853 m.cs = 16
9854 goto _testEof
9855 _testEof603:
9856 m.cs = 603
9857 goto _testEof
9858 _testEof604:
9859 m.cs = 604
9860 goto _testEof
9861 _testEof605:
9862 m.cs = 605
9863 goto _testEof
9864 _testEof17:
9865 m.cs = 17
9866 goto _testEof
9867 _testEof18:
9868 m.cs = 18
9869 goto _testEof
9870 _testEof19:
9871 m.cs = 19
9872 goto _testEof
9873 _testEof20:
9874 m.cs = 20
9875 goto _testEof
9876 _testEof21:
9877 m.cs = 21
9878 goto _testEof
9879 _testEof22:
9880 m.cs = 22
9881 goto _testEof
9882 _testEof23:
9883 m.cs = 23
9884 goto _testEof
9885 _testEof24:
9886 m.cs = 24
9887 goto _testEof
9888 _testEof25:
9889 m.cs = 25
9890 goto _testEof
9891 _testEof26:
9892 m.cs = 26
9893 goto _testEof
9894 _testEof27:
9895 m.cs = 27
9896 goto _testEof
9897 _testEof28:
9898 m.cs = 28
9899 goto _testEof
9900 _testEof29:
9901 m.cs = 29
9902 goto _testEof
9903 _testEof30:
9904 m.cs = 30
9905 goto _testEof
9906 _testEof31:
9907 m.cs = 31
9908 goto _testEof
9909 _testEof32:
9910 m.cs = 32
9911 goto _testEof
9912 _testEof33:
9913 m.cs = 33
9914 goto _testEof
9915 _testEof34:
9916 m.cs = 34
9917 goto _testEof
9918 _testEof35:
9919 m.cs = 35
9920 goto _testEof
9921 _testEof36:
9922 m.cs = 36
9923 goto _testEof
9924 _testEof37:
9925 m.cs = 37
9926 goto _testEof
9927 _testEof38:
9928 m.cs = 38
9929 goto _testEof
9930 _testEof39:
9931 m.cs = 39
9932 goto _testEof
9933 _testEof40:
9934 m.cs = 40
9935 goto _testEof
9936 _testEof41:
9937 m.cs = 41
9938 goto _testEof
9939 _testEof42:
9940 m.cs = 42
9941 goto _testEof
9942 _testEof43:
9943 m.cs = 43
9944 goto _testEof
9945 _testEof44:
9946 m.cs = 44
9947 goto _testEof
9948 _testEof45:
9949 m.cs = 45
9950 goto _testEof
9951 _testEof46:
9952 m.cs = 46
9953 goto _testEof
9954 _testEof47:
9955 m.cs = 47
9956 goto _testEof
9957 _testEof48:
9958 m.cs = 48
9959 goto _testEof
9960 _testEof49:
9961 m.cs = 49
9962 goto _testEof
9963 _testEof50:
9964 m.cs = 50
9965 goto _testEof
9966 _testEof51:
9967 m.cs = 51
9968 goto _testEof
9969 _testEof52:
9970 m.cs = 52
9971 goto _testEof
9972 _testEof53:
9973 m.cs = 53
9974 goto _testEof
9975 _testEof54:
9976 m.cs = 54
9977 goto _testEof
9978 _testEof55:
9979 m.cs = 55
9980 goto _testEof
9981 _testEof56:
9982 m.cs = 56
9983 goto _testEof
9984 _testEof57:
9985 m.cs = 57
9986 goto _testEof
9987 _testEof58:
9988 m.cs = 58
9989 goto _testEof
9990 _testEof59:
9991 m.cs = 59
9992 goto _testEof
9993 _testEof60:
9994 m.cs = 60
9995 goto _testEof
9996 _testEof61:
9997 m.cs = 61
9998 goto _testEof
9999 _testEof62:
10000 m.cs = 62
10001 goto _testEof
10002 _testEof606:
10003 m.cs = 606
10004 goto _testEof
10005 _testEof63:
10006 m.cs = 63
10007 goto _testEof
10008 _testEof64:
10009 m.cs = 64
10010 goto _testEof
10011 _testEof65:
10012 m.cs = 65
10013 goto _testEof
10014 _testEof66:
10015 m.cs = 66
10016 goto _testEof
10017 _testEof67:
10018 m.cs = 67
10019 goto _testEof
10020 _testEof68:
10021 m.cs = 68
10022 goto _testEof
10023 _testEof69:
10024 m.cs = 69
10025 goto _testEof
10026 _testEof70:
10027 m.cs = 70
10028 goto _testEof
10029 _testEof71:
10030 m.cs = 71
10031 goto _testEof
10032 _testEof72:
10033 m.cs = 72
10034 goto _testEof
10035 _testEof73:
10036 m.cs = 73
10037 goto _testEof
10038 _testEof74:
10039 m.cs = 74
10040 goto _testEof
10041 _testEof75:
10042 m.cs = 75
10043 goto _testEof
10044 _testEof76:
10045 m.cs = 76
10046 goto _testEof
10047 _testEof77:
10048 m.cs = 77
10049 goto _testEof
10050 _testEof78:
10051 m.cs = 78
10052 goto _testEof
10053 _testEof79:
10054 m.cs = 79
10055 goto _testEof
10056 _testEof80:
10057 m.cs = 80
10058 goto _testEof
10059 _testEof81:
10060 m.cs = 81
10061 goto _testEof
10062 _testEof82:
10063 m.cs = 82
10064 goto _testEof
10065 _testEof83:
10066 m.cs = 83
10067 goto _testEof
10068 _testEof84:
10069 m.cs = 84
10070 goto _testEof
10071 _testEof85:
10072 m.cs = 85
10073 goto _testEof
10074 _testEof86:
10075 m.cs = 86
10076 goto _testEof
10077 _testEof87:
10078 m.cs = 87
10079 goto _testEof
10080 _testEof88:
10081 m.cs = 88
10082 goto _testEof
10083 _testEof89:
10084 m.cs = 89
10085 goto _testEof
10086 _testEof90:
10087 m.cs = 90
10088 goto _testEof
10089 _testEof91:
10090 m.cs = 91
10091 goto _testEof
10092 _testEof92:
10093 m.cs = 92
10094 goto _testEof
10095 _testEof93:
10096 m.cs = 93
10097 goto _testEof
10098 _testEof94:
10099 m.cs = 94
10100 goto _testEof
10101 _testEof95:
10102 m.cs = 95
10103 goto _testEof
10104 _testEof96:
10105 m.cs = 96
10106 goto _testEof
10107 _testEof97:
10108 m.cs = 97
10109 goto _testEof
10110 _testEof98:
10111 m.cs = 98
10112 goto _testEof
10113 _testEof99:
10114 m.cs = 99
10115 goto _testEof
10116 _testEof100:
10117 m.cs = 100
10118 goto _testEof
10119 _testEof101:
10120 m.cs = 101
10121 goto _testEof
10122 _testEof102:
10123 m.cs = 102
10124 goto _testEof
10125 _testEof103:
10126 m.cs = 103
10127 goto _testEof
10128 _testEof104:
10129 m.cs = 104
10130 goto _testEof
10131 _testEof105:
10132 m.cs = 105
10133 goto _testEof
10134 _testEof106:
10135 m.cs = 106
10136 goto _testEof
10137 _testEof107:
10138 m.cs = 107
10139 goto _testEof
10140 _testEof108:
10141 m.cs = 108
10142 goto _testEof
10143 _testEof109:
10144 m.cs = 109
10145 goto _testEof
10146 _testEof110:
10147 m.cs = 110
10148 goto _testEof
10149 _testEof111:
10150 m.cs = 111
10151 goto _testEof
10152 _testEof112:
10153 m.cs = 112
10154 goto _testEof
10155 _testEof113:
10156 m.cs = 113
10157 goto _testEof
10158 _testEof114:
10159 m.cs = 114
10160 goto _testEof
10161 _testEof115:
10162 m.cs = 115
10163 goto _testEof
10164 _testEof116:
10165 m.cs = 116
10166 goto _testEof
10167 _testEof117:
10168 m.cs = 117
10169 goto _testEof
10170 _testEof118:
10171 m.cs = 118
10172 goto _testEof
10173 _testEof119:
10174 m.cs = 119
10175 goto _testEof
10176 _testEof120:
10177 m.cs = 120
10178 goto _testEof
10179 _testEof121:
10180 m.cs = 121
10181 goto _testEof
10182 _testEof122:
10183 m.cs = 122
10184 goto _testEof
10185 _testEof123:
10186 m.cs = 123
10187 goto _testEof
10188 _testEof124:
10189 m.cs = 124
10190 goto _testEof
10191 _testEof125:
10192 m.cs = 125
10193 goto _testEof
10194 _testEof126:
10195 m.cs = 126
10196 goto _testEof
10197 _testEof127:
10198 m.cs = 127
10199 goto _testEof
10200 _testEof128:
10201 m.cs = 128
10202 goto _testEof
10203 _testEof129:
10204 m.cs = 129
10205 goto _testEof
10206 _testEof130:
10207 m.cs = 130
10208 goto _testEof
10209 _testEof131:
10210 m.cs = 131
10211 goto _testEof
10212 _testEof132:
10213 m.cs = 132
10214 goto _testEof
10215 _testEof133:
10216 m.cs = 133
10217 goto _testEof
10218 _testEof134:
10219 m.cs = 134
10220 goto _testEof
10221 _testEof135:
10222 m.cs = 135
10223 goto _testEof
10224 _testEof136:
10225 m.cs = 136
10226 goto _testEof
10227 _testEof137:
10228 m.cs = 137
10229 goto _testEof
10230 _testEof138:
10231 m.cs = 138
10232 goto _testEof
10233 _testEof139:
10234 m.cs = 139
10235 goto _testEof
10236 _testEof140:
10237 m.cs = 140
10238 goto _testEof
10239 _testEof141:
10240 m.cs = 141
10241 goto _testEof
10242 _testEof142:
10243 m.cs = 142
10244 goto _testEof
10245 _testEof143:
10246 m.cs = 143
10247 goto _testEof
10248 _testEof144:
10249 m.cs = 144
10250 goto _testEof
10251 _testEof145:
10252 m.cs = 145
10253 goto _testEof
10254 _testEof146:
10255 m.cs = 146
10256 goto _testEof
10257 _testEof147:
10258 m.cs = 147
10259 goto _testEof
10260 _testEof148:
10261 m.cs = 148
10262 goto _testEof
10263 _testEof149:
10264 m.cs = 149
10265 goto _testEof
10266 _testEof150:
10267 m.cs = 150
10268 goto _testEof
10269 _testEof151:
10270 m.cs = 151
10271 goto _testEof
10272 _testEof152:
10273 m.cs = 152
10274 goto _testEof
10275 _testEof153:
10276 m.cs = 153
10277 goto _testEof
10278 _testEof154:
10279 m.cs = 154
10280 goto _testEof
10281 _testEof155:
10282 m.cs = 155
10283 goto _testEof
10284 _testEof156:
10285 m.cs = 156
10286 goto _testEof
10287 _testEof157:
10288 m.cs = 157
10289 goto _testEof
10290 _testEof158:
10291 m.cs = 158
10292 goto _testEof
10293 _testEof159:
10294 m.cs = 159
10295 goto _testEof
10296 _testEof160:
10297 m.cs = 160
10298 goto _testEof
10299 _testEof161:
10300 m.cs = 161
10301 goto _testEof
10302 _testEof162:
10303 m.cs = 162
10304 goto _testEof
10305 _testEof163:
10306 m.cs = 163
10307 goto _testEof
10308 _testEof164:
10309 m.cs = 164
10310 goto _testEof
10311 _testEof165:
10312 m.cs = 165
10313 goto _testEof
10314 _testEof166:
10315 m.cs = 166
10316 goto _testEof
10317 _testEof167:
10318 m.cs = 167
10319 goto _testEof
10320 _testEof168:
10321 m.cs = 168
10322 goto _testEof
10323 _testEof169:
10324 m.cs = 169
10325 goto _testEof
10326 _testEof170:
10327 m.cs = 170
10328 goto _testEof
10329 _testEof171:
10330 m.cs = 171
10331 goto _testEof
10332 _testEof172:
10333 m.cs = 172
10334 goto _testEof
10335 _testEof173:
10336 m.cs = 173
10337 goto _testEof
10338 _testEof174:
10339 m.cs = 174
10340 goto _testEof
10341 _testEof175:
10342 m.cs = 175
10343 goto _testEof
10344 _testEof176:
10345 m.cs = 176
10346 goto _testEof
10347 _testEof177:
10348 m.cs = 177
10349 goto _testEof
10350 _testEof178:
10351 m.cs = 178
10352 goto _testEof
10353 _testEof179:
10354 m.cs = 179
10355 goto _testEof
10356 _testEof180:
10357 m.cs = 180
10358 goto _testEof
10359 _testEof181:
10360 m.cs = 181
10361 goto _testEof
10362 _testEof182:
10363 m.cs = 182
10364 goto _testEof
10365 _testEof183:
10366 m.cs = 183
10367 goto _testEof
10368 _testEof184:
10369 m.cs = 184
10370 goto _testEof
10371 _testEof185:
10372 m.cs = 185
10373 goto _testEof
10374 _testEof186:
10375 m.cs = 186
10376 goto _testEof
10377 _testEof187:
10378 m.cs = 187
10379 goto _testEof
10380 _testEof188:
10381 m.cs = 188
10382 goto _testEof
10383 _testEof189:
10384 m.cs = 189
10385 goto _testEof
10386 _testEof190:
10387 m.cs = 190
10388 goto _testEof
10389 _testEof191:
10390 m.cs = 191
10391 goto _testEof
10392 _testEof192:
10393 m.cs = 192
10394 goto _testEof
10395 _testEof193:
10396 m.cs = 193
10397 goto _testEof
10398 _testEof194:
10399 m.cs = 194
10400 goto _testEof
10401 _testEof195:
10402 m.cs = 195
10403 goto _testEof
10404 _testEof196:
10405 m.cs = 196
10406 goto _testEof
10407 _testEof197:
10408 m.cs = 197
10409 goto _testEof
10410 _testEof198:
10411 m.cs = 198
10412 goto _testEof
10413 _testEof199:
10414 m.cs = 199
10415 goto _testEof
10416 _testEof200:
10417 m.cs = 200
10418 goto _testEof
10419 _testEof201:
10420 m.cs = 201
10421 goto _testEof
10422 _testEof202:
10423 m.cs = 202
10424 goto _testEof
10425 _testEof203:
10426 m.cs = 203
10427 goto _testEof
10428 _testEof204:
10429 m.cs = 204
10430 goto _testEof
10431 _testEof205:
10432 m.cs = 205
10433 goto _testEof
10434 _testEof206:
10435 m.cs = 206
10436 goto _testEof
10437 _testEof207:
10438 m.cs = 207
10439 goto _testEof
10440 _testEof208:
10441 m.cs = 208
10442 goto _testEof
10443 _testEof209:
10444 m.cs = 209
10445 goto _testEof
10446 _testEof210:
10447 m.cs = 210
10448 goto _testEof
10449 _testEof211:
10450 m.cs = 211
10451 goto _testEof
10452 _testEof212:
10453 m.cs = 212
10454 goto _testEof
10455 _testEof213:
10456 m.cs = 213
10457 goto _testEof
10458 _testEof214:
10459 m.cs = 214
10460 goto _testEof
10461 _testEof215:
10462 m.cs = 215
10463 goto _testEof
10464 _testEof216:
10465 m.cs = 216
10466 goto _testEof
10467 _testEof217:
10468 m.cs = 217
10469 goto _testEof
10470 _testEof218:
10471 m.cs = 218
10472 goto _testEof
10473 _testEof219:
10474 m.cs = 219
10475 goto _testEof
10476 _testEof220:
10477 m.cs = 220
10478 goto _testEof
10479 _testEof221:
10480 m.cs = 221
10481 goto _testEof
10482 _testEof222:
10483 m.cs = 222
10484 goto _testEof
10485 _testEof223:
10486 m.cs = 223
10487 goto _testEof
10488 _testEof224:
10489 m.cs = 224
10490 goto _testEof
10491 _testEof225:
10492 m.cs = 225
10493 goto _testEof
10494 _testEof226:
10495 m.cs = 226
10496 goto _testEof
10497 _testEof227:
10498 m.cs = 227
10499 goto _testEof
10500 _testEof228:
10501 m.cs = 228
10502 goto _testEof
10503 _testEof229:
10504 m.cs = 229
10505 goto _testEof
10506 _testEof230:
10507 m.cs = 230
10508 goto _testEof
10509 _testEof231:
10510 m.cs = 231
10511 goto _testEof
10512 _testEof232:
10513 m.cs = 232
10514 goto _testEof
10515 _testEof233:
10516 m.cs = 233
10517 goto _testEof
10518 _testEof234:
10519 m.cs = 234
10520 goto _testEof
10521 _testEof235:
10522 m.cs = 235
10523 goto _testEof
10524 _testEof236:
10525 m.cs = 236
10526 goto _testEof
10527 _testEof237:
10528 m.cs = 237
10529 goto _testEof
10530 _testEof238:
10531 m.cs = 238
10532 goto _testEof
10533 _testEof239:
10534 m.cs = 239
10535 goto _testEof
10536 _testEof240:
10537 m.cs = 240
10538 goto _testEof
10539 _testEof241:
10540 m.cs = 241
10541 goto _testEof
10542 _testEof242:
10543 m.cs = 242
10544 goto _testEof
10545 _testEof243:
10546 m.cs = 243
10547 goto _testEof
10548 _testEof244:
10549 m.cs = 244
10550 goto _testEof
10551 _testEof245:
10552 m.cs = 245
10553 goto _testEof
10554 _testEof246:
10555 m.cs = 246
10556 goto _testEof
10557 _testEof247:
10558 m.cs = 247
10559 goto _testEof
10560 _testEof248:
10561 m.cs = 248
10562 goto _testEof
10563 _testEof249:
10564 m.cs = 249
10565 goto _testEof
10566 _testEof250:
10567 m.cs = 250
10568 goto _testEof
10569 _testEof251:
10570 m.cs = 251
10571 goto _testEof
10572 _testEof252:
10573 m.cs = 252
10574 goto _testEof
10575 _testEof253:
10576 m.cs = 253
10577 goto _testEof
10578 _testEof254:
10579 m.cs = 254
10580 goto _testEof
10581 _testEof255:
10582 m.cs = 255
10583 goto _testEof
10584 _testEof256:
10585 m.cs = 256
10586 goto _testEof
10587 _testEof257:
10588 m.cs = 257
10589 goto _testEof
10590 _testEof258:
10591 m.cs = 258
10592 goto _testEof
10593 _testEof259:
10594 m.cs = 259
10595 goto _testEof
10596 _testEof260:
10597 m.cs = 260
10598 goto _testEof
10599 _testEof261:
10600 m.cs = 261
10601 goto _testEof
10602 _testEof262:
10603 m.cs = 262
10604 goto _testEof
10605 _testEof263:
10606 m.cs = 263
10607 goto _testEof
10608 _testEof264:
10609 m.cs = 264
10610 goto _testEof
10611 _testEof265:
10612 m.cs = 265
10613 goto _testEof
10614 _testEof266:
10615 m.cs = 266
10616 goto _testEof
10617 _testEof267:
10618 m.cs = 267
10619 goto _testEof
10620 _testEof268:
10621 m.cs = 268
10622 goto _testEof
10623 _testEof269:
10624 m.cs = 269
10625 goto _testEof
10626 _testEof270:
10627 m.cs = 270
10628 goto _testEof
10629 _testEof271:
10630 m.cs = 271
10631 goto _testEof
10632 _testEof272:
10633 m.cs = 272
10634 goto _testEof
10635 _testEof273:
10636 m.cs = 273
10637 goto _testEof
10638 _testEof274:
10639 m.cs = 274
10640 goto _testEof
10641 _testEof275:
10642 m.cs = 275
10643 goto _testEof
10644 _testEof276:
10645 m.cs = 276
10646 goto _testEof
10647 _testEof277:
10648 m.cs = 277
10649 goto _testEof
10650 _testEof278:
10651 m.cs = 278
10652 goto _testEof
10653 _testEof279:
10654 m.cs = 279
10655 goto _testEof
10656 _testEof280:
10657 m.cs = 280
10658 goto _testEof
10659 _testEof281:
10660 m.cs = 281
10661 goto _testEof
10662 _testEof282:
10663 m.cs = 282
10664 goto _testEof
10665 _testEof283:
10666 m.cs = 283
10667 goto _testEof
10668 _testEof284:
10669 m.cs = 284
10670 goto _testEof
10671 _testEof285:
10672 m.cs = 285
10673 goto _testEof
10674 _testEof286:
10675 m.cs = 286
10676 goto _testEof
10677 _testEof287:
10678 m.cs = 287
10679 goto _testEof
10680 _testEof288:
10681 m.cs = 288
10682 goto _testEof
10683 _testEof289:
10684 m.cs = 289
10685 goto _testEof
10686 _testEof290:
10687 m.cs = 290
10688 goto _testEof
10689 _testEof291:
10690 m.cs = 291
10691 goto _testEof
10692 _testEof292:
10693 m.cs = 292
10694 goto _testEof
10695 _testEof293:
10696 m.cs = 293
10697 goto _testEof
10698 _testEof294:
10699 m.cs = 294
10700 goto _testEof
10701 _testEof295:
10702 m.cs = 295
10703 goto _testEof
10704 _testEof296:
10705 m.cs = 296
10706 goto _testEof
10707 _testEof297:
10708 m.cs = 297
10709 goto _testEof
10710 _testEof298:
10711 m.cs = 298
10712 goto _testEof
10713 _testEof299:
10714 m.cs = 299
10715 goto _testEof
10716 _testEof300:
10717 m.cs = 300
10718 goto _testEof
10719 _testEof301:
10720 m.cs = 301
10721 goto _testEof
10722 _testEof302:
10723 m.cs = 302
10724 goto _testEof
10725 _testEof303:
10726 m.cs = 303
10727 goto _testEof
10728 _testEof304:
10729 m.cs = 304
10730 goto _testEof
10731 _testEof305:
10732 m.cs = 305
10733 goto _testEof
10734 _testEof306:
10735 m.cs = 306
10736 goto _testEof
10737 _testEof307:
10738 m.cs = 307
10739 goto _testEof
10740 _testEof308:
10741 m.cs = 308
10742 goto _testEof
10743 _testEof309:
10744 m.cs = 309
10745 goto _testEof
10746 _testEof310:
10747 m.cs = 310
10748 goto _testEof
10749 _testEof311:
10750 m.cs = 311
10751 goto _testEof
10752 _testEof312:
10753 m.cs = 312
10754 goto _testEof
10755 _testEof313:
10756 m.cs = 313
10757 goto _testEof
10758 _testEof314:
10759 m.cs = 314
10760 goto _testEof
10761 _testEof315:
10762 m.cs = 315
10763 goto _testEof
10764 _testEof316:
10765 m.cs = 316
10766 goto _testEof
10767 _testEof317:
10768 m.cs = 317
10769 goto _testEof
10770 _testEof318:
10771 m.cs = 318
10772 goto _testEof
10773 _testEof319:
10774 m.cs = 319
10775 goto _testEof
10776 _testEof320:
10777 m.cs = 320
10778 goto _testEof
10779 _testEof321:
10780 m.cs = 321
10781 goto _testEof
10782 _testEof322:
10783 m.cs = 322
10784 goto _testEof
10785 _testEof323:
10786 m.cs = 323
10787 goto _testEof
10788 _testEof324:
10789 m.cs = 324
10790 goto _testEof
10791 _testEof325:
10792 m.cs = 325
10793 goto _testEof
10794 _testEof326:
10795 m.cs = 326
10796 goto _testEof
10797 _testEof327:
10798 m.cs = 327
10799 goto _testEof
10800 _testEof328:
10801 m.cs = 328
10802 goto _testEof
10803 _testEof329:
10804 m.cs = 329
10805 goto _testEof
10806 _testEof330:
10807 m.cs = 330
10808 goto _testEof
10809 _testEof331:
10810 m.cs = 331
10811 goto _testEof
10812 _testEof332:
10813 m.cs = 332
10814 goto _testEof
10815 _testEof333:
10816 m.cs = 333
10817 goto _testEof
10818 _testEof334:
10819 m.cs = 334
10820 goto _testEof
10821 _testEof335:
10822 m.cs = 335
10823 goto _testEof
10824 _testEof336:
10825 m.cs = 336
10826 goto _testEof
10827 _testEof337:
10828 m.cs = 337
10829 goto _testEof
10830 _testEof338:
10831 m.cs = 338
10832 goto _testEof
10833 _testEof339:
10834 m.cs = 339
10835 goto _testEof
10836 _testEof340:
10837 m.cs = 340
10838 goto _testEof
10839 _testEof341:
10840 m.cs = 341
10841 goto _testEof
10842 _testEof342:
10843 m.cs = 342
10844 goto _testEof
10845 _testEof343:
10846 m.cs = 343
10847 goto _testEof
10848 _testEof344:
10849 m.cs = 344
10850 goto _testEof
10851 _testEof345:
10852 m.cs = 345
10853 goto _testEof
10854 _testEof346:
10855 m.cs = 346
10856 goto _testEof
10857 _testEof347:
10858 m.cs = 347
10859 goto _testEof
10860 _testEof348:
10861 m.cs = 348
10862 goto _testEof
10863 _testEof349:
10864 m.cs = 349
10865 goto _testEof
10866 _testEof350:
10867 m.cs = 350
10868 goto _testEof
10869 _testEof351:
10870 m.cs = 351
10871 goto _testEof
10872 _testEof352:
10873 m.cs = 352
10874 goto _testEof
10875 _testEof353:
10876 m.cs = 353
10877 goto _testEof
10878 _testEof354:
10879 m.cs = 354
10880 goto _testEof
10881 _testEof355:
10882 m.cs = 355
10883 goto _testEof
10884 _testEof356:
10885 m.cs = 356
10886 goto _testEof
10887 _testEof357:
10888 m.cs = 357
10889 goto _testEof
10890 _testEof358:
10891 m.cs = 358
10892 goto _testEof
10893 _testEof359:
10894 m.cs = 359
10895 goto _testEof
10896 _testEof360:
10897 m.cs = 360
10898 goto _testEof
10899 _testEof361:
10900 m.cs = 361
10901 goto _testEof
10902 _testEof362:
10903 m.cs = 362
10904 goto _testEof
10905 _testEof363:
10906 m.cs = 363
10907 goto _testEof
10908 _testEof364:
10909 m.cs = 364
10910 goto _testEof
10911 _testEof365:
10912 m.cs = 365
10913 goto _testEof
10914 _testEof366:
10915 m.cs = 366
10916 goto _testEof
10917 _testEof367:
10918 m.cs = 367
10919 goto _testEof
10920 _testEof368:
10921 m.cs = 368
10922 goto _testEof
10923 _testEof369:
10924 m.cs = 369
10925 goto _testEof
10926 _testEof370:
10927 m.cs = 370
10928 goto _testEof
10929 _testEof371:
10930 m.cs = 371
10931 goto _testEof
10932 _testEof372:
10933 m.cs = 372
10934 goto _testEof
10935 _testEof373:
10936 m.cs = 373
10937 goto _testEof
10938 _testEof374:
10939 m.cs = 374
10940 goto _testEof
10941 _testEof375:
10942 m.cs = 375
10943 goto _testEof
10944 _testEof376:
10945 m.cs = 376
10946 goto _testEof
10947 _testEof377:
10948 m.cs = 377
10949 goto _testEof
10950 _testEof378:
10951 m.cs = 378
10952 goto _testEof
10953 _testEof379:
10954 m.cs = 379
10955 goto _testEof
10956 _testEof380:
10957 m.cs = 380
10958 goto _testEof
10959 _testEof381:
10960 m.cs = 381
10961 goto _testEof
10962 _testEof382:
10963 m.cs = 382
10964 goto _testEof
10965 _testEof383:
10966 m.cs = 383
10967 goto _testEof
10968 _testEof384:
10969 m.cs = 384
10970 goto _testEof
10971 _testEof385:
10972 m.cs = 385
10973 goto _testEof
10974 _testEof386:
10975 m.cs = 386
10976 goto _testEof
10977 _testEof387:
10978 m.cs = 387
10979 goto _testEof
10980 _testEof388:
10981 m.cs = 388
10982 goto _testEof
10983 _testEof389:
10984 m.cs = 389
10985 goto _testEof
10986 _testEof390:
10987 m.cs = 390
10988 goto _testEof
10989 _testEof391:
10990 m.cs = 391
10991 goto _testEof
10992 _testEof392:
10993 m.cs = 392
10994 goto _testEof
10995 _testEof393:
10996 m.cs = 393
10997 goto _testEof
10998 _testEof394:
10999 m.cs = 394
11000 goto _testEof
11001 _testEof395:
11002 m.cs = 395
11003 goto _testEof
11004 _testEof396:
11005 m.cs = 396
11006 goto _testEof
11007 _testEof397:
11008 m.cs = 397
11009 goto _testEof
11010 _testEof398:
11011 m.cs = 398
11012 goto _testEof
11013 _testEof399:
11014 m.cs = 399
11015 goto _testEof
11016 _testEof400:
11017 m.cs = 400
11018 goto _testEof
11019 _testEof401:
11020 m.cs = 401
11021 goto _testEof
11022 _testEof402:
11023 m.cs = 402
11024 goto _testEof
11025 _testEof403:
11026 m.cs = 403
11027 goto _testEof
11028 _testEof404:
11029 m.cs = 404
11030 goto _testEof
11031 _testEof405:
11032 m.cs = 405
11033 goto _testEof
11034 _testEof406:
11035 m.cs = 406
11036 goto _testEof
11037 _testEof407:
11038 m.cs = 407
11039 goto _testEof
11040 _testEof408:
11041 m.cs = 408
11042 goto _testEof
11043 _testEof409:
11044 m.cs = 409
11045 goto _testEof
11046 _testEof410:
11047 m.cs = 410
11048 goto _testEof
11049 _testEof411:
11050 m.cs = 411
11051 goto _testEof
11052 _testEof412:
11053 m.cs = 412
11054 goto _testEof
11055 _testEof413:
11056 m.cs = 413
11057 goto _testEof
11058 _testEof414:
11059 m.cs = 414
11060 goto _testEof
11061 _testEof415:
11062 m.cs = 415
11063 goto _testEof
11064 _testEof416:
11065 m.cs = 416
11066 goto _testEof
11067 _testEof417:
11068 m.cs = 417
11069 goto _testEof
11070 _testEof418:
11071 m.cs = 418
11072 goto _testEof
11073 _testEof419:
11074 m.cs = 419
11075 goto _testEof
11076 _testEof420:
11077 m.cs = 420
11078 goto _testEof
11079 _testEof421:
11080 m.cs = 421
11081 goto _testEof
11082 _testEof422:
11083 m.cs = 422
11084 goto _testEof
11085 _testEof423:
11086 m.cs = 423
11087 goto _testEof
11088 _testEof424:
11089 m.cs = 424
11090 goto _testEof
11091 _testEof425:
11092 m.cs = 425
11093 goto _testEof
11094 _testEof426:
11095 m.cs = 426
11096 goto _testEof
11097 _testEof427:
11098 m.cs = 427
11099 goto _testEof
11100 _testEof428:
11101 m.cs = 428
11102 goto _testEof
11103 _testEof429:
11104 m.cs = 429
11105 goto _testEof
11106 _testEof430:
11107 m.cs = 430
11108 goto _testEof
11109 _testEof431:
11110 m.cs = 431
11111 goto _testEof
11112 _testEof432:
11113 m.cs = 432
11114 goto _testEof
11115 _testEof433:
11116 m.cs = 433
11117 goto _testEof
11118 _testEof434:
11119 m.cs = 434
11120 goto _testEof
11121 _testEof435:
11122 m.cs = 435
11123 goto _testEof
11124 _testEof436:
11125 m.cs = 436
11126 goto _testEof
11127 _testEof437:
11128 m.cs = 437
11129 goto _testEof
11130 _testEof438:
11131 m.cs = 438
11132 goto _testEof
11133 _testEof439:
11134 m.cs = 439
11135 goto _testEof
11136 _testEof440:
11137 m.cs = 440
11138 goto _testEof
11139 _testEof441:
11140 m.cs = 441
11141 goto _testEof
11142 _testEof442:
11143 m.cs = 442
11144 goto _testEof
11145 _testEof443:
11146 m.cs = 443
11147 goto _testEof
11148 _testEof444:
11149 m.cs = 444
11150 goto _testEof
11151 _testEof445:
11152 m.cs = 445
11153 goto _testEof
11154 _testEof446:
11155 m.cs = 446
11156 goto _testEof
11157 _testEof447:
11158 m.cs = 447
11159 goto _testEof
11160 _testEof448:
11161 m.cs = 448
11162 goto _testEof
11163 _testEof449:
11164 m.cs = 449
11165 goto _testEof
11166 _testEof450:
11167 m.cs = 450
11168 goto _testEof
11169 _testEof451:
11170 m.cs = 451
11171 goto _testEof
11172 _testEof452:
11173 m.cs = 452
11174 goto _testEof
11175 _testEof453:
11176 m.cs = 453
11177 goto _testEof
11178 _testEof454:
11179 m.cs = 454
11180 goto _testEof
11181 _testEof455:
11182 m.cs = 455
11183 goto _testEof
11184 _testEof456:
11185 m.cs = 456
11186 goto _testEof
11187 _testEof457:
11188 m.cs = 457
11189 goto _testEof
11190 _testEof458:
11191 m.cs = 458
11192 goto _testEof
11193 _testEof459:
11194 m.cs = 459
11195 goto _testEof
11196 _testEof460:
11197 m.cs = 460
11198 goto _testEof
11199 _testEof461:
11200 m.cs = 461
11201 goto _testEof
11202 _testEof462:
11203 m.cs = 462
11204 goto _testEof
11205 _testEof463:
11206 m.cs = 463
11207 goto _testEof
11208 _testEof464:
11209 m.cs = 464
11210 goto _testEof
11211 _testEof465:
11212 m.cs = 465
11213 goto _testEof
11214 _testEof466:
11215 m.cs = 466
11216 goto _testEof
11217 _testEof467:
11218 m.cs = 467
11219 goto _testEof
11220 _testEof468:
11221 m.cs = 468
11222 goto _testEof
11223 _testEof469:
11224 m.cs = 469
11225 goto _testEof
11226 _testEof470:
11227 m.cs = 470
11228 goto _testEof
11229 _testEof471:
11230 m.cs = 471
11231 goto _testEof
11232 _testEof472:
11233 m.cs = 472
11234 goto _testEof
11235 _testEof473:
11236 m.cs = 473
11237 goto _testEof
11238 _testEof474:
11239 m.cs = 474
11240 goto _testEof
11241 _testEof475:
11242 m.cs = 475
11243 goto _testEof
11244 _testEof476:
11245 m.cs = 476
11246 goto _testEof
11247 _testEof477:
11248 m.cs = 477
11249 goto _testEof
11250 _testEof478:
11251 m.cs = 478
11252 goto _testEof
11253 _testEof479:
11254 m.cs = 479
11255 goto _testEof
11256 _testEof480:
11257 m.cs = 480
11258 goto _testEof
11259 _testEof481:
11260 m.cs = 481
11261 goto _testEof
11262 _testEof482:
11263 m.cs = 482
11264 goto _testEof
11265 _testEof483:
11266 m.cs = 483
11267 goto _testEof
11268 _testEof484:
11269 m.cs = 484
11270 goto _testEof
11271 _testEof485:
11272 m.cs = 485
11273 goto _testEof
11274 _testEof486:
11275 m.cs = 486
11276 goto _testEof
11277 _testEof487:
11278 m.cs = 487
11279 goto _testEof
11280 _testEof488:
11281 m.cs = 488
11282 goto _testEof
11283 _testEof489:
11284 m.cs = 489
11285 goto _testEof
11286 _testEof490:
11287 m.cs = 490
11288 goto _testEof
11289 _testEof491:
11290 m.cs = 491
11291 goto _testEof
11292 _testEof492:
11293 m.cs = 492
11294 goto _testEof
11295 _testEof493:
11296 m.cs = 493
11297 goto _testEof
11298 _testEof494:
11299 m.cs = 494
11300 goto _testEof
11301 _testEof495:
11302 m.cs = 495
11303 goto _testEof
11304 _testEof496:
11305 m.cs = 496
11306 goto _testEof
11307 _testEof497:
11308 m.cs = 497
11309 goto _testEof
11310 _testEof498:
11311 m.cs = 498
11312 goto _testEof
11313 _testEof499:
11314 m.cs = 499
11315 goto _testEof
11316 _testEof500:
11317 m.cs = 500
11318 goto _testEof
11319 _testEof501:
11320 m.cs = 501
11321 goto _testEof
11322 _testEof502:
11323 m.cs = 502
11324 goto _testEof
11325 _testEof503:
11326 m.cs = 503
11327 goto _testEof
11328 _testEof504:
11329 m.cs = 504
11330 goto _testEof
11331 _testEof505:
11332 m.cs = 505
11333 goto _testEof
11334 _testEof506:
11335 m.cs = 506
11336 goto _testEof
11337 _testEof507:
11338 m.cs = 507
11339 goto _testEof
11340 _testEof508:
11341 m.cs = 508
11342 goto _testEof
11343 _testEof509:
11344 m.cs = 509
11345 goto _testEof
11346 _testEof510:
11347 m.cs = 510
11348 goto _testEof
11349 _testEof511:
11350 m.cs = 511
11351 goto _testEof
11352 _testEof512:
11353 m.cs = 512
11354 goto _testEof
11355 _testEof513:
11356 m.cs = 513
11357 goto _testEof
11358 _testEof514:
11359 m.cs = 514
11360 goto _testEof
11361 _testEof515:
11362 m.cs = 515
11363 goto _testEof
11364 _testEof516:
11365 m.cs = 516
11366 goto _testEof
11367 _testEof517:
11368 m.cs = 517
11369 goto _testEof
11370 _testEof518:
11371 m.cs = 518
11372 goto _testEof
11373 _testEof519:
11374 m.cs = 519
11375 goto _testEof
11376 _testEof520:
11377 m.cs = 520
11378 goto _testEof
11379 _testEof521:
11380 m.cs = 521
11381 goto _testEof
11382 _testEof522:
11383 m.cs = 522
11384 goto _testEof
11385 _testEof523:
11386 m.cs = 523
11387 goto _testEof
11388 _testEof524:
11389 m.cs = 524
11390 goto _testEof
11391 _testEof525:
11392 m.cs = 525
11393 goto _testEof
11394 _testEof526:
11395 m.cs = 526
11396 goto _testEof
11397 _testEof527:
11398 m.cs = 527
11399 goto _testEof
11400 _testEof528:
11401 m.cs = 528
11402 goto _testEof
11403 _testEof529:
11404 m.cs = 529
11405 goto _testEof
11406 _testEof530:
11407 m.cs = 530
11408 goto _testEof
11409 _testEof531:
11410 m.cs = 531
11411 goto _testEof
11412 _testEof532:
11413 m.cs = 532
11414 goto _testEof
11415 _testEof533:
11416 m.cs = 533
11417 goto _testEof
11418 _testEof534:
11419 m.cs = 534
11420 goto _testEof
11421 _testEof535:
11422 m.cs = 535
11423 goto _testEof
11424 _testEof536:
11425 m.cs = 536
11426 goto _testEof
11427 _testEof537:
11428 m.cs = 537
11429 goto _testEof
11430 _testEof538:
11431 m.cs = 538
11432 goto _testEof
11433 _testEof539:
11434 m.cs = 539
11435 goto _testEof
11436 _testEof540:
11437 m.cs = 540
11438 goto _testEof
11439 _testEof541:
11440 m.cs = 541
11441 goto _testEof
11442 _testEof542:
11443 m.cs = 542
11444 goto _testEof
11445 _testEof543:
11446 m.cs = 543
11447 goto _testEof
11448 _testEof544:
11449 m.cs = 544
11450 goto _testEof
11451 _testEof545:
11452 m.cs = 545
11453 goto _testEof
11454 _testEof546:
11455 m.cs = 546
11456 goto _testEof
11457 _testEof547:
11458 m.cs = 547
11459 goto _testEof
11460 _testEof548:
11461 m.cs = 548
11462 goto _testEof
11463 _testEof549:
11464 m.cs = 549
11465 goto _testEof
11466 _testEof550:
11467 m.cs = 550
11468 goto _testEof
11469 _testEof551:
11470 m.cs = 551
11471 goto _testEof
11472 _testEof552:
11473 m.cs = 552
11474 goto _testEof
11475 _testEof553:
11476 m.cs = 553
11477 goto _testEof
11478 _testEof554:
11479 m.cs = 554
11480 goto _testEof
11481 _testEof555:
11482 m.cs = 555
11483 goto _testEof
11484 _testEof556:
11485 m.cs = 556
11486 goto _testEof
11487 _testEof557:
11488 m.cs = 557
11489 goto _testEof
11490 _testEof558:
11491 m.cs = 558
11492 goto _testEof
11493 _testEof559:
11494 m.cs = 559
11495 goto _testEof
11496 _testEof560:
11497 m.cs = 560
11498 goto _testEof
11499 _testEof561:
11500 m.cs = 561
11501 goto _testEof
11502 _testEof562:
11503 m.cs = 562
11504 goto _testEof
11505 _testEof563:
11506 m.cs = 563
11507 goto _testEof
11508 _testEof564:
11509 m.cs = 564
11510 goto _testEof
11511 _testEof565:
11512 m.cs = 565
11513 goto _testEof
11514 _testEof566:
11515 m.cs = 566
11516 goto _testEof
11517 _testEof567:
11518 m.cs = 567
11519 goto _testEof
11520 _testEof568:
11521 m.cs = 568
11522 goto _testEof
11523 _testEof569:
11524 m.cs = 569
11525 goto _testEof
11526 _testEof570:
11527 m.cs = 570
11528 goto _testEof
11529 _testEof571:
11530 m.cs = 571
11531 goto _testEof
11532 _testEof572:
11533 m.cs = 572
11534 goto _testEof
11535 _testEof573:
11536 m.cs = 573
11537 goto _testEof
11538 _testEof574:
11539 m.cs = 574
11540 goto _testEof
11541 _testEof575:
11542 m.cs = 575
11543 goto _testEof
11544 _testEof576:
11545 m.cs = 576
11546 goto _testEof
11547 _testEof577:
11548 m.cs = 577
11549 goto _testEof
11550 _testEof578:
11551 m.cs = 578
11552 goto _testEof
11553 _testEof579:
11554 m.cs = 579
11555 goto _testEof
11556 _testEof580:
11557 m.cs = 580
11558 goto _testEof
11559 _testEof581:
11560 m.cs = 581
11561 goto _testEof
11562 _testEof582:
11563 m.cs = 582
11564 goto _testEof
11565 _testEof583:
11566 m.cs = 583
11567 goto _testEof
11568 _testEof584:
11569 m.cs = 584
11570 goto _testEof
11571 _testEof585:
11572 m.cs = 585
11573 goto _testEof
11574 _testEof586:
11575 m.cs = 586
11576 goto _testEof
11577 _testEof587:
11578 m.cs = 587
11579 goto _testEof
11580 _testEof588:
11581 m.cs = 588
11582 goto _testEof
11583 _testEof589:
11584 m.cs = 589
11585 goto _testEof
11586 _testEof590:
11587 m.cs = 590
11588 goto _testEof
11589 _testEof591:
11590 m.cs = 591
11591 goto _testEof
11592 _testEof592:
11593 m.cs = 592
11594 goto _testEof
11595 _testEof593:
11596 m.cs = 593
11597 goto _testEof
11598 _testEof594:
11599 m.cs = 594
11600 goto _testEof
11601 _testEof595:
11602 m.cs = 595
11603 goto _testEof
11604 _testEof596:
11605 m.cs = 596
11606 goto _testEof
11607 _testEof597:
11608 m.cs = 597
11609 goto _testEof
11610 _testEof598:
11611 m.cs = 598
11612 goto _testEof
11613 _testEof599:
11614 m.cs = 599
11615 goto _testEof
11616 _testEof600:
11617 m.cs = 600
11618 goto _testEof
11619 _testEof601:
11620 m.cs = 601
11621 goto _testEof
11622 _testEof602:
11623 m.cs = 602
11624 goto _testEof
11625 _testEof607:
11626 m.cs = 607
11627 goto _testEof
11628
11629 _testEof:
11630 {
11631 }
11632 if (m.p) == (m.eof) {
11633 switch m.cs {
11634 case 605:
11635
11636 output.message = string(m.text())
11637
11638 case 1:
11639
11640 m.err = fmt.Errorf(errPri, m.p)
11641 (m.p)--
11642
11643 {
11644 goto st607
11645 }
11646
11647 case 15, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132:
11648
11649 m.err = fmt.Errorf(errMsgid, m.p)
11650 (m.p)--
11651
11652 {
11653 goto st607
11654 }
11655
11656 case 16:
11657
11658 m.err = fmt.Errorf(errStructuredData, m.p)
11659 (m.p)--
11660
11661 {
11662 goto st607
11663 }
11664
11665 case 7:
11666
11667 m.err = fmt.Errorf(errParse, m.p)
11668 (m.p)--
11669
11670 {
11671 goto st607
11672 }
11673
11674 case 5:
11675
11676 output.version = uint16(unsafeUTF8DecimalCodePointsToInt(m.text()))
11677
11678 m.err = fmt.Errorf(errParse, m.p)
11679 (m.p)--
11680
11681 {
11682 goto st607
11683 }
11684
11685 case 585:
11686
11687 if t, e := time.Parse(RFC3339MICRO, string(m.text())); e != nil {
11688 m.err = fmt.Errorf("%s [col %d]", e, m.p)
11689 (m.p)--
11690
11691 {
11692 goto st607
11693 }
11694 } else {
11695 output.timestamp = t
11696 output.timestampSet = true
11697 }
11698
11699 m.err = fmt.Errorf(errParse, m.p)
11700 (m.p)--
11701
11702 {
11703 goto st607
11704 }
11705
11706 case 4:
11707
11708 m.err = fmt.Errorf(errVersion, m.p)
11709 (m.p)--
11710
11711 {
11712 goto st607
11713 }
11714
11715 m.err = fmt.Errorf(errParse, m.p)
11716 (m.p)--
11717
11718 {
11719 goto st607
11720 }
11721
11722 case 6, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597:
11723
11724 m.err = fmt.Errorf(errTimestamp, m.p)
11725 (m.p)--
11726
11727 {
11728 goto st607
11729 }
11730
11731 m.err = fmt.Errorf(errParse, m.p)
11732 (m.p)--
11733
11734 {
11735 goto st607
11736 }
11737
11738 case 8, 9, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560:
11739
11740 m.err = fmt.Errorf(errHostname, m.p)
11741 (m.p)--
11742
11743 {
11744 goto st607
11745 }
11746
11747 m.err = fmt.Errorf(errParse, m.p)
11748 (m.p)--
11749
11750 {
11751 goto st607
11752 }
11753
11754 case 10, 11, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306:
11755
11756 m.err = fmt.Errorf(errAppname, m.p)
11757 (m.p)--
11758
11759 {
11760 goto st607
11761 }
11762
11763 m.err = fmt.Errorf(errParse, m.p)
11764 (m.p)--
11765
11766 {
11767 goto st607
11768 }
11769
11770 case 12, 13, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259:
11771
11772 m.err = fmt.Errorf(errProcid, m.p)
11773 (m.p)--
11774
11775 {
11776 goto st607
11777 }
11778
11779 m.err = fmt.Errorf(errParse, m.p)
11780 (m.p)--
11781
11782 {
11783 goto st607
11784 }
11785
11786 case 14:
11787
11788 m.err = fmt.Errorf(errMsgid, m.p)
11789 (m.p)--
11790
11791 {
11792 goto st607
11793 }
11794
11795 m.err = fmt.Errorf(errParse, m.p)
11796 (m.p)--
11797
11798 {
11799 goto st607
11800 }
11801
11802 case 24:
11803
11804 delete(output.structuredData, m.currentelem)
11805 if len(output.structuredData) == 0 {
11806 output.hasElements = false
11807 }
11808 m.err = fmt.Errorf(errSdID, m.p)
11809 (m.p)--
11810
11811 {
11812 goto st607
11813 }
11814
11815 m.err = fmt.Errorf(errStructuredData, m.p)
11816 (m.p)--
11817
11818 {
11819 goto st607
11820 }
11821
11822 case 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 62, 64, 65, 66, 67, 68, 69, 70:
11823
11824 if len(output.structuredData) > 0 {
11825 delete(output.structuredData[m.currentelem], m.currentparam)
11826 }
11827 m.err = fmt.Errorf(errSdParam, m.p)
11828 (m.p)--
11829
11830 {
11831 goto st607
11832 }
11833
11834 m.err = fmt.Errorf(errStructuredData, m.p)
11835 (m.p)--
11836
11837 {
11838 goto st607
11839 }
11840
11841 case 17, 18, 19, 20, 21, 22, 23:
11842
11843 // If error encountered within the message rule ...
11844 if m.msgat > 0 {
11845 // Save the text until valid (m.p is where the parser has stopped)
11846 output.message = string(m.data[m.msgat:m.p])
11847 }
11848
11849 m.err = fmt.Errorf(errMsg, m.p)
11850 (m.p)--
11851
11852 {
11853 goto st607
11854 }
11855
11856 m.err = fmt.Errorf(errParse, m.p)
11857 (m.p)--
11858
11859 {
11860 goto st607
11861 }
11862
11863 case 604:
11864
11865 m.pb = m.p
11866
11867 m.msgat = m.p
11868
11869 output.message = string(m.text())
11870
11871 case 25, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101:
11872
11873 if _, ok := output.structuredData[string(m.text())]; ok {
11874 // As per RFC5424 section 6.3.2 SD-ID MUST NOT exist more than once in a message
11875 m.err = fmt.Errorf(errSdIDDuplicated, m.p)
11876 (m.p)--
11877
11878 {
11879 goto st607
11880 }
11881 } else {
11882 id := string(m.text())
11883 output.structuredData[id] = map[string]string{}
11884 output.hasElements = true
11885 m.currentelem = id
11886 }
11887
11888 delete(output.structuredData, m.currentelem)
11889 if len(output.structuredData) == 0 {
11890 output.hasElements = false
11891 }
11892 m.err = fmt.Errorf(errSdID, m.p)
11893 (m.p)--
11894
11895 {
11896 goto st607
11897 }
11898
11899 m.err = fmt.Errorf(errStructuredData, m.p)
11900 (m.p)--
11901
11902 {
11903 goto st607
11904 }
11905
11906 case 2, 3, 600, 601, 602:
11907
11908 m.err = fmt.Errorf(errPrival, m.p)
11909 (m.p)--
11910
11911 {
11912 goto st607
11913 }
11914
11915 m.err = fmt.Errorf(errPri, m.p)
11916 (m.p)--
11917
11918 {
11919 goto st607
11920 }
11921
11922 m.err = fmt.Errorf(errParse, m.p)
11923 (m.p)--
11924
11925 {
11926 goto st607
11927 }
11928
11929 case 598, 599:
11930
11931 m.err = fmt.Errorf(errVersion, m.p)
11932 (m.p)--
11933
11934 {
11935 goto st607
11936 }
11937
11938 output.version = uint16(unsafeUTF8DecimalCodePointsToInt(m.text()))
11939
11940 m.err = fmt.Errorf(errParse, m.p)
11941 (m.p)--
11942
11943 {
11944 goto st607
11945 }
11946
11947 case 60, 61, 63:
11948
11949 m.err = fmt.Errorf(errEscape, m.p)
11950 (m.p)--
11951
11952 {
11953 goto st607
11954 }
11955
11956 if len(output.structuredData) > 0 {
11957 delete(output.structuredData[m.currentelem], m.currentparam)
11958 }
11959 m.err = fmt.Errorf(errSdParam, m.p)
11960 (m.p)--
11961
11962 {
11963 goto st607
11964 }
11965
11966 m.err = fmt.Errorf(errStructuredData, m.p)
11967 (m.p)--
11968
11969 {
11970 goto st607
11971 }
11972
11973 }
11974 }
11975
11976 _out:
11977 {
11978 }
11979 }
11980
11981 if m.cs < firstFinal || m.cs == enFail {
11982 if m.bestEffort && output.valid() {
11983 // An error occurred but partial parsing is on and partial message is minimally valid
11984 return output.export(), m.err
11985 }
11986 return nil, m.err
11987 }
11988
11989 return output.export(), nil
11990 }
0 package rfc5424
1
2 import (
3 "time"
4 "fmt"
5 "github.com/influxdata/go-syslog"
6 )
7
8 var (
9 errPrival = "expecting a priority value in the range 1-191 or equal to 0 [col %d]"
10 errPri = "expecting a priority value within angle brackets [col %d]"
11 errVersion = "expecting a version value in the range 1-999 [col %d]"
12 errTimestamp = "expecting a RFC3339MICRO timestamp or a nil value [col %d]"
13 errHostname = "expecting an hostname (from 1 to max 255 US-ASCII characters) or a nil value [col %d]"
14 errAppname = "expecting an app-name (from 1 to max 48 US-ASCII characters) or a nil value [col %d]"
15 errProcid = "expecting a procid (from 1 to max 128 US-ASCII characters) or a nil value [col %d]"
16 errMsgid = "expecting a msgid (from 1 to max 32 US-ASCII characters) or a nil value [col %d]"
17 errStructuredData = "expecting a structured data section containing one or more elements (`[id( key=\"value\")*]+`) or a nil value [col %d]"
18 errSdID = "expecting a structured data element id (from 1 to max 32 US-ASCII characters; except `=`, ` `, `]`, and `\"` [col %d]"
19 errSdIDDuplicated = "duplicate structured data element id [col %d]"
20 errSdParam = "expecting a structured data parameter (`key=\"value\"`, both part from 1 to max 32 US-ASCII characters; key cannot contain `=`, ` `, `]`, and `\"`, while value cannot contain `]`, backslash, and `\"` unless escaped) [col %d]"
21 errMsg = "expecting a free-form optional message in UTF-8 (starting with or without BOM) [col %d]"
22 errEscape = "expecting chars `]`, `\"`, and `\\` to be escaped within param value [col %d]"
23 errParse = "parsing error [col %d]"
24 )
25
26 // RFC3339MICRO represents the timestamp format that RFC5424 mandates.
27 const RFC3339MICRO = "2006-01-02T15:04:05.999999Z07:00"
28
29 %%{
30 machine rfc5424;
31
32 include rfc5424 "rfc5424.rl";
33
34 # unsigned alphabet
35 alphtype uint8;
36
37 action mark {
38 m.pb = m.p
39 }
40
41 action markmsg {
42 m.msgat = m.p
43 }
44
45 action set_prival {
46 output.priority = uint8(unsafeUTF8DecimalCodePointsToInt(m.text()))
47 output.prioritySet = true
48 }
49
50 action set_version {
51 output.version = uint16(unsafeUTF8DecimalCodePointsToInt(m.text()))
52 }
53
54 action set_timestamp {
55 if t, e := time.Parse(RFC3339MICRO, string(m.text())); e != nil {
56 m.err = fmt.Errorf("%s [col %d]", e, m.p)
57 fhold;
58 fgoto fail;
59 } else {
60 output.timestamp = t
61 output.timestampSet = true
62 }
63 }
64
65 action set_hostname {
66 output.hostname = string(m.text())
67 }
68
69 action set_appname {
70 output.appname = string(m.text())
71 }
72
73 action set_procid {
74 output.procID = string(m.text())
75 }
76
77 action set_msgid {
78 output.msgID = string(m.text())
79 }
80
81 action ini_elements {
82 output.structuredData = map[string]map[string]string{}
83 }
84
85 action set_id {
86 if _, ok := output.structuredData[string(m.text())]; ok {
87 // As per RFC5424 section 6.3.2 SD-ID MUST NOT exist more than once in a message
88 m.err = fmt.Errorf(errSdIDDuplicated, m.p)
89 fhold;
90 fgoto fail;
91 } else {
92 id := string(m.text())
93 output.structuredData[id] = map[string]string{}
94 output.hasElements = true
95 m.currentelem = id
96 }
97 }
98
99 action ini_sdparam {
100 m.backslashat = []int{}
101 }
102
103 action add_slash {
104 m.backslashat = append(m.backslashat, m.p)
105 }
106
107 action set_paramname {
108 m.currentparam = string(m.text())
109 }
110
111 action set_paramvalue {
112 if output.hasElements {
113 // (fixme) > what if SD-PARAM-NAME already exist for the current element (ie., current SD-ID)?
114
115 // Store text
116 text := m.text()
117
118 // Strip backslashes only when there are ...
119 if len(m.backslashat) > 0 {
120 text = rmchars(text, m.backslashat, m.pb)
121 }
122 output.structuredData[m.currentelem][m.currentparam] = string(text)
123 }
124 }
125
126 action set_msg {
127 output.message = string(m.text())
128 }
129
130 action err_prival {
131 m.err = fmt.Errorf(errPrival, m.p)
132 fhold;
133 fgoto fail;
134 }
135
136 action err_pri {
137 m.err = fmt.Errorf(errPri, m.p)
138 fhold;
139 fgoto fail;
140 }
141
142 action err_version {
143 m.err = fmt.Errorf(errVersion, m.p)
144 fhold;
145 fgoto fail;
146 }
147
148 action err_timestamp {
149 m.err = fmt.Errorf(errTimestamp, m.p)
150 fhold;
151 fgoto fail;
152 }
153
154 action err_hostname {
155 m.err = fmt.Errorf(errHostname, m.p)
156 fhold;
157 fgoto fail;
158 }
159
160 action err_appname {
161 m.err = fmt.Errorf(errAppname, m.p)
162 fhold;
163 fgoto fail;
164 }
165
166 action err_procid {
167 m.err = fmt.Errorf(errProcid, m.p)
168 fhold;
169 fgoto fail;
170 }
171
172 action err_msgid {
173 m.err = fmt.Errorf(errMsgid, m.p)
174 fhold;
175 fgoto fail;
176 }
177
178 action err_structureddata {
179 m.err = fmt.Errorf(errStructuredData, m.p)
180 fhold;
181 fgoto fail;
182 }
183
184 action err_sdid {
185 delete(output.structuredData, m.currentelem)
186 if len(output.structuredData) == 0 {
187 output.hasElements = false
188 }
189 m.err = fmt.Errorf(errSdID, m.p)
190 fhold;
191 fgoto fail;
192 }
193
194 action err_sdparam {
195 if len(output.structuredData) > 0 {
196 delete(output.structuredData[m.currentelem], m.currentparam)
197 }
198 m.err = fmt.Errorf(errSdParam, m.p)
199 fhold;
200 fgoto fail;
201 }
202
203 action err_msg {
204 // If error encountered within the message rule ...
205 if m.msgat > 0 {
206 // Save the text until valid (m.p is where the parser has stopped)
207 output.message = string(m.data[m.msgat:m.p])
208 }
209
210 m.err = fmt.Errorf(errMsg, m.p)
211 fhold;
212 fgoto fail;
213 }
214
215 action err_escape {
216 m.err = fmt.Errorf(errEscape, m.p)
217 fhold;
218 fgoto fail;
219 }
220
221 action err_parse {
222 m.err = fmt.Errorf(errParse, m.p)
223 fhold;
224 fgoto fail;
225 }
226
227 nilvalue = '-';
228
229 nonzerodigit = '1'..'9';
230
231 # 1..191
232 privalrange = (('1' ('9' ('0'..'1'){,1} | '0'..'8' ('0'..'9'){,1}){,1}) | ('2'..'9' ('0'..'9'){,1}));
233
234 # 1..191 or 0
235 prival = (privalrange | '0') >mark %from(set_prival) $err(err_prival);
236
237 pri = ('<' prival '>') @err(err_pri);
238
239 version = (nonzerodigit digit{0,2} <err(err_version)) >mark %from(set_version) %eof(set_version) @err(err_version);
240
241 timestamp = (nilvalue | (fulldate >mark 'T' fulltime %set_timestamp %err(set_timestamp))) @err(err_timestamp);
242
243 hostname = hostnamerange >mark %set_hostname $err(err_hostname);
244
245 appname = appnamerange >mark %set_appname $err(err_appname);
246
247 procid = procidrange >mark %set_procid $err(err_procid);
248
249 msgid = msgidrange >mark %set_msgid $err(err_msgid);
250
251 header = (pri version sp timestamp sp hostname sp appname sp procid sp msgid) <>err(err_parse);
252
253 # \", \], \\
254 escapes = (bs >add_slash toescape) $err(err_escape);
255
256 # As per section 6.3.3 param value MUST NOT contain '"', '\' and ']', unless they are escaped.
257 # A backslash '\' followed by none of the this three characters is an invalid escape sequence.
258 # In this case, treat it as a regular backslash and the following character as a regular character (not altering the invalid sequence).
259 paramvalue = (utf8charwodelims* escapes*)+ >mark %set_paramvalue;
260
261 paramname = sdname >mark %set_paramname;
262
263 sdparam = (paramname '=' dq paramvalue dq) >ini_sdparam $err(err_sdparam);
264
265 # (note) > finegrained semantics of section 6.3.2 not represented here since not so useful for parsing goal
266 sdid = sdname >mark %set_id %err(set_id) $err(err_sdid);
267
268 sdelement = ('[' sdid (sp sdparam)* ']');
269
270 structureddata = nilvalue | sdelement+ >ini_elements $err(err_structureddata);
271
272 msg = (bom? utf8octets) >mark >markmsg %set_msg $err(err_msg);
273
274 fail := (any - [\n\r])* @err{ fgoto main; };
275
276 main := header sp structureddata (sp msg)? $err(err_parse);
277
278 }%%
279
280 %% write data noerror noprefix;
281
282 type machine struct {
283 data []byte
284 cs int
285 p, pe, eof int
286 pb int
287 err error
288 currentelem string
289 currentparam string
290 msgat int
291 backslashat []int
292 bestEffort bool
293 }
294
295 // NewMachine creates a new FSM able to parse RFC5424 syslog messages.
296 func NewMachine(options ...syslog.MachineOption) syslog.Machine {
297 m := &machine{}
298
299 for _, opt := range options {
300 opt(m)
301 }
302
303 %% access m.;
304 %% variable p m.p;
305 %% variable pe m.pe;
306 %% variable eof m.eof;
307 %% variable data m.data;
308
309 return m
310 }
311
312 func (m *machine) WithBestEffort() {
313 m.bestEffort = true
314 }
315
316 // HasBestEffort tells whether the receiving machine has best effort mode on or off.
317 func (m *machine) HasBestEffort() bool {
318 return m.bestEffort
319 }
320
321 // Err returns the error that occurred on the last call to Parse.
322 //
323 // If the result is nil, then the line was parsed successfully.
324 func (m *machine) Err() error {
325 return m.err
326 }
327
328 func (m *machine) text() []byte {
329 return m.data[m.pb:m.p]
330 }
331
332 // Parse parses the input byte array as a RFC5424 syslog message.
333 //
334 // When a valid RFC5424 syslog message is given it outputs its structured representation.
335 // If the parsing detects an error it returns it with the position where the error occurred.
336 //
337 // It can also partially parse input messages returning a partially valid structured representation
338 // and the error that stopped the parsing.
339 func (m *machine) Parse(input []byte) (syslog.Message, error) {
340 m.data = input
341 m.p = 0
342 m.pb = 0
343 m.msgat = 0
344 m.backslashat = []int{}
345 m.pe = len(input)
346 m.eof = len(input)
347 m.err = nil
348 output := &syslogMessage{}
349
350 %% write init;
351 %% write exec;
352
353 if m.cs < first_final || m.cs == en_fail {
354 if m.bestEffort && output.valid() {
355 // An error occurred but partial parsing is on and partial message is minimally valid
356 return output.export(), m.err
357 }
358 return nil, m.err
359 }
360
361 return output.export(), nil
362 }
0 package rfc5424
1
2 import (
3 "fmt"
4 "math/rand"
5 "strings"
6 "testing"
7 "time"
8
9 "github.com/influxdata/go-syslog"
10 "github.com/stretchr/testify/assert"
11 )
12
13 func random(min, max int) int {
14 return rand.Intn(max-min) + min
15 }
16
17 func timeParse(layout, value string) *time.Time {
18 t, _ := time.Parse(layout, value)
19 return &t
20 }
21
22 func getStringAddress(str string) *string {
23 return &str
24 }
25
26 func getUint8Address(x uint8) *uint8 {
27 return &x
28 }
29
30 func rxpad(str string, lim int) string {
31 str = str + strings.Repeat(" ", lim)
32 return str[:lim]
33 }
34
35 type testCase struct {
36 input []byte
37 valid bool
38 value syslog.Message
39 errorString string
40 partialValue syslog.Message
41 }
42
43 var testCases = []testCase{
44 // Invalid, empty input
45 {
46 []byte(""),
47 false,
48 nil,
49 "expecting a priority value within angle brackets [col 0]",
50 nil,
51 },
52 // Invalid, multiple syslog messages on multiple lines
53 {
54 []byte(`<1>1 - - - - - -
55 <2>1 - - - - - -`),
56 false,
57 nil,
58 "parsing error [col 16]",
59 &SyslogMessage{
60 priority: getUint8Address(1),
61 severity: getUint8Address(1),
62 facility: getUint8Address(0),
63 version: 1,
64 },
65 },
66 // Invalid, new lines allowed only within message part
67 {
68 []byte("<1>1 - \nhostname - - - -"),
69 false,
70 nil,
71 "expecting an hostname (from 1 to max 255 US-ASCII characters) or a nil value [col 7]",
72 &SyslogMessage{
73 facility: getUint8Address(0),
74 severity: getUint8Address(1),
75 priority: getUint8Address(1),
76 version: 1,
77 },
78 },
79 {
80 []byte("<1>1 - host\x0Aname - - - -"),
81 false,
82 nil,
83 "expecting an hostname (from 1 to max 255 US-ASCII characters) or a nil value [col 11]",
84 &SyslogMessage{
85 facility: getUint8Address(0),
86 severity: getUint8Address(1),
87 priority: getUint8Address(1),
88 version: 1,
89 },
90 },
91 {
92 []byte("<1>1 - - \nan - - -"),
93 false,
94 nil,
95 "expecting an app-name (from 1 to max 48 US-ASCII characters) or a nil value [col 9]",
96 &SyslogMessage{
97 facility: getUint8Address(0),
98 severity: getUint8Address(1),
99 priority: getUint8Address(1),
100 version: 1,
101 },
102 },
103 {
104 []byte("<1>1 - - a\x0An - - -"),
105 false,
106 nil,
107 "expecting an app-name (from 1 to max 48 US-ASCII characters) or a nil value [col 10]",
108 &SyslogMessage{
109 facility: getUint8Address(0),
110 severity: getUint8Address(1),
111 priority: getUint8Address(1),
112 version: 1,
113 },
114 },
115 {
116 []byte("<1>1 - - - \npid - -"),
117 false,
118 nil,
119 "expecting a procid (from 1 to max 128 US-ASCII characters) or a nil value [col 11]",
120 &SyslogMessage{
121 facility: getUint8Address(0),
122 severity: getUint8Address(1),
123 priority: getUint8Address(1),
124 version: 1,
125 },
126 },
127 {
128 []byte("<1>1 - - - p\x0Aid - -"),
129 false,
130 nil,
131 "expecting a procid (from 1 to max 128 US-ASCII characters) or a nil value [col 12]",
132 &SyslogMessage{
133 facility: getUint8Address(0),
134 severity: getUint8Address(1),
135 priority: getUint8Address(1),
136 version: 1,
137 },
138 },
139 {
140 []byte("<1>1 - - - - \nmid -"),
141 false,
142 nil,
143 "expecting a msgid (from 1 to max 32 US-ASCII characters) or a nil value [col 13]",
144 &SyslogMessage{
145 facility: getUint8Address(0),
146 severity: getUint8Address(1),
147 priority: getUint8Address(1),
148 version: 1,
149 },
150 },
151 {
152 []byte("<1>1 - - - - m\x0Aid -"),
153 false,
154 nil,
155 "expecting a msgid (from 1 to max 32 US-ASCII characters) or a nil value [col 14]",
156 &SyslogMessage{
157 facility: getUint8Address(0),
158 severity: getUint8Address(1),
159 priority: getUint8Address(1),
160 version: 1,
161 },
162 },
163 // Invalid, malformed pri
164 {
165 []byte("(190>122 2018-11-22"),
166 false,
167 nil,
168 "expecting a priority value within angle brackets [col 0]",
169 nil,
170 },
171 // Malformed pri outputs wrong error
172 {
173 []byte("<87]123 -"),
174 false,
175 nil,
176 // (note) > machine can only understand that the ] char is not in the reachable states (just as any number would be in this situation), so it gives the error about the priority val submachine, not about the pri submachine (ie., <prival>)
177 "expecting a priority value in the range 1-191 or equal to 0 [col 3]",
178 nil, // nil since cannot reach version
179 },
180 // Invalid, missing pri
181 {
182 []byte("122 - - - - - -"),
183 false,
184 nil,
185 "expecting a priority value within angle brackets [col 0]",
186 nil,
187 },
188 // Invalid, missing prival
189 {
190 []byte("<>122 2018-11-22"),
191 false,
192 nil,
193 "expecting a priority value in the range 1-191 or equal to 0 [col 1]",
194 nil,
195 },
196 // Invalid, prival with too much digits
197 {
198 []byte("<19000021>122 2018-11-22"),
199 false,
200 nil,
201 "expecting a priority value in the range 1-191 or equal to 0 [col 4]",
202 nil, // no valid partial message since was not able to reach and extract version (which is mandatory for a valid message)
203 },
204 // Invalid, prival too high
205 {
206 []byte("<192>122 2018-11-22"),
207 false,
208 nil,
209 "expecting a priority value in the range 1-191 or equal to 0 [col 3]",
210 nil,
211 },
212 // Invalid, 0 starting prival
213 {
214 []byte("<002>122 2018-11-22"),
215 false,
216 nil,
217 "expecting a priority value in the range 1-191 or equal to 0 [col 2]",
218 nil,
219 },
220 // Invalid, non numeric prival
221 {
222 []byte("<aaa>122 2018-11-22"),
223 false,
224 nil,
225 "expecting a priority value in the range 1-191 or equal to 0 [col 1]",
226 nil,
227 },
228 // Invalid, missing version
229 {
230 []byte("<100> 2018-11-22"),
231 false,
232 nil,
233 "expecting a version value in the range 1-999 [col 5]",
234 nil,
235 },
236 // Invalid, 0 version
237 {
238 []byte("<103>0 2018-11-22"),
239 false,
240 nil,
241 "expecting a version value in the range 1-999 [col 5]",
242 nil,
243 },
244 // Invalid, out of range version
245 {
246 []byte("<101>1000 2018-11-22"),
247 false,
248 nil,
249 "expecting a version value in the range 1-999 [col 8]",
250 &SyslogMessage{
251 priority: getUint8Address(101),
252 facility: getUint8Address(12),
253 severity: getUint8Address(5),
254 version: 100,
255 },
256 },
257 // Invalid, truncated after version whitespace
258 {
259 []byte("<1>2 "),
260 false,
261 nil,
262 "expecting a RFC3339MICRO timestamp or a nil value [col 5]",
263 &SyslogMessage{
264 priority: getUint8Address(1),
265 facility: getUint8Address(0),
266 severity: getUint8Address(1),
267 version: 2,
268 },
269 },
270 // Invalid, truncated after version
271 {
272 []byte("<1>1"),
273 false,
274 nil,
275 "parsing error [col 4]",
276 &SyslogMessage{
277 priority: getUint8Address(1),
278 facility: getUint8Address(0),
279 severity: getUint8Address(1),
280 version: 1,
281 },
282 },
283 // fixme(leodido) > when space after multi-digit version is missing, the version error handler launches (should not)
284 // {
285 // []byte("<3>22"),
286 // false,
287 // nil,
288 // "parsing error [col 6]",
289 // (&SyslogMessage{}).SetPriority(3).SetVersion(22),
290 // },
291 // Invalid, non numeric (also partially) version
292 {
293 []byte("<1>3a"),
294 false,
295 nil,
296 "parsing error [col 4]",
297 &SyslogMessage{
298 priority: getUint8Address(1),
299 facility: getUint8Address(0),
300 severity: getUint8Address(1),
301 version: 3,
302 },
303 },
304 {
305 []byte("<1>4a "),
306 false,
307 nil,
308 "parsing error [col 4]",
309 &SyslogMessage{
310 priority: getUint8Address(1),
311 facility: getUint8Address(0),
312 severity: getUint8Address(1),
313 version: 4,
314 },
315 },
316 {
317 []byte("<102>abc 2018-11-22"),
318 false,
319 nil,
320 "expecting a version value in the range 1-999 [col 5]",
321 nil,
322 },
323 // Invalid, letter rather than timestamp
324 {
325 []byte("<1>5 A"),
326 false,
327 nil,
328 "expecting a RFC3339MICRO timestamp or a nil value [col 5]",
329 &SyslogMessage{
330 priority: getUint8Address(1),
331 facility: getUint8Address(0),
332 severity: getUint8Address(1),
333 version: 5,
334 },
335 },
336 // Invalid, timestamp T and Z must be uppercase
337 {
338 []byte(`<29>1 2006-01-02t15:04:05Z - - - - -`),
339 false,
340 nil,
341 "expecting a RFC3339MICRO timestamp or a nil value [col 16]",
342 &SyslogMessage{
343 facility: getUint8Address(3),
344 severity: getUint8Address(5),
345 priority: getUint8Address(29),
346 version: 1,
347 },
348 },
349 {
350 []byte(`<29>2 2006-01-02T15:04:05z - - - - -`),
351 false,
352 nil,
353 "expecting a RFC3339MICRO timestamp or a nil value [col 25]",
354 &SyslogMessage{
355 facility: getUint8Address(3),
356 severity: getUint8Address(5),
357 priority: getUint8Address(29),
358 version: 2,
359 },
360 },
361 // Invalid, wrong year
362 {
363 []byte("<101>123 2"),
364 false,
365 nil,
366 "expecting a RFC3339MICRO timestamp or a nil value [col 10]",
367 &SyslogMessage{
368 priority: getUint8Address(101),
369 facility: getUint8Address(12),
370 severity: getUint8Address(5),
371 version: 123,
372 },
373 },
374 {
375 []byte("<101>124 20"),
376 false,
377 nil,
378 "expecting a RFC3339MICRO timestamp or a nil value [col 11]",
379 &SyslogMessage{
380 priority: getUint8Address(101),
381 facility: getUint8Address(12),
382 severity: getUint8Address(5),
383 version: 124,
384 },
385 },
386 {
387 []byte("<101>125 201"),
388 false,
389 nil,
390 "expecting a RFC3339MICRO timestamp or a nil value [col 12]",
391 &SyslogMessage{
392 priority: getUint8Address(101),
393 facility: getUint8Address(12),
394 severity: getUint8Address(5),
395 version: 125,
396 },
397 },
398 {
399 []byte("<101>125 2013"),
400 false,
401 nil,
402 "expecting a RFC3339MICRO timestamp or a nil value [col 13]",
403 &SyslogMessage{
404 priority: getUint8Address(101),
405 facility: getUint8Address(12),
406 severity: getUint8Address(5),
407 version: 125,
408 },
409 },
410 {
411 []byte("<101>126 2013-"),
412 false,
413 nil,
414 "expecting a RFC3339MICRO timestamp or a nil value [col 14]",
415 &SyslogMessage{
416 priority: getUint8Address(101),
417 facility: getUint8Address(12),
418 severity: getUint8Address(5),
419 version: 126,
420 },
421 },
422 {
423 []byte("<101>122 201-11-22"),
424 false,
425 nil,
426 "expecting a RFC3339MICRO timestamp or a nil value [col 12]",
427 &SyslogMessage{
428 priority: getUint8Address(101),
429 facility: getUint8Address(12),
430 severity: getUint8Address(5),
431 version: 122,
432 },
433 },
434 {
435 []byte("<101>189 0-11-22"),
436 false,
437 nil,
438 "expecting a RFC3339MICRO timestamp or a nil value [col 10]",
439 &SyslogMessage{
440 priority: getUint8Address(101),
441 facility: getUint8Address(12),
442 severity: getUint8Address(5),
443 version: 189,
444 },
445 },
446 // Invalid, wrong month
447 {
448 []byte("<101>122 2018-112-22"),
449 false,
450 nil,
451 "expecting a RFC3339MICRO timestamp or a nil value [col 16]",
452 &SyslogMessage{
453 priority: getUint8Address(101),
454 facility: getUint8Address(12),
455 severity: getUint8Address(5),
456 version: 122,
457 },
458 },
459 // Invalid, wrong day
460 {
461 []byte("<101>123 2018-02-32"),
462 false,
463 nil,
464 "expecting a RFC3339MICRO timestamp or a nil value [col 18]",
465 &SyslogMessage{
466 priority: getUint8Address(101),
467 facility: getUint8Address(12),
468 severity: getUint8Address(5),
469 version: 123,
470 },
471 },
472 // Invalid, wrong hour
473 {
474 []byte("<101>124 2018-02-01:25:15Z"),
475 false,
476 nil,
477 "expecting a RFC3339MICRO timestamp or a nil value [col 19]",
478 &SyslogMessage{
479 priority: getUint8Address(101),
480 facility: getUint8Address(12),
481 severity: getUint8Address(5),
482 version: 124,
483 },
484 },
485 // Invalid, wrong minutes
486 {
487 []byte("<101>125 2003-09-29T22:99:16Z"),
488 false,
489 nil,
490 "expecting a RFC3339MICRO timestamp or a nil value [col 23]",
491 &SyslogMessage{
492 priority: getUint8Address(101),
493 facility: getUint8Address(12),
494 severity: getUint8Address(5),
495 version: 125,
496 },
497 },
498 // Invalid, wrong seconds
499 {
500 []byte("<101>126 2003-09-29T22:09:99Z"),
501 false,
502 nil,
503 "expecting a RFC3339MICRO timestamp or a nil value [col 26]",
504 &SyslogMessage{
505 priority: getUint8Address(101),
506 facility: getUint8Address(12),
507 severity: getUint8Address(5),
508 version: 126,
509 },
510 },
511 // Invalid, wrong sec fraction
512 {
513 []byte("<101>127 2003-09-29T22:09:01.000000000009Z"),
514 false,
515 nil,
516 "expecting a RFC3339MICRO timestamp or a nil value [col 35]",
517 &SyslogMessage{
518 priority: getUint8Address(101),
519 facility: getUint8Address(12),
520 severity: getUint8Address(5),
521 version: 127,
522 },
523 },
524 {
525 []byte("<101>128 2003-09-29T22:09:01.Z"),
526 false,
527 nil,
528 "expecting a RFC3339MICRO timestamp or a nil value [col 29]",
529 &SyslogMessage{
530 priority: getUint8Address(101),
531 facility: getUint8Address(12),
532 severity: getUint8Address(5),
533 version: 128,
534 },
535 },
536 {
537 []byte("<101>28 2003-09-29T22:09:01."),
538 false,
539 nil,
540 "expecting a RFC3339MICRO timestamp or a nil value [col 28]",
541 &SyslogMessage{
542 priority: getUint8Address(101),
543 facility: getUint8Address(12),
544 severity: getUint8Address(5),
545 version: 28,
546 },
547 },
548 // Invalid, wrong time offset
549 {
550 []byte("<101>129 2003-09-29T22:09:01A"),
551 false,
552 nil,
553 "expecting a RFC3339MICRO timestamp or a nil value [col 28]",
554 &SyslogMessage{
555 priority: getUint8Address(101),
556 facility: getUint8Address(12),
557 severity: getUint8Address(5),
558 version: 129,
559 },
560 },
561 {
562 []byte("<101>130 2003-08-24T05:14:15.000003-24:00"),
563 false,
564 nil,
565 "expecting a RFC3339MICRO timestamp or a nil value [col 37]",
566 &SyslogMessage{
567 priority: getUint8Address(101),
568 facility: getUint8Address(12),
569 severity: getUint8Address(5),
570 version: 130,
571 },
572 },
573 {
574 []byte("<101>131 2003-08-24T05:14:15.000003-60:00"),
575 false,
576 nil,
577 "expecting a RFC3339MICRO timestamp or a nil value [col 36]",
578 &SyslogMessage{
579 priority: getUint8Address(101),
580 facility: getUint8Address(12),
581 severity: getUint8Address(5),
582 version: 131,
583 },
584 },
585 {
586 []byte("<101>132 2003-08-24T05:14:15.000003-07:61"),
587 false,
588 nil,
589 "expecting a RFC3339MICRO timestamp or a nil value [col 39]",
590 &SyslogMessage{
591 priority: getUint8Address(101),
592 facility: getUint8Address(12),
593 severity: getUint8Address(5),
594 version: 132,
595 },
596 },
597 {
598 []byte(`<29>1 2006-01-02T15:04:05Z+07:00 - - - - -`),
599 false,
600 nil,
601 "parsing error [col 26]", // after the Z (valid and complete timestamp) it searches for a whitespace
602 &SyslogMessage{
603 facility: getUint8Address(3),
604 severity: getUint8Address(5),
605 priority: getUint8Address(29),
606 version: 1,
607 timestamp: timeParse(RFC3339MICRO, "2006-01-02T15:04:05Z"),
608 },
609 },
610 // Invalid, non existing dates
611 {
612 []byte("<101>11 2003-09-31T22:14:15.003Z"),
613 false,
614 nil,
615 "parsing time \"2003-09-31T22:14:15.003Z\": day out of range [col 32]",
616 &SyslogMessage{
617 priority: getUint8Address(101),
618 facility: getUint8Address(12),
619 severity: getUint8Address(5),
620 version: 11,
621 },
622 },
623 {
624 []byte("<101>12 2003-09-31T22:14:16Z"),
625 false,
626 nil,
627 "parsing time \"2003-09-31T22:14:16Z\": day out of range [col 28]",
628 &SyslogMessage{
629 priority: getUint8Address(101),
630 facility: getUint8Address(12),
631 severity: getUint8Address(5),
632 version: 12,
633 },
634 },
635 {
636 []byte("<101>12 2018-02-29T22:14:16+01:00"),
637 false,
638 nil,
639 "parsing time \"2018-02-29T22:14:16+01:00\": day out of range [col 33]",
640 &SyslogMessage{
641 priority: getUint8Address(101),
642 facility: getUint8Address(12),
643 severity: getUint8Address(5),
644 version: 12,
645 },
646 },
647 // Invalid, hostname too long
648 {
649 []byte("<1>1 - abcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcX - - - -"),
650 false,
651 nil,
652 "expecting an hostname (from 1 to max 255 US-ASCII characters) or a nil value [col 262]",
653 &SyslogMessage{
654 priority: getUint8Address(1),
655 facility: getUint8Address(0),
656 severity: getUint8Address(1),
657 version: 1,
658 },
659 },
660 {
661 []byte("<1>1 2003-09-29T22:14:16Z abcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcX - - - -"),
662 false,
663 nil,
664 "expecting an hostname (from 1 to max 255 US-ASCII characters) or a nil value [col 281]",
665 &SyslogMessage{
666 priority: getUint8Address(1),
667 facility: getUint8Address(0),
668 severity: getUint8Address(1),
669 version: 1,
670 timestamp: timeParse(RFC3339MICRO, "2003-09-29T22:14:16Z"),
671 },
672 },
673 // Invalid, appname too long
674 {
675 []byte("<1>1 - - abcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefX - - -"),
676 false,
677 nil,
678 "expecting an app-name (from 1 to max 48 US-ASCII characters) or a nil value [col 57]",
679 &SyslogMessage{
680 priority: getUint8Address(1),
681 facility: getUint8Address(0),
682 severity: getUint8Address(1),
683 version: 1,
684 },
685 },
686 {
687 []byte("<1>1 2003-09-29T22:14:16Z - abcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefX - - -"),
688 false,
689 nil,
690 "expecting an app-name (from 1 to max 48 US-ASCII characters) or a nil value [col 76]",
691 &SyslogMessage{
692 priority: getUint8Address(1),
693 facility: getUint8Address(0),
694 severity: getUint8Address(1),
695 version: 1,
696 timestamp: timeParse(RFC3339MICRO, "2003-09-29T22:14:16Z"),
697 },
698 },
699 {
700 []byte("<1>1 - host abcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefX - - -"),
701 false,
702 nil,
703 "expecting an app-name (from 1 to max 48 US-ASCII characters) or a nil value [col 60]",
704 &SyslogMessage{
705 priority: getUint8Address(1),
706 facility: getUint8Address(0),
707 severity: getUint8Address(1),
708 version: 1,
709 hostname: getStringAddress("host"),
710 },
711 },
712 {
713 []byte("<1>1 2003-09-29T22:14:16Z host abcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefX - - -"),
714 false,
715 nil,
716 "expecting an app-name (from 1 to max 48 US-ASCII characters) or a nil value [col 79]",
717 &SyslogMessage{
718 priority: getUint8Address(1),
719 facility: getUint8Address(0),
720 severity: getUint8Address(1),
721 version: 1,
722 timestamp: timeParse(RFC3339MICRO, "2003-09-29T22:14:16Z"),
723 hostname: getStringAddress("host"),
724 },
725 },
726 // Invalid, procid too long
727 {
728 []byte("<1>1 - - - abcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabX - -"),
729 false,
730 nil,
731 "expecting a procid (from 1 to max 128 US-ASCII characters) or a nil value [col 139]",
732 &SyslogMessage{
733 priority: getUint8Address(1),
734 facility: getUint8Address(0),
735 severity: getUint8Address(1),
736 version: 1,
737 },
738 },
739 // Invalid, msgid too long
740 {
741 []byte("<1>1 - - - - abcdefghilmnopqrstuvzabcdefghilmX -"),
742 false,
743 nil,
744 "expecting a msgid (from 1 to max 32 US-ASCII characters) or a nil value [col 45]",
745 &SyslogMessage{
746 priority: getUint8Address(1),
747 facility: getUint8Address(0),
748 severity: getUint8Address(1),
749 version: 1,
750 },
751 },
752 // Not print US-ASCII chars for hostname, appname, procid, and msgid
753 {
754 []byte("<1>1 - - - - -"),
755 false,
756 nil,
757 "expecting an hostname (from 1 to max 255 US-ASCII characters) or a nil value [col 7]",
758 &SyslogMessage{
759 priority: getUint8Address(1),
760 facility: getUint8Address(0),
761 severity: getUint8Address(1),
762 version: 1,
763 },
764 },
765 {
766 []byte("<1>1 - - - - -"),
767 false,
768 nil,
769 "expecting an app-name (from 1 to max 48 US-ASCII characters) or a nil value [col 9]",
770 &SyslogMessage{
771 priority: getUint8Address(1),
772 facility: getUint8Address(0),
773 severity: getUint8Address(1),
774 version: 1,
775 },
776 },
777 {
778 []byte("<1>1 - - - - -"),
779 false,
780 nil,
781 "expecting a procid (from 1 to max 128 US-ASCII characters) or a nil value [col 11]",
782 &SyslogMessage{
783 priority: getUint8Address(1),
784 facility: getUint8Address(0),
785 severity: getUint8Address(1),
786 version: 1,
787 },
788 },
789 {
790 []byte("<1>1 - - - - -"),
791 false,
792 nil,
793 "expecting a msgid (from 1 to max 32 US-ASCII characters) or a nil value [col 13]",
794 &SyslogMessage{
795 priority: getUint8Address(1),
796 facility: getUint8Address(0),
797 severity: getUint8Address(1),
798 version: 1,
799 },
800 },
801 // Invalid, with malformed structured data
802 {
803 []byte("<1>1 - - - - - X"),
804 false,
805 nil,
806 "expecting a structured data section containing one or more elements (`[id( key=\"value\")*]+`) or a nil value [col 15]",
807 &SyslogMessage{
808 priority: getUint8Address(1),
809 facility: getUint8Address(0),
810 severity: getUint8Address(1),
811 version: 1,
812 },
813 },
814 // Invalid, with empty structured data
815 {
816 []byte("<1>1 - - - - - []"),
817 false,
818 nil,
819 "expecting a structured data element id (from 1 to max 32 US-ASCII characters; except `=`, ` `, `]`, and `\"` [col 16]",
820 &SyslogMessage{
821 priority: getUint8Address(1),
822 facility: getUint8Address(0),
823 severity: getUint8Address(1),
824 version: 1,
825 structuredData: nil,
826 },
827 },
828 // Invalid, with structured data id containing space
829 {
830 []byte("<1>1 - - - - - [ ]"),
831 false,
832 nil,
833 "expecting a structured data element id (from 1 to max 32 US-ASCII characters; except `=`, ` `, `]`, and `\"` [col 16]",
834 &SyslogMessage{
835 priority: getUint8Address(1),
836 facility: getUint8Address(0),
837 severity: getUint8Address(1),
838 version: 1,
839 structuredData: nil,
840 },
841 },
842 // Invalid, with structured data id containing =
843 {
844 []byte("<1>1 - - - - - [=]"),
845 false,
846 nil,
847 "expecting a structured data element id (from 1 to max 32 US-ASCII characters; except `=`, ` `, `]`, and `\"` [col 16]",
848 &SyslogMessage{
849 priority: getUint8Address(1),
850 facility: getUint8Address(0),
851 severity: getUint8Address(1),
852 version: 1,
853 structuredData: nil,
854 },
855 },
856 // Invalid, with structured data id containing ]
857 {
858 []byte("<1>1 - - - - - []]"),
859 false,
860 nil,
861 "expecting a structured data element id (from 1 to max 32 US-ASCII characters; except `=`, ` `, `]`, and `\"` [col 16]",
862 &SyslogMessage{
863 priority: getUint8Address(1),
864 facility: getUint8Address(0),
865 severity: getUint8Address(1),
866 version: 1,
867 structuredData: nil,
868 },
869 },
870 // Invalid, with structured data id containing "
871 {
872 []byte(`<1>1 - - - - - ["]`),
873 false,
874 nil,
875 "expecting a structured data element id (from 1 to max 32 US-ASCII characters; except `=`, ` `, `]`, and `\"` [col 16]",
876 &SyslogMessage{
877 priority: getUint8Address(1),
878 facility: getUint8Address(0),
879 severity: getUint8Address(1),
880 version: 1,
881 structuredData: nil,
882 },
883 },
884 // Invalid, too long structured data id
885 {
886 []byte(`<1>1 - - - - - [abcdefghilmnopqrstuvzabcdefghilmX]`),
887 false,
888 nil,
889 "expecting a structured data element id (from 1 to max 32 US-ASCII characters; except `=`, ` `, `]`, and `\"` [col 48]",
890 &SyslogMessage{
891 priority: getUint8Address(1),
892 facility: getUint8Address(0),
893 severity: getUint8Address(1),
894 version: 1,
895 structuredData: nil,
896 },
897 },
898 // Invalid, too long structured data param key
899 {
900 []byte(`<1>1 - - - - - [id abcdefghilmnopqrstuvzabcdefghilmX="val"]`),
901 false,
902 nil,
903 "expecting a structured data parameter (`key=\"value\"`, both part from 1 to max 32 US-ASCII characters; key cannot contain `=`, ` `, `]`, and `\"`, while value cannot contain `]`, backslash, and `\"` unless escaped) [col 51]",
904 &SyslogMessage{
905 priority: getUint8Address(1),
906 facility: getUint8Address(0),
907 severity: getUint8Address(1),
908 version: 1,
909 structuredData: &map[string]map[string]string{
910 "id": {},
911 },
912 },
913 },
914 // Valid, minimal
915 {
916 []byte("<1>1 - - - - - -"),
917 true,
918 &SyslogMessage{
919 facility: getUint8Address(0),
920 severity: getUint8Address(1),
921 priority: getUint8Address(1),
922 version: 1,
923 },
924 "",
925 nil,
926 },
927 {
928 []byte("<0>1 - - - - - -"),
929 true,
930 &SyslogMessage{
931 priority: getUint8Address(0),
932 facility: getUint8Address(0),
933 severity: getUint8Address(0),
934 version: 1,
935 },
936 "",
937 nil,
938 },
939 // Valid, average message
940 {
941 []byte(`<29>1 2016-02-21T04:32:57+00:00 web1 someservice - - [origin x-service="someservice"][meta sequenceId="14125553"] 127.0.0.1 - - 1456029177 "GET /v1/ok HTTP/1.1" 200 145 "-" "hacheck 0.9.0" 24306 127.0.0.1:40124 575`),
942 true,
943 &SyslogMessage{
944 facility: getUint8Address(3),
945 severity: getUint8Address(5),
946 priority: getUint8Address(29),
947 version: 1,
948 timestamp: timeParse(RFC3339MICRO, "2016-02-21T04:32:57+00:00"),
949 hostname: getStringAddress("web1"),
950 appname: getStringAddress("someservice"),
951 structuredData: &map[string]map[string]string{
952 "origin": {
953 "x-service": "someservice",
954 },
955 "meta": {
956 "sequenceId": "14125553",
957 },
958 },
959 message: getStringAddress(`127.0.0.1 - - 1456029177 "GET /v1/ok HTTP/1.1" 200 145 "-" "hacheck 0.9.0" 24306 127.0.0.1:40124 575`),
960 },
961 "",
962 nil,
963 },
964 // Valid, hostname, appname, procid, msgid can contain dashes
965 {
966 []byte("<1>100 - host-name - - - -"),
967 true,
968 &SyslogMessage{
969 facility: getUint8Address(0),
970 severity: getUint8Address(1),
971 priority: getUint8Address(1),
972 version: 100,
973 hostname: getStringAddress("host-name"),
974 },
975 "",
976 nil,
977 },
978 {
979 []byte("<1>101 - host-name app-name - - -"),
980 true,
981 &SyslogMessage{
982 facility: getUint8Address(0),
983 severity: getUint8Address(1),
984 priority: getUint8Address(1),
985 version: 101,
986 hostname: getStringAddress("host-name"),
987 appname: getStringAddress("app-name"),
988 },
989 "",
990 nil,
991 },
992 {
993 []byte("<1>102 - host-name app-name proc-id - -"),
994 true,
995 &SyslogMessage{
996 facility: getUint8Address(0),
997 severity: getUint8Address(1),
998 priority: getUint8Address(1),
999 version: 102,
1000 hostname: getStringAddress("host-name"),
1001 appname: getStringAddress("app-name"),
1002 procID: getStringAddress("proc-id"),
1003 },
1004 "",
1005 nil,
1006 },
1007 {
1008 []byte("<1>103 - host-name app-name proc-id msg-id -"),
1009 true,
1010 &SyslogMessage{
1011 facility: getUint8Address(0),
1012 severity: getUint8Address(1),
1013 priority: getUint8Address(1),
1014 version: 103,
1015 hostname: getStringAddress("host-name"),
1016 appname: getStringAddress("app-name"),
1017 procID: getStringAddress("proc-id"),
1018 msgID: getStringAddress("msg-id"),
1019 },
1020 "",
1021 nil,
1022 },
1023 // Valid, w/0 structured data and w/o message, with other fields all max length
1024 {
1025 []byte("<191>999 2018-12-31T23:59:59.999999-23:59 abcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabc abcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdef abcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzab abcdefghilmnopqrstuvzabcdefghilm -"),
1026 true,
1027 &SyslogMessage{
1028 priority: getUint8Address(191),
1029 facility: getUint8Address(23),
1030 severity: getUint8Address(7),
1031 version: 999,
1032 timestamp: timeParse(RFC3339MICRO, "2018-12-31T23:59:59.999999-23:59"),
1033 hostname: getStringAddress("abcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabc"),
1034 appname: getStringAddress("abcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdef"),
1035 procID: getStringAddress("abcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzab"),
1036 msgID: getStringAddress("abcdefghilmnopqrstuvzabcdefghilm"),
1037 },
1038 "",
1039 nil,
1040 },
1041 // Valid, all fields max length, with structured data and message
1042 {
1043 []byte(`<191>999 2018-12-31T23:59:59.999999-23:59 abcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabc abcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdef abcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzab abcdefghilmnopqrstuvzabcdefghilm [an@id key1="val1" key2="val2"][another@id key1="val1"] Some message "GET"`),
1044 true,
1045 &SyslogMessage{
1046 priority: getUint8Address(191),
1047 facility: getUint8Address(23),
1048 severity: getUint8Address(7),
1049 version: 999,
1050 timestamp: timeParse(RFC3339MICRO, "2018-12-31T23:59:59.999999-23:59"),
1051 hostname: getStringAddress("abcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabc"),
1052 appname: getStringAddress("abcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdef"),
1053 procID: getStringAddress("abcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzab"),
1054 msgID: getStringAddress("abcdefghilmnopqrstuvzabcdefghilm"),
1055 structuredData: &map[string]map[string]string{
1056 "an@id": {
1057 "key1": "val1",
1058 "key2": "val2",
1059 },
1060 "another@id": {
1061 "key1": "val1",
1062 },
1063 },
1064 message: getStringAddress(`Some message "GET"`),
1065 },
1066 "",
1067 nil,
1068 },
1069 // Valid, w/o structure data, w/0 procid
1070 {
1071 []byte("<34>1 2003-10-11T22:14:15.003Z mymachine.example.com su - ID47 - BOM'su root' failed for lonvick on /dev/pts/8"),
1072 true,
1073 &SyslogMessage{
1074 facility: getUint8Address(4),
1075 severity: getUint8Address(2),
1076 priority: getUint8Address(34),
1077 version: 1,
1078 timestamp: timeParse(RFC3339MICRO, "2003-10-11T22:14:15.003Z"),
1079 hostname: getStringAddress("mymachine.example.com"),
1080 appname: getStringAddress("su"),
1081 procID: nil,
1082 msgID: getStringAddress("ID47"),
1083 structuredData: nil,
1084 message: getStringAddress("BOM'su root' failed for lonvick on /dev/pts/8"),
1085 },
1086 "",
1087 nil,
1088 },
1089 // Valid, w/o structure data, w/o timestamp
1090 {
1091 []byte("<187>222 - mymachine.example.com su - ID47 - 'su root' failed for lonvick on /dev/pts/8"),
1092 true,
1093 &SyslogMessage{
1094 facility: getUint8Address(23),
1095 severity: getUint8Address(3),
1096 priority: getUint8Address(187),
1097 version: 222,
1098 timestamp: nil,
1099 hostname: getStringAddress("mymachine.example.com"),
1100 appname: getStringAddress("su"),
1101 procID: nil,
1102 msgID: getStringAddress("ID47"),
1103 structuredData: nil,
1104 message: getStringAddress("'su root' failed for lonvick on /dev/pts/8"),
1105 },
1106 "",
1107 nil,
1108 },
1109 // Valid, w/o structure data, w/o msgid
1110 {
1111 []byte("<165>1 2003-08-24T05:14:15.000003-07:00 192.0.2.1 myproc 8710 - - %% Time to make the do-nuts."),
1112 true,
1113 &SyslogMessage{
1114 facility: getUint8Address(20),
1115 severity: getUint8Address(5),
1116 priority: getUint8Address(165),
1117 version: 1,
1118 timestamp: timeParse(RFC3339MICRO, "2003-08-24T05:14:15.000003-07:00"),
1119 hostname: getStringAddress("192.0.2.1"),
1120 appname: getStringAddress("myproc"),
1121 procID: getStringAddress("8710"),
1122 msgID: nil,
1123 structuredData: nil,
1124 message: getStringAddress("%% Time to make the do-nuts."),
1125 },
1126 "",
1127 nil,
1128 },
1129 // Valid, w/o structure data, w/o hostname, w/o appname, w/o procid, w/o msgid, w/o msg
1130 {
1131 []byte("<165>2 2003-08-24T05:14:15.000003-07:00 - - - - -"),
1132 true,
1133 &SyslogMessage{
1134 facility: getUint8Address(20),
1135 severity: getUint8Address(5),
1136 priority: getUint8Address(165),
1137 version: 2,
1138 timestamp: timeParse(RFC3339MICRO, "2003-08-24T05:14:15.000003-07:00"),
1139 hostname: nil,
1140 appname: nil,
1141 procID: nil,
1142 msgID: nil,
1143 structuredData: nil,
1144 message: nil,
1145 },
1146 "",
1147 nil,
1148 },
1149 // Valid, w/o structure data, w/o hostname, w/o appname, w/o procid, w/o msgid, empty msg
1150 {
1151 []byte("<165>222 2003-08-24T05:14:15.000003-07:00 - - - - - "),
1152 true,
1153 &SyslogMessage{
1154 facility: getUint8Address(20),
1155 severity: getUint8Address(5),
1156 priority: getUint8Address(165),
1157 version: 222,
1158 timestamp: timeParse(RFC3339MICRO, "2003-08-24T05:14:15.000003-07:00"),
1159 hostname: nil,
1160 appname: nil,
1161 procID: nil,
1162 msgID: nil,
1163 structuredData: nil,
1164 message: nil,
1165 },
1166 "",
1167 nil,
1168 },
1169 // Valid, with structured data is, w/o structured data params
1170 {
1171 []byte("<78>1 2016-01-15T00:04:01+00:00 host1 CROND 10391 - [sdid] some_message"),
1172 true,
1173 &SyslogMessage{
1174 facility: getUint8Address(9),
1175 severity: getUint8Address(6),
1176 priority: getUint8Address(78),
1177 version: 1,
1178 timestamp: timeParse(RFC3339MICRO, "2016-01-15T00:04:01+00:00"),
1179 hostname: getStringAddress("host1"),
1180 appname: getStringAddress("CROND"),
1181 procID: getStringAddress("10391"),
1182 msgID: nil,
1183 structuredData: &map[string]map[string]string{
1184 "sdid": {},
1185 },
1186 message: getStringAddress("some_message"),
1187 },
1188 "",
1189 nil,
1190 },
1191 // Valid, with structured data id, with structured data params
1192 {
1193 []byte(`<78>1 2016-01-15T00:04:01+00:00 host1 CROND 10391 - [sdid x="⌘"] some_message`),
1194 true,
1195 &SyslogMessage{
1196 facility: getUint8Address(9),
1197 severity: getUint8Address(6),
1198 priority: getUint8Address(78),
1199 version: 1,
1200 timestamp: timeParse(RFC3339MICRO, "2016-01-15T00:04:01+00:00"),
1201 hostname: getStringAddress("host1"),
1202 appname: getStringAddress("CROND"),
1203 procID: getStringAddress("10391"),
1204 msgID: nil,
1205 structuredData: &map[string]map[string]string{
1206 "sdid": {
1207 "x": "⌘",
1208 },
1209 },
1210 message: getStringAddress("some_message"),
1211 },
1212 "",
1213 nil,
1214 },
1215 // Valid, with structured data is, with structured data params
1216 {
1217 []byte(`<78>2 2016-01-15T00:04:01+00:00 host1 CROND 10391 - [sdid x="hey \\u2318 hey"] some_message`),
1218 true,
1219 &SyslogMessage{
1220 facility: getUint8Address(9),
1221 severity: getUint8Address(6),
1222 priority: getUint8Address(78),
1223 version: 2,
1224 timestamp: timeParse(RFC3339MICRO, "2016-01-15T00:04:01+00:00"),
1225 hostname: getStringAddress("host1"),
1226 appname: getStringAddress("CROND"),
1227 procID: getStringAddress("10391"),
1228 msgID: nil,
1229 structuredData: &map[string]map[string]string{
1230 "sdid": {
1231 "x": `hey \u2318 hey`,
1232 },
1233 },
1234 message: getStringAddress("some_message"),
1235 },
1236 "",
1237 nil,
1238 },
1239 // Valid, with (escaped) backslash within structured data param value
1240 {
1241 []byte(`<29>50 2016-01-15T01:00:43Z hn S - - [meta es="\\valid"] 127.0.0.1 - - 1452819643 "GET"`),
1242 true,
1243 &SyslogMessage{
1244 priority: getUint8Address(29),
1245 facility: getUint8Address(3),
1246 severity: getUint8Address(5),
1247 version: 50,
1248 timestamp: timeParse(RFC3339MICRO, "2016-01-15T01:00:43Z"),
1249 hostname: getStringAddress("hn"),
1250 appname: getStringAddress("S"),
1251 structuredData: &map[string]map[string]string{
1252 "meta": {
1253 "es": `\valid`,
1254 },
1255 },
1256 message: getStringAddress(`127.0.0.1 - - 1452819643 "GET"`),
1257 },
1258 "",
1259 nil,
1260 },
1261 {
1262 []byte(`<29>52 2016-01-15T01:00:43Z hn S - - [meta one="\\one" two="\\two"] 127.0.0.1 - - 1452819643 "GET"`),
1263 true,
1264 &SyslogMessage{
1265 priority: getUint8Address(29),
1266 facility: getUint8Address(3),
1267 severity: getUint8Address(5),
1268 version: 52,
1269 timestamp: timeParse(RFC3339MICRO, "2016-01-15T01:00:43Z"),
1270 hostname: getStringAddress("hn"),
1271 appname: getStringAddress("S"),
1272 structuredData: &map[string]map[string]string{
1273 "meta": {
1274 "one": `\one`,
1275 "two": `\two`,
1276 },
1277 },
1278 message: getStringAddress(`127.0.0.1 - - 1452819643 "GET"`),
1279 },
1280 "",
1281 nil,
1282 },
1283 {
1284 []byte(`<29>53 2016-01-15T01:00:43Z hn S - - [meta one="\\one"][other two="\\two" double="\\a\\b"] 127.0.0.1 - - 1452819643 "GET"`),
1285 true,
1286 &SyslogMessage{
1287 priority: getUint8Address(29),
1288 facility: getUint8Address(3),
1289 severity: getUint8Address(5),
1290 version: 53,
1291 timestamp: timeParse(RFC3339MICRO, "2016-01-15T01:00:43Z"),
1292 hostname: getStringAddress("hn"),
1293 appname: getStringAddress("S"),
1294 structuredData: &map[string]map[string]string{
1295 "meta": {
1296 "one": `\one`,
1297 },
1298 "other": {
1299 "two": `\two`,
1300 "double": `\a\b`,
1301 },
1302 },
1303 message: getStringAddress(`127.0.0.1 - - 1452819643 "GET"`),
1304 },
1305 "",
1306 nil,
1307 },
1308 {
1309 []byte(`<29>51 2016-01-15T01:00:43Z hn S - - [meta es="\\double\\slash"] 127.0.0.1 - - 1452819643 "GET"`),
1310 true,
1311 &SyslogMessage{
1312 priority: getUint8Address(29),
1313 facility: getUint8Address(3),
1314 severity: getUint8Address(5),
1315 version: 51,
1316 timestamp: timeParse(RFC3339MICRO, "2016-01-15T01:00:43Z"),
1317 hostname: getStringAddress("hn"),
1318 appname: getStringAddress("S"),
1319 structuredData: &map[string]map[string]string{
1320 "meta": {
1321 "es": `\double\slash`,
1322 },
1323 },
1324 message: getStringAddress(`127.0.0.1 - - 1452819643 "GET"`),
1325 },
1326 "",
1327 nil,
1328 },
1329 {
1330 []byte(`<29>54 2016-01-15T01:00:43Z hn S - - [meta es="in \\middle of the string"] 127.0.0.1 - - 1452819643 "GET"`),
1331 true,
1332 &SyslogMessage{
1333 priority: getUint8Address(29),
1334 facility: getUint8Address(3),
1335 severity: getUint8Address(5),
1336 version: 54,
1337 timestamp: timeParse(RFC3339MICRO, "2016-01-15T01:00:43Z"),
1338 hostname: getStringAddress("hn"),
1339 appname: getStringAddress("S"),
1340 structuredData: &map[string]map[string]string{
1341 "meta": {
1342 "es": `in \middle of the string`,
1343 },
1344 },
1345 message: getStringAddress(`127.0.0.1 - - 1452819643 "GET"`),
1346 },
1347 "",
1348 nil,
1349 },
1350 {
1351 []byte(`<29>55 2016-01-15T01:00:43Z hn S - - [meta es="at the \\end"] 127.0.0.1 - - 1452819643 "GET"`),
1352 true,
1353 &SyslogMessage{
1354 priority: getUint8Address(29),
1355 facility: getUint8Address(3),
1356 severity: getUint8Address(5),
1357 version: 55,
1358 timestamp: timeParse(RFC3339MICRO, "2016-01-15T01:00:43Z"),
1359 hostname: getStringAddress("hn"),
1360 appname: getStringAddress("S"),
1361 structuredData: &map[string]map[string]string{
1362 "meta": {
1363 "es": `at the \end`,
1364 },
1365 },
1366 message: getStringAddress(`127.0.0.1 - - 1452819643 "GET"`),
1367 },
1368 "",
1369 nil,
1370 },
1371 // Valid, with control characters within structured data param value
1372 {
1373 []byte("<29>50 2016-01-15T01:00:43Z hn S - - [meta es=\"\t5Ὂg̀9!℃ᾭGa b\"] 127.0.0.1 - - 1452819643 \"GET\""),
1374 true,
1375 &SyslogMessage{
1376 priority: getUint8Address(29),
1377 facility: getUint8Address(3),
1378 severity: getUint8Address(5),
1379 version: 50,
1380 timestamp: timeParse(RFC3339MICRO, "2016-01-15T01:00:43Z"),
1381 hostname: getStringAddress("hn"),
1382 appname: getStringAddress("S"),
1383 structuredData: &map[string]map[string]string{
1384 "meta": {
1385 "es": "\t5Ὂg̀9!℃ᾭGa b",
1386 },
1387 },
1388 message: getStringAddress(`127.0.0.1 - - 1452819643 "GET"`),
1389 },
1390 "",
1391 nil,
1392 },
1393 // Valid, with utf8 within structured data param value
1394 {
1395 []byte(`<29>50 2016-01-15T01:00:43Z hn S - - [meta gr="κόσμε" es="ñ"][beta pr="₡"] 𐌼 "GET"`),
1396 true,
1397 &SyslogMessage{
1398 priority: getUint8Address(29),
1399 facility: getUint8Address(3),
1400 severity: getUint8Address(5),
1401 version: 50,
1402 timestamp: timeParse(RFC3339MICRO, "2016-01-15T01:00:43Z"),
1403 hostname: getStringAddress("hn"),
1404 appname: getStringAddress("S"),
1405 structuredData: &map[string]map[string]string{
1406 "meta": {
1407 "gr": "κόσμε",
1408 "es": "ñ",
1409 },
1410 "beta": {
1411 "pr": "₡",
1412 },
1413 },
1414 message: getStringAddress(`𐌼 "GET"`),
1415 },
1416 "",
1417 nil,
1418 },
1419 // Valid, with structured data, w/o msg
1420 {
1421 []byte("<165>3 2003-10-11T22:14:15.003Z example.com evnts - ID27 [exampleSDID@32473 iut=\"3\" eventSource=\"Application\" eventID=\"1011\"][examplePriority@32473 class=\"high\"]"),
1422 true,
1423 &SyslogMessage{
1424 facility: getUint8Address(20),
1425 severity: getUint8Address(5),
1426 priority: getUint8Address(165),
1427 version: 3,
1428 timestamp: timeParse(RFC3339MICRO, "2003-10-11T22:14:15.003Z"),
1429 hostname: getStringAddress("example.com"),
1430 appname: getStringAddress("evnts"),
1431 procID: nil,
1432 msgID: getStringAddress("ID27"),
1433 structuredData: &map[string]map[string]string{
1434 "exampleSDID@32473": {
1435 "iut": "3",
1436 "eventSource": "Application",
1437 "eventID": "1011",
1438 },
1439 "examplePriority@32473": {
1440 "class": "high",
1441 },
1442 },
1443 message: nil,
1444 },
1445 "",
1446 nil,
1447 },
1448 // Invalid, with duplicated structured data id
1449 {
1450 []byte("<165>3 2003-10-11T22:14:15.003Z example.com evnts - ID27 [id1][id1]"),
1451 false,
1452 nil,
1453 "duplicate structured data element id [col 66]",
1454 &SyslogMessage{
1455 priority: getUint8Address(165),
1456 facility: getUint8Address(20),
1457 severity: getUint8Address(5),
1458 version: 3,
1459 timestamp: timeParse(RFC3339MICRO, "2003-10-11T22:14:15.003Z"),
1460 hostname: getStringAddress("example.com"),
1461 appname: getStringAddress("evnts"),
1462 msgID: getStringAddress("ID27"),
1463 structuredData: &map[string]map[string]string{
1464 "id1": {},
1465 },
1466 },
1467 },
1468 // Invalid, with duplicated structured data id
1469 {
1470 []byte("<165>3 2003-10-11T22:14:15.003Z example.com evnts - ID27 [dupe e=\"1\"][id1][dupe class=\"l\"]"),
1471 false,
1472 nil,
1473 "duplicate structured data element id [col 79]",
1474 &SyslogMessage{
1475 priority: getUint8Address(165),
1476 facility: getUint8Address(20),
1477 severity: getUint8Address(5),
1478 version: 3,
1479 timestamp: timeParse(RFC3339MICRO, "2003-10-11T22:14:15.003Z"),
1480 hostname: getStringAddress("example.com"),
1481 appname: getStringAddress("evnts"),
1482 msgID: getStringAddress("ID27"),
1483 structuredData: &map[string]map[string]string{
1484 "id1": {},
1485 "dupe": {
1486 "e": "1",
1487 },
1488 },
1489 },
1490 },
1491 // Valid, with structured data w/o msg
1492 {
1493 []byte(`<165>4 2003-10-11T22:14:15.003Z mymachine.it e - 1 [ex@32473 iut="3" eventSource="A"] An application event log entry...`),
1494 true,
1495 &SyslogMessage{
1496 facility: getUint8Address(20),
1497 severity: getUint8Address(5),
1498 priority: getUint8Address(165),
1499 version: 4,
1500 timestamp: timeParse(RFC3339MICRO, "2003-10-11T22:14:15.003Z"),
1501 hostname: getStringAddress("mymachine.it"),
1502 appname: getStringAddress("e"),
1503 procID: nil,
1504 msgID: getStringAddress("1"),
1505 structuredData: &map[string]map[string]string{
1506 "ex@32473": {
1507 "iut": "3",
1508 "eventSource": "A",
1509 },
1510 },
1511 message: getStringAddress("An application event log entry..."),
1512 },
1513 "",
1514 nil,
1515 },
1516 // Valid, with double quotes in the message
1517 {
1518 []byte(`<29>1 2016-01-15T01:00:43Z some-host-name SEKRETPROGRAM prg - [origin x-service="svcname"][meta sequenceId="1"] 127.0.0.1 - - 1452819643 "GET"`),
1519 true,
1520 &SyslogMessage{
1521 facility: getUint8Address(3),
1522 severity: getUint8Address(5),
1523 priority: getUint8Address(29),
1524 version: 1,
1525 timestamp: timeParse(RFC3339MICRO, "2016-01-15T01:00:43Z"),
1526 hostname: getStringAddress("some-host-name"),
1527 appname: getStringAddress("SEKRETPROGRAM"),
1528 procID: getStringAddress("prg"),
1529 msgID: nil,
1530 structuredData: &map[string]map[string]string{
1531 "origin": {
1532 "x-service": "svcname",
1533 },
1534 "meta": {
1535 "sequenceId": "1",
1536 },
1537 },
1538 message: getStringAddress("127.0.0.1 - - 1452819643 \"GET\""),
1539 },
1540 "",
1541 nil,
1542 },
1543 // Valid, with empty structured data param value
1544 {
1545 []byte(`<1>1 - - - - - [id pk=""]`),
1546 true,
1547 &SyslogMessage{
1548 priority: getUint8Address(1),
1549 facility: getUint8Address(0),
1550 severity: getUint8Address(1),
1551 version: 1,
1552 structuredData: &map[string]map[string]string{
1553 "id": {
1554 "pk": "",
1555 },
1556 },
1557 },
1558 "",
1559 nil,
1560 },
1561 // Valid, with escaped character within param value
1562 {
1563 []byte(`<29>2 2016-01-15T01:00:43Z some-host-name SEKRETPROGRAM prg - [meta escape="\]"] some "mex"`),
1564 true,
1565 &SyslogMessage{
1566 facility: getUint8Address(3),
1567 severity: getUint8Address(5),
1568 priority: getUint8Address(29),
1569 version: 2,
1570 timestamp: timeParse(RFC3339MICRO, "2016-01-15T01:00:43Z"),
1571 hostname: getStringAddress("some-host-name"),
1572 appname: getStringAddress("SEKRETPROGRAM"),
1573 procID: getStringAddress("prg"),
1574 msgID: nil,
1575 structuredData: &map[string]map[string]string{
1576 "meta": {
1577 "escape": "]",
1578 },
1579 },
1580 message: getStringAddress(`some "mex"`),
1581 },
1582 "",
1583 nil,
1584 },
1585 {
1586 []byte(`<29>2 2016-01-15T01:00:43Z some-host-name SEKRETPROGRAM prg - [meta escape="\\"]`),
1587 true,
1588 &SyslogMessage{
1589 facility: getUint8Address(3),
1590 severity: getUint8Address(5),
1591 priority: getUint8Address(29),
1592 version: 2,
1593 timestamp: timeParse(RFC3339MICRO, "2016-01-15T01:00:43Z"),
1594 hostname: getStringAddress("some-host-name"),
1595 appname: getStringAddress("SEKRETPROGRAM"),
1596 procID: getStringAddress("prg"),
1597 msgID: nil,
1598 structuredData: &map[string]map[string]string{
1599 "meta": {
1600 "escape": `\`,
1601 },
1602 },
1603 },
1604 "",
1605 nil,
1606 },
1607 {
1608 []byte(`<29>2 2016-01-15T01:00:43Z some-host-name SEKRETPROGRAM prg - [meta escape="\""]`),
1609 true,
1610 &SyslogMessage{
1611 facility: getUint8Address(3),
1612 severity: getUint8Address(5),
1613 priority: getUint8Address(29),
1614 version: 2,
1615 timestamp: timeParse(RFC3339MICRO, "2016-01-15T01:00:43Z"),
1616 hostname: getStringAddress("some-host-name"),
1617 appname: getStringAddress("SEKRETPROGRAM"),
1618 procID: getStringAddress("prg"),
1619 msgID: nil,
1620 structuredData: &map[string]map[string]string{
1621 "meta": {
1622 "escape": `"`,
1623 },
1624 },
1625 },
1626 "",
1627 nil,
1628 },
1629 {
1630 []byte(`<29>2 2016-01-15T01:00:43Z some-host-name SEKRETPROGRAM prg - [meta escape="\]\"\\\\\]\""]`),
1631 true,
1632 &SyslogMessage{
1633 facility: getUint8Address(3),
1634 severity: getUint8Address(5),
1635 priority: getUint8Address(29),
1636 version: 2,
1637 timestamp: timeParse(RFC3339MICRO, "2016-01-15T01:00:43Z"),
1638 hostname: getStringAddress("some-host-name"),
1639 appname: getStringAddress("SEKRETPROGRAM"),
1640 procID: getStringAddress("prg"),
1641 msgID: nil,
1642 structuredData: &map[string]map[string]string{
1643 "meta": {
1644 "escape": `]"\\]"`,
1645 },
1646 },
1647 },
1648 "",
1649 nil,
1650 },
1651 // Invalid, param value can not contain closing square bracket - ie., ]
1652 {
1653 []byte(`<29>3 2016-01-15T01:00:43Z hn S - - [meta escape="]"] 127.0.0.1 - - 1452819643 "GET"`),
1654 false,
1655 nil,
1656 "expecting chars `]`, `\"`, and `\\` to be escaped within param value [col 50]",
1657 &SyslogMessage{
1658 facility: getUint8Address(3),
1659 severity: getUint8Address(5),
1660 priority: getUint8Address(29),
1661 version: 3,
1662 timestamp: timeParse(RFC3339MICRO, "2016-01-15T01:00:43Z"),
1663 hostname: getStringAddress("hn"),
1664 appname: getStringAddress("S"),
1665 structuredData: &map[string]map[string]string{
1666 "meta": {},
1667 },
1668 },
1669 },
1670 {
1671 []byte(`<29>5 2016-01-15T01:00:43Z hn S - - [meta escape="]q"] 127.0.0.1 - - 1452819643 "GET"`),
1672 false,
1673 nil,
1674 "expecting chars `]`, `\"`, and `\\` to be escaped within param value [col 50]",
1675 &SyslogMessage{
1676 facility: getUint8Address(3),
1677 severity: getUint8Address(5),
1678 priority: getUint8Address(29),
1679 version: 5,
1680 timestamp: timeParse(RFC3339MICRO, "2016-01-15T01:00:43Z"),
1681 hostname: getStringAddress("hn"),
1682 appname: getStringAddress("S"),
1683 structuredData: &map[string]map[string]string{
1684 "meta": {},
1685 },
1686 },
1687 },
1688 {
1689 []byte(`<29>4 2016-01-15T01:00:43Z hn S - - [meta escape="p]"] 127.0.0.1 - - 1452819643 "GET"`),
1690 false,
1691 nil,
1692 "expecting chars `]`, `\"`, and `\\` to be escaped within param value [col 51]",
1693 &SyslogMessage{
1694 facility: getUint8Address(3),
1695 severity: getUint8Address(5),
1696 priority: getUint8Address(29),
1697 version: 4,
1698 timestamp: timeParse(RFC3339MICRO, "2016-01-15T01:00:43Z"),
1699 hostname: getStringAddress("hn"),
1700 appname: getStringAddress("S"),
1701 structuredData: &map[string]map[string]string{
1702 "meta": {},
1703 },
1704 },
1705 },
1706 // Invalid, param value can not contain doublequote char - ie., ""
1707 {
1708 []byte(`<29>4 2017-01-15T01:00:43Z hn S - - [meta escape="""] 127.0.0.1 - - 1452819643 "GET"`),
1709 false,
1710 nil,
1711 "expecting a structured data parameter (`key=\"value\"`, both part from 1 to max 32 US-ASCII characters; key cannot contain `=`, ` `, `]`, and `\"`, while value cannot contain `]`, backslash, and `\"` unless escaped) [col 51]",
1712 &SyslogMessage{
1713 facility: getUint8Address(3),
1714 severity: getUint8Address(5),
1715 priority: getUint8Address(29),
1716 version: 4,
1717 timestamp: timeParse(RFC3339MICRO, "2017-01-15T01:00:43Z"),
1718 hostname: getStringAddress("hn"),
1719 appname: getStringAddress("S"),
1720 structuredData: &map[string]map[string]string{
1721 "meta": {},
1722 },
1723 },
1724 },
1725 {
1726 []byte(`<29>6 2016-01-15T01:00:43Z hn S - - [meta escape="a""] 127.0.0.1 - - 1452819643 "GET"`),
1727 false,
1728 nil,
1729 "expecting a structured data parameter (`key=\"value\"`, both part from 1 to max 32 US-ASCII characters; key cannot contain `=`, ` `, `]`, and `\"`, while value cannot contain `]`, backslash, and `\"` unless escaped) [col 52]",
1730 &SyslogMessage{
1731 facility: getUint8Address(3),
1732 severity: getUint8Address(5),
1733 priority: getUint8Address(29),
1734 version: 6,
1735 timestamp: timeParse(RFC3339MICRO, "2016-01-15T01:00:43Z"),
1736 hostname: getStringAddress("hn"),
1737 appname: getStringAddress("S"),
1738 structuredData: &map[string]map[string]string{
1739 "meta": {},
1740 },
1741 },
1742 },
1743 {
1744 []byte(`<29>4 2018-01-15T01:00:43Z hn S - - [meta escape=""b"] 127.0.0.1 - - 1452819643 "GET"`),
1745 false,
1746 nil,
1747 "expecting a structured data parameter (`key=\"value\"`, both part from 1 to max 32 US-ASCII characters; key cannot contain `=`, ` `, `]`, and `\"`, while value cannot contain `]`, backslash, and `\"` unless escaped) [col 51]",
1748 &SyslogMessage{
1749 facility: getUint8Address(3),
1750 severity: getUint8Address(5),
1751 priority: getUint8Address(29),
1752 version: 4,
1753 timestamp: timeParse(RFC3339MICRO, "2018-01-15T01:00:43Z"),
1754 hostname: getStringAddress("hn"),
1755 appname: getStringAddress("S"),
1756 structuredData: &map[string]map[string]string{
1757 "meta": {},
1758 },
1759 },
1760 },
1761 // Invalid, param value can not contain backslash - ie., \
1762 {
1763 []byte(`<29>5 2019-01-15T01:00:43Z hn S - - [meta escape="\"] 127.0.0.1 - - 1452819643 "GET"`),
1764 false,
1765 nil,
1766 "expecting chars `]`, `\"`, and `\\` to be escaped within param value [col 52]",
1767 &SyslogMessage{
1768 facility: getUint8Address(3),
1769 severity: getUint8Address(5),
1770 priority: getUint8Address(29),
1771 version: 5,
1772 timestamp: timeParse(RFC3339MICRO, "2019-01-15T01:00:43Z"),
1773 hostname: getStringAddress("hn"),
1774 appname: getStringAddress("S"),
1775 structuredData: &map[string]map[string]string{
1776 "meta": {},
1777 },
1778 },
1779 },
1780 {
1781 []byte(`<29>7 2019-01-15T01:00:43Z hn S - - [meta escape="a\"] 127.0.0.1 - - 1452819643 "GET"`),
1782 false,
1783 nil,
1784 "expecting chars `]`, `\"`, and `\\` to be escaped within param value [col 53]",
1785 &SyslogMessage{
1786 facility: getUint8Address(3),
1787 severity: getUint8Address(5),
1788 priority: getUint8Address(29),
1789 version: 7,
1790 timestamp: timeParse(RFC3339MICRO, "2019-01-15T01:00:43Z"),
1791 hostname: getStringAddress("hn"),
1792 appname: getStringAddress("S"),
1793 structuredData: &map[string]map[string]string{
1794 "meta": {},
1795 },
1796 },
1797 },
1798 {
1799 []byte(`<29>8 2016-01-15T01:00:43Z hn S - - [meta escape="\n"] 127.0.0.1 - - 1452819643 "GET"`),
1800 false,
1801 nil,
1802 "expecting chars `]`, `\"`, and `\\` to be escaped within param value [col 51]",
1803 &SyslogMessage{
1804 facility: getUint8Address(3),
1805 severity: getUint8Address(5),
1806 priority: getUint8Address(29),
1807 version: 8,
1808 timestamp: timeParse(RFC3339MICRO, "2016-01-15T01:00:43Z"),
1809 hostname: getStringAddress("hn"),
1810 appname: getStringAddress("S"),
1811 structuredData: &map[string]map[string]string{
1812 "meta": {},
1813 },
1814 },
1815 },
1816 // Valid, message starting with byte order mark (BOM, \uFEFF)
1817 {
1818 []byte("<1>1 - - - - - - \xEF\xBB\xBF"),
1819 true,
1820 &SyslogMessage{
1821 priority: getUint8Address(1),
1822 facility: getUint8Address(0),
1823 severity: getUint8Address(1),
1824 version: 1,
1825 message: getStringAddress("\ufeff"),
1826 },
1827 "",
1828 nil,
1829 },
1830 // Valid, greek
1831 {
1832 []byte("<1>1 - - - - - - κόσμε"),
1833 true,
1834 &SyslogMessage{
1835 priority: getUint8Address(1),
1836 facility: getUint8Address(0),
1837 severity: getUint8Address(1),
1838 version: 1,
1839 message: getStringAddress("κόσμε"),
1840 },
1841 "",
1842 nil,
1843 },
1844 // Valid, 2 octet sequence
1845 {
1846 []byte("<1>1 - - - - - - €"),
1847 true,
1848 &SyslogMessage{
1849 priority: getUint8Address(1),
1850 facility: getUint8Address(0),
1851 severity: getUint8Address(1),
1852 version: 1,
1853 message: getStringAddress("€"),
1854 },
1855 "",
1856 nil,
1857 },
1858 // Valid, spanish (2 octet sequence)
1859 {
1860 []byte("<1>1 - - - - - - \xc3\xb1"),
1861 true,
1862 &SyslogMessage{
1863 priority: getUint8Address(1),
1864 facility: getUint8Address(0),
1865 severity: getUint8Address(1),
1866 version: 1,
1867 message: getStringAddress("ñ"),
1868 },
1869 "",
1870 nil,
1871 },
1872 // Valid, colon currency sign (3 octet sequence)
1873 {
1874 []byte("<1>1 - - - - - - \xe2\x82\xa1"),
1875 true,
1876 &SyslogMessage{
1877 priority: getUint8Address(1),
1878 facility: getUint8Address(0),
1879 severity: getUint8Address(1),
1880 version: 1,
1881 message: getStringAddress("₡"),
1882 },
1883 "",
1884 nil,
1885 },
1886 // Valid, gothic letter (4 octet sequence)
1887 {
1888 []byte("<1>1 - - - - - - \xEF\xBB\xBF \xf0\x90\x8c\xbc"),
1889 true,
1890 &SyslogMessage{
1891 priority: getUint8Address(1),
1892 facility: getUint8Address(0),
1893 severity: getUint8Address(1),
1894 version: 1,
1895 message: getStringAddress("\ufeff 𐌼"),
1896 },
1897 "",
1898 nil,
1899 },
1900 // Valid, 5 octet sequence
1901 {
1902 []byte("<1>1 - - - - - - \xC8\x80\x30\x30\x30"),
1903 true,
1904 &SyslogMessage{
1905 priority: getUint8Address(1),
1906 facility: getUint8Address(0),
1907 severity: getUint8Address(1),
1908 version: 1,
1909 message: getStringAddress("Ȁ000"),
1910 },
1911 "",
1912 nil,
1913 },
1914 // Valid, 6 octet sequence
1915 {
1916 []byte("<1>1 - - - - - - \xE4\x80\x80\x30\x30\x30"),
1917 true,
1918 &SyslogMessage{
1919 priority: getUint8Address(1),
1920 facility: getUint8Address(0),
1921 severity: getUint8Address(1),
1922 version: 1,
1923 message: getStringAddress("䀀000"),
1924 },
1925 "",
1926 nil,
1927 },
1928 // Valid, UTF-8 boundary conditions
1929 {
1930 []byte("<1>1 - - - - - - \xC4\x90\x30\x30\x30"),
1931 true,
1932 &SyslogMessage{
1933 priority: getUint8Address(1),
1934 facility: getUint8Address(0),
1935 severity: getUint8Address(1),
1936 version: 1,
1937 message: getStringAddress("Đ000"),
1938 },
1939 "",
1940 nil,
1941 },
1942 {
1943 []byte("<1>1 - - - - - - \x0D\x37\x46\x46"),
1944 true,
1945 &SyslogMessage{
1946 priority: getUint8Address(1),
1947 facility: getUint8Address(0),
1948 severity: getUint8Address(1),
1949 version: 1,
1950 message: getStringAddress("\r7FF"),
1951 },
1952 "",
1953 nil,
1954 },
1955 // Valid, Tamil poetry of Subramaniya Bharathiyar
1956 {
1957 []byte("<1>1 - - - - - - யாமறிந்த மொழிகளிலே தமிழ்மொழி போல் இனிதாவது எங்கும் காணோம், பாமரராய் விலங்குகளாய், உலகனைத்தும் இகழ்ச்சிசொலப் பான்மை கெட்டு, நாமமது தமிழரெனக் கொண்டு இங்கு வாழ்ந்திடுதல் நன்றோ? சொல்லீர்! தேமதுரத் தமிழோசை உலகமெலாம் பரவும்வகை செய்தல் வேண்டும்."),
1958 true,
1959 &SyslogMessage{
1960 priority: getUint8Address(1),
1961 facility: getUint8Address(0),
1962 severity: getUint8Address(1),
1963 version: 1,
1964 message: getStringAddress("யாமறிந்த மொழிகளிலே தமிழ்மொழி போல் இனிதாவது எங்கும் காணோம், பாமரராய் விலங்குகளாய், உலகனைத்தும் இகழ்ச்சிசொலப் பான்மை கெட்டு, நாமமது தமிழரெனக் கொண்டு இங்கு வாழ்ந்திடுதல் நன்றோ? சொல்லீர்! தேமதுரத் தமிழோசை உலகமெலாம் பரவும்வகை செய்தல் வேண்டும்."),
1965 },
1966 "",
1967 nil,
1968 },
1969 // Valid, I Can Eat Glass (Milanese)
1970 {
1971 []byte("<1>1 - - - - - - Sôn bôn de magnà el véder, el me fa minga mal."),
1972 true,
1973 &SyslogMessage{
1974 priority: getUint8Address(1),
1975 facility: getUint8Address(0),
1976 severity: getUint8Address(1),
1977 version: 1,
1978 message: getStringAddress("Sôn bôn de magnà el véder, el me fa minga mal."),
1979 },
1980 "",
1981 nil,
1982 },
1983 // Valid, I Can Eat Glass (Romano)
1984 {
1985 []byte("<1>1 - - - - - - Me posso magna' er vetro, e nun me fa male."),
1986 true,
1987 &SyslogMessage{
1988 priority: getUint8Address(1),
1989 facility: getUint8Address(0),
1990 severity: getUint8Address(1),
1991 version: 1,
1992 message: getStringAddress("Me posso magna' er vetro, e nun me fa male."),
1993 },
1994 "",
1995 nil,
1996 },
1997 // Valid, I Can Eat Glass (Braille)
1998 {
1999 []byte("<1>1 - - - - - - ⠊⠀⠉⠁⠝⠀⠑⠁⠞⠀⠛⠇⠁⠎⠎⠀⠁⠝⠙⠀⠊⠞⠀⠙⠕⠑⠎⠝⠞⠀⠓⠥⠗⠞⠀⠍⠑"),
2000 true,
2001 &SyslogMessage{
2002 priority: getUint8Address(1),
2003 facility: getUint8Address(0),
2004 severity: getUint8Address(1),
2005 version: 1,
2006 message: getStringAddress("⠊⠀⠉⠁⠝⠀⠑⠁⠞⠀⠛⠇⠁⠎⠎⠀⠁⠝⠙⠀⠊⠞⠀⠙⠕⠑⠎⠝⠞⠀⠓⠥⠗⠞⠀⠍⠑"),
2007 },
2008 "",
2009 nil,
2010 },
2011 // Valid, I Can Eat Glass (Sanskrit)
2012 {
2013 []byte("<1>1 - - - - - - काचं शक्नोम्यत्तुम् । नोपहिनस्ति माम् ॥"),
2014 true,
2015 &SyslogMessage{
2016 priority: getUint8Address(1),
2017 facility: getUint8Address(0),
2018 severity: getUint8Address(1),
2019 version: 1,
2020 message: getStringAddress("काचं शक्नोम्यत्तुम् । नोपहिनस्ति माम् ॥"),
2021 },
2022 "",
2023 nil,
2024 },
2025 // Valid, I Can Eat Glass (Urdu)
2026 {
2027 []byte("<1>1 - - - - - - میں کانچ کھا سکتا ہوں اور مجھے تکلیف نہیں ہوتی ۔"),
2028 true,
2029 &SyslogMessage{
2030 priority: getUint8Address(1),
2031 facility: getUint8Address(0),
2032 severity: getUint8Address(1),
2033 version: 1,
2034 message: getStringAddress("میں کانچ کھا سکتا ہوں اور مجھے تکلیف نہیں ہوتی ۔"),
2035 },
2036 "",
2037 nil,
2038 },
2039 // Valid, I Can Eat Glass (Yiddish)
2040 {
2041 []byte("<1>1 - - - - - - איך קען עסן גלאָז און עס טוט מיר נישט װײ."),
2042 true,
2043 &SyslogMessage{
2044 priority: getUint8Address(1),
2045 facility: getUint8Address(0),
2046 severity: getUint8Address(1),
2047 version: 1,
2048 message: getStringAddress("איך קען עסן גלאָז און עס טוט מיר נישט װײ."),
2049 },
2050 "",
2051 nil,
2052 },
2053 // Valid, I Can Eat Glass (Polish)
2054 {
2055 []byte("<1>1 - - - - - - Mogę jeść szkło, i mi nie szkodzi."),
2056 true,
2057 &SyslogMessage{
2058 priority: getUint8Address(1),
2059 facility: getUint8Address(0),
2060 severity: getUint8Address(1),
2061 version: 1,
2062 message: getStringAddress("Mogę jeść szkło, i mi nie szkodzi."),
2063 },
2064 "",
2065 nil,
2066 },
2067 // Valid, I Can Eat Glass (Japanese)
2068 {
2069 []byte("<1>1 - - - - - - 私はガラスを食べられます。それは私を傷つけません。"),
2070 true,
2071 &SyslogMessage{
2072 priority: getUint8Address(1),
2073 facility: getUint8Address(0),
2074 severity: getUint8Address(1),
2075 version: 1,
2076 message: getStringAddress("私はガラスを食べられます。それは私を傷つけません。"),
2077 },
2078 "",
2079 nil,
2080 },
2081 // Valid, I Can Eat Glass (Arabic)
2082 {
2083 []byte("<1>1 - - - - - - أنا قادر على أكل الزجاج و هذا لا يؤلمني."),
2084 true,
2085 &SyslogMessage{
2086 priority: getUint8Address(1),
2087 facility: getUint8Address(0),
2088 severity: getUint8Address(1),
2089 version: 1,
2090 message: getStringAddress("أنا قادر على أكل الزجاج و هذا لا يؤلمني."),
2091 },
2092 "",
2093 nil,
2094 },
2095 // Valid, russian alphabet
2096 {
2097 []byte("<1>1 - - - - - - абвгдеёжзийклмнопрстуфхцчшщъыьэюя"),
2098 true,
2099 &SyslogMessage{
2100 priority: getUint8Address(1),
2101 facility: getUint8Address(0),
2102 severity: getUint8Address(1),
2103 version: 1,
2104 message: getStringAddress("абвгдеёжзийклмнопрстуфхцчшщъыьэюя"),
2105 },
2106 "",
2107 nil,
2108 },
2109 // Valid, armenian letters
2110 {
2111 []byte("<1>1 - - - - - - ԰ԱԲԳԴԵԶԷԸԹԺԻԼԽԾԿՀՁՂՃՄՅՆՇՈՉՊՋՌՍՎՏՐՑՒՓՔՕՖ՗՘ՙ՚՛՜՝՞՟աբգդեզէըթիլխծկհձղճմյնշոչպջռսվտրցւփքօֆևֈ։֊֋֌֍֎֏"),
2112 true,
2113 &SyslogMessage{
2114 priority: getUint8Address(1),
2115 facility: getUint8Address(0),
2116 severity: getUint8Address(1),
2117 version: 1,
2118 message: getStringAddress("\u0530ԱԲԳԴԵԶԷԸԹԺԻԼԽԾԿՀՁՂՃՄՅՆՇՈՉՊՋՌՍՎՏՐՑՒՓՔՕՖ\u0557\u0558ՙ՚՛՜՝՞՟աբգդեզէըթիլխծկհձղճմյնշոչպջռսվտրցւփքօֆև\u0588։֊\u058b\u058c֍֎֏"),
2119 },
2120 "",
2121 nil,
2122 },
2123 // Valid, new line within message
2124 {
2125 []byte("<1>1 - - - - - - x\x0Ay"),
2126 true,
2127 &SyslogMessage{
2128 facility: getUint8Address(0),
2129 severity: getUint8Address(1),
2130 priority: getUint8Address(1),
2131 version: 1,
2132 message: getStringAddress("x\ny"),
2133 },
2134 "",
2135 nil,
2136 },
2137 {
2138 []byte(`<1>2 - - - - - - x
2139 y`),
2140 true,
2141 &SyslogMessage{
2142 facility: getUint8Address(0),
2143 severity: getUint8Address(1),
2144 priority: getUint8Address(1),
2145 version: 2,
2146 message: getStringAddress("x\ny"),
2147 },
2148 "",
2149 nil,
2150 },
2151 // Invalid, out of range code within message
2152 {
2153 []byte("<1>1 - - - - - - \xEF\xBB\xBF\xC1"),
2154 false,
2155 nil,
2156 "expecting a free-form optional message in UTF-8 (starting with or without BOM) [col 20]",
2157 &SyslogMessage{
2158 priority: getUint8Address(1),
2159 facility: getUint8Address(0),
2160 severity: getUint8Address(1),
2161 version: 1,
2162 message: getStringAddress("\xEF\xBB\xBF"),
2163 },
2164 },
2165 {
2166 []byte("<1>2 - - - - - - \xC1"),
2167 false,
2168 nil,
2169 "expecting a free-form optional message in UTF-8 (starting with or without BOM) [col 17]",
2170 &SyslogMessage{
2171 priority: getUint8Address(1),
2172 facility: getUint8Address(0),
2173 severity: getUint8Address(1),
2174 version: 2,
2175 },
2176 },
2177 {
2178 []byte("<1>1 - - - - - - \xEF\xBB\xBF\xc3\x28"), // invalid 2 octet sequence
2179 false,
2180 nil,
2181 "expecting a free-form optional message in UTF-8 (starting with or without BOM) [col 21]",
2182 &SyslogMessage{
2183 priority: getUint8Address(1),
2184 facility: getUint8Address(0),
2185 severity: getUint8Address(1),
2186 version: 1,
2187 message: getStringAddress("\xEF\xBB\xBF\xc3"),
2188 },
2189 },
2190 {
2191 []byte("<1>1 - - - - - - \xc3\x28"), // invalid 2 octet sequence
2192 false,
2193 nil,
2194 "expecting a free-form optional message in UTF-8 (starting with or without BOM) [col 18]",
2195 &SyslogMessage{
2196 priority: getUint8Address(1),
2197 facility: getUint8Address(0),
2198 severity: getUint8Address(1),
2199 version: 1,
2200 message: getStringAddress("\xc3"),
2201 },
2202 },
2203 {
2204 []byte("<1>1 - - - - - - \xEF\xBB\xBF\xa0\xa1"), // invalid sequence identifier
2205 false,
2206 nil,
2207 "expecting a free-form optional message in UTF-8 (starting with or without BOM) [col 20]",
2208 &SyslogMessage{
2209 priority: getUint8Address(1),
2210 facility: getUint8Address(0),
2211 severity: getUint8Address(1),
2212 version: 1,
2213 message: getStringAddress("\xEF\xBB\xBF"),
2214 },
2215 },
2216 {
2217 []byte("<1>1 - - - - - - \xa0\xa1"), // invalid sequence identifier
2218 false,
2219 nil,
2220 "expecting a free-form optional message in UTF-8 (starting with or without BOM) [col 17]",
2221 &SyslogMessage{
2222 priority: getUint8Address(1),
2223 facility: getUint8Address(0),
2224 severity: getUint8Address(1),
2225 version: 1,
2226 },
2227 },
2228 {
2229 []byte("<1>1 - - - - - - \xEF\xBB\xBF\xe2\x28\xa1"), // invalid 3 octet sequence (2nd octet)
2230 false,
2231 nil,
2232 "expecting a free-form optional message in UTF-8 (starting with or without BOM) [col 21]",
2233 &SyslogMessage{
2234 priority: getUint8Address(1),
2235 facility: getUint8Address(0),
2236 severity: getUint8Address(1),
2237 version: 1,
2238 message: getStringAddress("\xEF\xBB\xBF\xe2"),
2239 },
2240 },
2241 {
2242 []byte("<1>1 - - - - - - \xe2\x28\xa1"), // invalid 3 octet sequence (2nd octet)
2243 false,
2244 nil,
2245 "expecting a free-form optional message in UTF-8 (starting with or without BOM) [col 18]",
2246 &SyslogMessage{
2247 priority: getUint8Address(1),
2248 facility: getUint8Address(0),
2249 severity: getUint8Address(1),
2250 version: 1,
2251 message: getStringAddress("\xe2"),
2252 },
2253 },
2254 {
2255 []byte("<1>1 - - - - - - \xEF\xBB\xBF\xe2\x82\x28"), // invalid 3 octet sequence (3nd octet)
2256 false,
2257 nil,
2258 "expecting a free-form optional message in UTF-8 (starting with or without BOM) [col 22]",
2259 &SyslogMessage{
2260 priority: getUint8Address(1),
2261 facility: getUint8Address(0),
2262 severity: getUint8Address(1),
2263 version: 1,
2264 message: getStringAddress("\xEF\xBB\xBF\xe2\x82"),
2265 },
2266 },
2267 {
2268 []byte("<1>1 - - - - - - \xe2\x82\x28"), // invalid 3 octet sequence (3nd octet)
2269 false,
2270 nil,
2271 "expecting a free-form optional message in UTF-8 (starting with or without BOM) [col 19]",
2272 &SyslogMessage{
2273 priority: getUint8Address(1),
2274 facility: getUint8Address(0),
2275 severity: getUint8Address(1),
2276 version: 1,
2277 message: getStringAddress("\xe2\x82"),
2278 },
2279 },
2280 {
2281 []byte("<1>1 - - - - - - \xEF\xBB\xBF\xf0\x28\x8c\xbc"), // invalid 4 octet sequence (2nd octet)
2282 false,
2283 nil,
2284 "expecting a free-form optional message in UTF-8 (starting with or without BOM) [col 21]",
2285 &SyslogMessage{
2286 priority: getUint8Address(1),
2287 facility: getUint8Address(0),
2288 severity: getUint8Address(1),
2289 version: 1,
2290 message: getStringAddress("\xEF\xBB\xBF\xf0"),
2291 },
2292 },
2293 {
2294 []byte("<1>1 - - - - - - \xf0\x28\x8c\xbc"), // invalid 4 octet sequence (2nd octet)
2295 false,
2296 nil,
2297 "expecting a free-form optional message in UTF-8 (starting with or without BOM) [col 18]",
2298 &SyslogMessage{
2299 priority: getUint8Address(1),
2300 facility: getUint8Address(0),
2301 severity: getUint8Address(1),
2302 version: 1,
2303 message: getStringAddress("\xf0"),
2304 },
2305 },
2306 {
2307 []byte("<1>1 - - - - - - \xEF\xBB\xBF\xf0\x90\x28\xbc"), // invalid 4 octet sequence (3nd octet)
2308 false,
2309 nil,
2310 "expecting a free-form optional message in UTF-8 (starting with or without BOM) [col 22]",
2311 &SyslogMessage{
2312 priority: getUint8Address(1),
2313 facility: getUint8Address(0),
2314 severity: getUint8Address(1),
2315 version: 1,
2316 message: getStringAddress("\xEF\xBB\xBF\xf0\x90"),
2317 },
2318 },
2319 {
2320 []byte("<1>1 - - - - - - \xf0\x90\x28\xbc"), // invalid 4 octet sequence (3nd octet)
2321 false,
2322 nil,
2323 "expecting a free-form optional message in UTF-8 (starting with or without BOM) [col 19]",
2324 &SyslogMessage{
2325 priority: getUint8Address(1),
2326 facility: getUint8Address(0),
2327 severity: getUint8Address(1),
2328 version: 1,
2329 message: getStringAddress("\xf0\x90"),
2330 },
2331 },
2332 {
2333 []byte("<1>1 - - - - - - \xEF\xBB\xBF\xf0\x28\x8c\x28"), // invalid 4 octet sequence (4nd octet)
2334 false,
2335 nil,
2336 "expecting a free-form optional message in UTF-8 (starting with or without BOM) [col 21]",
2337 &SyslogMessage{
2338 priority: getUint8Address(1),
2339 facility: getUint8Address(0),
2340 severity: getUint8Address(1),
2341 version: 1,
2342 message: getStringAddress("\xEF\xBB\xBF\xf0"),
2343 },
2344 },
2345 {
2346 []byte("<1>1 - - - - - - \xf0\x28\x8c\x28"), // invalid 4 octet sequence (4nd octet)
2347 false,
2348 nil,
2349 "expecting a free-form optional message in UTF-8 (starting with or without BOM) [col 18]",
2350 &SyslogMessage{
2351 priority: getUint8Address(1),
2352 facility: getUint8Address(0),
2353 severity: getUint8Address(1),
2354 version: 1,
2355 message: getStringAddress("\xf0"),
2356 },
2357 },
2358 // Invalid, impossible bytes
2359 {
2360 []byte("<1>1 - - - - - - \xfe\xfe\xff\xff"),
2361 false,
2362 nil,
2363 "expecting a free-form optional message in UTF-8 (starting with or without BOM) [col 17]",
2364 &SyslogMessage{
2365 priority: getUint8Address(1),
2366 facility: getUint8Address(0),
2367 severity: getUint8Address(1),
2368 version: 1,
2369 },
2370 },
2371 {
2372 []byte("<1>1 - - - - - - \xfe"),
2373 false,
2374 nil,
2375 "expecting a free-form optional message in UTF-8 (starting with or without BOM) [col 17]",
2376 &SyslogMessage{
2377 priority: getUint8Address(1),
2378 facility: getUint8Address(0),
2379 severity: getUint8Address(1),
2380 version: 1,
2381 },
2382 },
2383 {
2384 []byte("<1>1 - - - - - - \xff"),
2385 false,
2386 nil,
2387 "expecting a free-form optional message in UTF-8 (starting with or without BOM) [col 17]",
2388 &SyslogMessage{
2389 priority: getUint8Address(1),
2390 facility: getUint8Address(0),
2391 severity: getUint8Address(1),
2392 version: 1,
2393 },
2394 },
2395 // Invalid, overlong sequences
2396 {
2397 []byte("<1>1 - - - - - - \xfc\x80\x80\x80\x80\xaf"),
2398 false,
2399 nil,
2400 "expecting a free-form optional message in UTF-8 (starting with or without BOM) [col 17]",
2401 &SyslogMessage{
2402 priority: getUint8Address(1),
2403 facility: getUint8Address(0),
2404 severity: getUint8Address(1),
2405 version: 1,
2406 },
2407 },
2408 {
2409 []byte("<1>1 - - - - - - \xf8\x80\x80\x80\xaf"),
2410 false,
2411 nil,
2412 "expecting a free-form optional message in UTF-8 (starting with or without BOM) [col 17]",
2413 &SyslogMessage{
2414 priority: getUint8Address(1),
2415 facility: getUint8Address(0),
2416 severity: getUint8Address(1),
2417 version: 1,
2418 },
2419 },
2420 {
2421 []byte("<1>1 - - - - - - \xf0\x80\x80\xaf"),
2422 false,
2423 nil,
2424 "expecting a free-form optional message in UTF-8 (starting with or without BOM) [col 18]",
2425 &SyslogMessage{
2426 priority: getUint8Address(1),
2427 facility: getUint8Address(0),
2428 severity: getUint8Address(1),
2429 version: 1,
2430 message: getStringAddress("\xf0"),
2431 },
2432 },
2433 {
2434 []byte("<1>1 - - - - - - \xe0\x80\xaf"),
2435 false,
2436 nil,
2437 "expecting a free-form optional message in UTF-8 (starting with or without BOM) [col 18]",
2438 &SyslogMessage{
2439 priority: getUint8Address(1),
2440 facility: getUint8Address(0),
2441 severity: getUint8Address(1),
2442 version: 1,
2443 message: getStringAddress("\xe0"),
2444 },
2445 },
2446 {
2447 []byte("<1>1 - - - - - - \xc0\xaf"),
2448 false,
2449 nil,
2450 "expecting a free-form optional message in UTF-8 (starting with or without BOM) [col 17]",
2451 &SyslogMessage{
2452 priority: getUint8Address(1),
2453 facility: getUint8Address(0),
2454 severity: getUint8Address(1),
2455 version: 1,
2456 },
2457 },
2458 // Invalid, maximum overlong sequences
2459 {
2460 []byte("<1>1 - - - - - - \xfc\x83\xbf\xbf\xbf\xbf"),
2461 false,
2462 nil,
2463 "expecting a free-form optional message in UTF-8 (starting with or without BOM) [col 17]",
2464 &SyslogMessage{
2465 priority: getUint8Address(1),
2466 facility: getUint8Address(0),
2467 severity: getUint8Address(1),
2468 version: 1,
2469 },
2470 },
2471 {
2472 []byte("<1>1 - - - - - - \xf8\x87\xbf\xbf\xbf"),
2473 false,
2474 nil,
2475 "expecting a free-form optional message in UTF-8 (starting with or without BOM) [col 17]",
2476 &SyslogMessage{
2477 priority: getUint8Address(1),
2478 facility: getUint8Address(0),
2479 severity: getUint8Address(1),
2480 version: 1,
2481 },
2482 },
2483 {
2484 []byte("<1>1 - - - - - - \xf0\x8f\xbf\xbf"),
2485 false,
2486 nil,
2487 "expecting a free-form optional message in UTF-8 (starting with or without BOM) [col 18]",
2488 &SyslogMessage{
2489 priority: getUint8Address(1),
2490 facility: getUint8Address(0),
2491 severity: getUint8Address(1),
2492 version: 1,
2493 message: getStringAddress("\xf0"),
2494 },
2495 },
2496 {
2497 []byte("<1>1 - - - - - - \xe0\x9f\xbf"),
2498 false,
2499 nil,
2500 "expecting a free-form optional message in UTF-8 (starting with or without BOM) [col 18]",
2501 &SyslogMessage{
2502 priority: getUint8Address(1),
2503 facility: getUint8Address(0),
2504 severity: getUint8Address(1),
2505 version: 1,
2506 message: getStringAddress("\xe0"),
2507 },
2508 },
2509 {
2510 []byte("<1>1 - - - - - - \xc1\xbf"),
2511 false,
2512 nil,
2513 "expecting a free-form optional message in UTF-8 (starting with or without BOM) [col 17]",
2514 &SyslogMessage{
2515 priority: getUint8Address(1),
2516 facility: getUint8Address(0),
2517 severity: getUint8Address(1),
2518 version: 1,
2519 message: nil,
2520 },
2521 },
2522 // Invalid, illegal code positions, single utf-16 surrogates
2523 {
2524 []byte("<1>1 - - - - - - \xed\xa0\x80"),
2525 false,
2526 nil,
2527 "expecting a free-form optional message in UTF-8 (starting with or without BOM) [col 18]",
2528 &SyslogMessage{
2529 priority: getUint8Address(1),
2530 facility: getUint8Address(0),
2531 severity: getUint8Address(1),
2532 version: 1,
2533 message: getStringAddress("\xed"),
2534 },
2535 },
2536 {
2537 []byte("<1>1 - - - - - - \xed\xa0\x80"),
2538 false,
2539 nil,
2540 "expecting a free-form optional message in UTF-8 (starting with or without BOM) [col 18]",
2541 &SyslogMessage{
2542 priority: getUint8Address(1),
2543 facility: getUint8Address(0),
2544 severity: getUint8Address(1),
2545 version: 1,
2546 message: getStringAddress("\xed"),
2547 },
2548 },
2549 {
2550 []byte("<1>1 - - - - - - \xed\xad\xbf"),
2551 false,
2552 nil,
2553 "expecting a free-form optional message in UTF-8 (starting with or without BOM) [col 18]",
2554 &SyslogMessage{
2555 priority: getUint8Address(1),
2556 facility: getUint8Address(0),
2557 severity: getUint8Address(1),
2558 version: 1,
2559 message: getStringAddress("\xed"),
2560 },
2561 },
2562 {
2563 []byte("<1>1 - - - - - - \xed\xae\x80"),
2564 false,
2565 nil,
2566 "expecting a free-form optional message in UTF-8 (starting with or without BOM) [col 18]",
2567 &SyslogMessage{
2568 priority: getUint8Address(1),
2569 facility: getUint8Address(0),
2570 severity: getUint8Address(1),
2571 version: 1,
2572 message: getStringAddress("\xed"),
2573 },
2574 },
2575 {
2576 []byte("<1>1 - - - - - - \xed\xaf\xbf"),
2577 false,
2578 nil,
2579 "expecting a free-form optional message in UTF-8 (starting with or without BOM) [col 18]",
2580 &SyslogMessage{
2581 priority: getUint8Address(1),
2582 facility: getUint8Address(0),
2583 severity: getUint8Address(1),
2584 version: 1,
2585 message: getStringAddress("\xed"),
2586 },
2587 },
2588 {
2589 []byte("<1>1 - - - - - - \xed\xb0\x80"),
2590 false,
2591 nil,
2592 "expecting a free-form optional message in UTF-8 (starting with or without BOM) [col 18]",
2593 &SyslogMessage{
2594 priority: getUint8Address(1),
2595 facility: getUint8Address(0),
2596 severity: getUint8Address(1),
2597 version: 1,
2598 message: getStringAddress("\xed"),
2599 },
2600 },
2601 {
2602 []byte("<1>1 - - - - - - \xed\xbe\x80"),
2603 false,
2604 nil,
2605 "expecting a free-form optional message in UTF-8 (starting with or without BOM) [col 18]",
2606 &SyslogMessage{
2607 priority: getUint8Address(1),
2608 facility: getUint8Address(0),
2609 severity: getUint8Address(1),
2610 version: 1,
2611 message: getStringAddress("\xed"),
2612 },
2613 },
2614 {
2615 []byte("<1>1 - - - - - - \xed\xbf\xbf"),
2616 false,
2617 nil,
2618 "expecting a free-form optional message in UTF-8 (starting with or without BOM) [col 18]",
2619 &SyslogMessage{
2620 priority: getUint8Address(1),
2621 facility: getUint8Address(0),
2622 severity: getUint8Address(1),
2623 version: 1,
2624 message: getStringAddress("\xed"),
2625 },
2626 },
2627 // Invalid, illegal code positions, paired utf-16 surrogates
2628 {
2629 []byte("<1>1 - - - - - - \xed\xa0\x80\xed\xb0\x80"),
2630 false,
2631 nil,
2632 "expecting a free-form optional message in UTF-8 (starting with or without BOM) [col 18]",
2633 &SyslogMessage{
2634 priority: getUint8Address(1),
2635 facility: getUint8Address(0),
2636 severity: getUint8Address(1),
2637 version: 1,
2638 message: getStringAddress("\xed"),
2639 },
2640 },
2641 // Invalid, out of range code within message after valid string
2642 {
2643 []byte("<1>1 - - - - - - valid\xEF\xBB\xBF\xC1"),
2644 false,
2645 nil,
2646 "expecting a free-form optional message in UTF-8 (starting with or without BOM) [col 25]",
2647 &SyslogMessage{
2648 priority: getUint8Address(1),
2649 facility: getUint8Address(0),
2650 severity: getUint8Address(1),
2651 version: 1,
2652 message: getStringAddress("valid\ufeff"),
2653 },
2654 },
2655 // Invalid, missing whitespace after nil timestamp
2656 {
2657 []byte("<1>10 -- - - - -"),
2658 false,
2659 nil,
2660 "parsing error [col 7]",
2661 &SyslogMessage{
2662 priority: getUint8Address(1),
2663 facility: getUint8Address(0),
2664 severity: getUint8Address(1),
2665 version: 10,
2666 },
2667 },
2668
2669 // (fixme) > evaluate non characters for UTF-8 security concerns, eg. \xef\xbf\xbe
2670 }
2671
2672 func generateIncompleteTimestampTestCases() []testCase {
2673 incompleteTimestamp := []byte("2003-11-02T23:12:46.012345")
2674 prefix := []byte("<1>1 ")
2675 mex := &SyslogMessage{
2676 priority: getUint8Address(1),
2677 severity: getUint8Address(1),
2678 facility: getUint8Address(0),
2679 version: 1,
2680 }
2681 tCases := make([]testCase, 0, len(incompleteTimestamp))
2682 prev := make([]byte, 0, len(incompleteTimestamp))
2683 for i, d := range incompleteTimestamp {
2684 prev = append(prev, d)
2685 tc := testCase{
2686 input: append(prefix, prev...),
2687 valid: false,
2688 value: nil,
2689 errorString: fmt.Sprintf("expecting a RFC3339MICRO timestamp or a nil value [col %d]", len(prefix)+i+1),
2690 partialValue: mex,
2691 }
2692 tCases = append(tCases, tc)
2693 }
2694 return tCases
2695 }
2696
2697 func generateUntilMaxLengthStringTestCases(max []byte, pos int) []testCase {
2698 if pos < 0 || pos > 3 {
2699 panic("position not available")
2700 }
2701 templ := "<%d>%d - - - - - -"
2702 where := 9 + (pos * 2)
2703 templ = templ[:where] + "%s" + templ[where+1:]
2704
2705 tCases := []testCase{}
2706 prev := ""
2707 for _, c := range max {
2708 prev += string(c)
2709 randp := random(0, 9)
2710 randv := random(1, 9)
2711
2712 input := []byte(fmt.Sprintf(templ, randp, randv, prev))
2713
2714 mex := &SyslogMessage{
2715 priority: getUint8Address(uint8(randp)),
2716 severity: getUint8Address(uint8(randp % 8)),
2717 facility: getUint8Address(uint8(randp / 8)),
2718 version: uint16(randv),
2719 }
2720 switch pos {
2721 case 0:
2722 mex.hostname = getStringAddress(string(prev))
2723 case 1:
2724 mex.appname = getStringAddress(string(prev))
2725 case 2:
2726 mex.procID = getStringAddress(string(prev))
2727 case 3:
2728 mex.msgID = getStringAddress(string(prev))
2729 }
2730
2731 t := testCase{
2732 input,
2733 true,
2734 mex,
2735 "",
2736 nil,
2737 }
2738
2739 tCases = append(tCases, t)
2740 }
2741 return tCases
2742 }
2743
2744 func init() {
2745 rand.Seed(time.Now().Unix())
2746
2747 testCases = append(testCases, generateIncompleteTimestampTestCases()...)
2748
2749 hostnameMaxStr := []byte("abcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabc")
2750 testCases = append(testCases, generateUntilMaxLengthStringTestCases(hostnameMaxStr, 0)...)
2751
2752 appnameMaxStr := []byte("abcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdef")
2753 testCases = append(testCases, generateUntilMaxLengthStringTestCases(appnameMaxStr, 1)...)
2754
2755 procidMaxStr := []byte("abcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzab")
2756 testCases = append(testCases, generateUntilMaxLengthStringTestCases(procidMaxStr, 2)...)
2757
2758 msgidMaxStr := []byte("abcdefghilmnopqrstuvzabcdefghilm")
2759 testCases = append(testCases, generateUntilMaxLengthStringTestCases(msgidMaxStr, 3)...)
2760 }
2761
2762 func TestMachineBestEffortOption(t *testing.T) {
2763 p1 := NewMachine().(syslog.BestEfforter)
2764 assert.False(t, p1.HasBestEffort())
2765
2766 p2 := NewMachine(WithBestEffort()).(syslog.BestEfforter)
2767 assert.True(t, p2.HasBestEffort())
2768 }
2769
2770 func TestMachineParse(t *testing.T) {
2771 for _, tc := range testCases {
2772 tc := tc
2773 t.Run(rxpad(string(tc.input), 50), func(t *testing.T) {
2774 t.Parallel()
2775
2776 message, merr := NewMachine().Parse(tc.input)
2777 partial, perr := NewMachine(WithBestEffort()).Parse(tc.input)
2778
2779 if !tc.valid {
2780 assert.Nil(t, message)
2781 assert.Error(t, merr)
2782 assert.EqualError(t, merr, tc.errorString)
2783
2784 assert.Equal(t, tc.partialValue, partial)
2785 assert.EqualError(t, perr, tc.errorString)
2786 }
2787 if tc.valid {
2788 assert.Nil(t, merr)
2789 assert.NotEmpty(t, message)
2790 assert.Equal(t, message, partial)
2791 assert.Equal(t, merr, perr)
2792 }
2793
2794 assert.Equal(t, tc.value, message)
2795 })
2796 }
2797 }
0 package rfc5424
1
2 import (
3 "github.com/influxdata/go-syslog"
4 )
5
6 // WithBestEffort enables the best effort mode.
7 func WithBestEffort() syslog.MachineOption {
8 return func(m syslog.Machine) syslog.Machine {
9 m.WithBestEffort()
10 return m
11 }
12 }
0 package rfc5424
1
2 import (
3 "github.com/influxdata/go-syslog"
4 "sync"
5 )
6
7 // parser represent a RFC5424 parser with mutex capabilities.
8 type parser struct {
9 sync.Mutex
10 *machine
11 }
12
13 // NewParser creates a syslog.Machine that parses RFC5424 syslog messages.
14 func NewParser(options ...syslog.MachineOption) syslog.Machine {
15 p := &parser{
16 machine: NewMachine(options...).(*machine),
17 }
18
19 return p
20 }
21
22 // HasBestEffort tells whether the receiving parser has best effort mode on or off.
23 func (p *parser) HasBestEffort() bool {
24 return p.bestEffort
25 }
26
27 // Parse parses the input RFC5424 syslog message using its FSM.
28 //
29 // Best effort mode enables the partial parsing.
30 func (p *parser) Parse(input []byte) (syslog.Message, error) {
31 p.Lock()
32 defer p.Unlock()
33
34 msg, err := p.machine.Parse(input)
35 if err != nil {
36 if p.bestEffort {
37 return msg, err
38 }
39 return nil, err
40 }
41
42 return msg, nil
43 }
0 package rfc5424
1
2 import (
3 "testing"
4
5 "github.com/influxdata/go-syslog"
6 "github.com/stretchr/testify/assert"
7 )
8
9 func TestParserBestEffortOption(t *testing.T) {
10 p1 := NewParser().(syslog.BestEfforter)
11 assert.False(t, p1.HasBestEffort())
12
13 p2 := NewParser(WithBestEffort()).(syslog.BestEfforter)
14 assert.True(t, p2.HasBestEffort())
15 }
16
17 func TestParserParse(t *testing.T) {
18 p := NewParser()
19 pBest := NewParser(WithBestEffort())
20 for _, tc := range testCases {
21 tc := tc
22 t.Run(rxpad(string(tc.input), 50), func(t *testing.T) {
23 t.Parallel()
24
25 message, merr := p.Parse(tc.input)
26 partial, perr := pBest.Parse(tc.input)
27
28 if !tc.valid {
29 assert.Nil(t, message)
30 assert.Error(t, merr)
31 assert.EqualError(t, merr, tc.errorString)
32
33 assert.Equal(t, tc.partialValue, partial)
34 assert.EqualError(t, perr, tc.errorString)
35 }
36 if tc.valid {
37 assert.Nil(t, merr)
38 assert.NotEmpty(t, message)
39 assert.Equal(t, message, partial)
40 assert.Equal(t, merr, perr)
41 }
42
43 assert.Equal(t, tc.value, message)
44 })
45 }
46 }
0 package rfc5424
1
2 import (
3 "github.com/influxdata/go-syslog"
4 "testing"
5 )
6
7 // This is here to avoid compiler optimizations that
8 // could remove the actual call we are benchmarking
9 // during benchmarks
10 var benchParseResult syslog.Message
11
12 type benchCase struct {
13 input []byte
14 label string
15 }
16
17 var benchCases = []benchCase{
18 {
19 label: "[no] empty input",
20 input: []byte(``),
21 },
22 {
23 label: "[no] multiple syslog messages on multiple lines",
24 input: []byte("<1>1 - - - - - -\x0A<2>1 - - - - - -"),
25 },
26 {
27 label: "[no] impossible timestamp",
28 input: []byte(`<101>11 2003-09-31T22:14:15.003Z`),
29 },
30 {
31 label: "[no] malformed structured data",
32 input: []byte("<1>1 - - - - - X"),
33 },
34 {
35 label: "[no] with duplicated structured data id",
36 input: []byte("<165>3 2003-10-11T22:14:15.003Z example.com evnts - ID27 [id1][id1]"),
37 },
38 {
39 label: "[ok] minimal",
40 input: []byte(`<1>1 - - - - - -`),
41 },
42 {
43 label: "[ok] average message",
44 input: []byte(`<29>1 2016-02-21T04:32:57+00:00 web1 someservice - - [origin x-service="someservice"][meta sequenceId="14125553"] 127.0.0.1 - - 1456029177 "GET /v1/ok HTTP/1.1" 200 145 "-" "hacheck 0.9.0" 24306 127.0.0.1:40124 575`),
45 },
46 {
47 label: "[ok] complicated message",
48 input: []byte(`<78>1 2016-01-15T00:04:01Z host1 CROND 10391 - [meta sequenceId="29" sequenceBlah="foo"][my key="value"] some_message`),
49 },
50 {
51 label: "[ok] very long message",
52 input: []byte(`<190>1 2016-02-21T01:19:11+00:00 batch6sj - - - [meta sequenceId="21881798" x-group="37051387"][origin x-service="tracking"] metascutellar conversationalist nephralgic exogenetic graphy streng outtaken acouasm amateurism prenotice Lyonese bedull antigrammatical diosphenol gastriloquial bayoneteer sweetener naggy roughhouser dighter addend sulphacid uneffectless ferroprussiate reveal Mazdaist plaudite Australasian distributival wiseman rumness Seidel topazine shahdom sinsion mesmerically pinguedinous ophthalmotonometer scuppler wound eciliate expectedly carriwitchet dictatorialism bindweb pyelitic idic atule kokoon poultryproof rusticial seedlip nitrosate splenadenoma holobenthic uneternal Phocaean epigenic doubtlessly indirection torticollar robomb adoptedly outspeak wappenschawing talalgia Goop domitic savola unstrafed carded unmagnified mythologically orchester obliteration imperialine undisobeyed galvanoplastical cycloplegia quinquennia foremean umbonal marcgraviaceous happenstance theoretical necropoles wayworn Igbira pseudoangelic raising unfrounced lamasary centaurial Japanolatry microlepidoptera`),
53 },
54 {
55 label: "[ok] all max length and complete",
56 input: []byte(`<191>999 2018-12-31T23:59:59.999999-23:59 abcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabc abcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdef abcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzab abcdefghilmnopqrstuvzabcdefghilm [an@id key1="val1" key2="val2"][another@id key1="val1"] Some message "GET"`),
57 },
58 {
59 label: "[ok] all max length except structured data and message",
60 input: []byte(`<191>999 2018-12-31T23:59:59.999999-23:59 abcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabc abcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdef abcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzabcdefghilmnopqrstuvzab abcdefghilmnopqrstuvzabcdefghilm -`),
61 },
62 {
63 label: "[ok] minimal with message containing newline",
64 input: []byte("<1>1 - - - - - - x\x0Ay"),
65 },
66 {
67 label: "[ok] w/o procid, w/o structured data, with message starting with BOM",
68 input: []byte("<34>1 2003-10-11T22:14:15.003Z mymachine.example.com su - ID47 - \xEF\xBB\xBF'su root' failed for lonvick on /dev/pts/8"),
69 },
70 {
71 label: "[ok] minimal with UTF-8 message",
72 input: []byte("<0>1 - - - - - - ⠊⠀⠉⠁⠝⠀⠑⠁⠞⠀⠛⠇⠁⠎⠎⠀⠁⠝⠙⠀⠊⠞⠀⠙⠕⠑⠎⠝⠞⠀⠓⠥⠗⠞⠀⠍⠑"),
73 },
74 {
75 label: "[ok] with structured data id, w/o structured data params",
76 input: []byte(`<29>50 2016-01-15T01:00:43Z hn S - - [my@id]`),
77 },
78 {
79 label: "[ok] with multiple structured data",
80 input: []byte(`<29>50 2016-01-15T01:00:43Z hn S - - [my@id1 k="v"][my@id2 c="val"]`),
81 },
82 {
83 label: "[ok] with escaped backslash within structured data param value, with message",
84 input: []byte(`<29>50 2016-01-15T01:00:43Z hn S - - [meta es="\\valid"] 1452819643`),
85 },
86 {
87 label: "[ok] with UTF-8 structured data param value, with message",
88 input: []byte(`<78>1 2016-01-15T00:04:01+00:00 host1 CROND 10391 - [sdid x="⌘"] some_message`),
89 },
90 }
91
92 func BenchmarkParse(b *testing.B) {
93 for _, tc := range benchCases {
94 tc := tc
95 b.Run(rxpad(tc.label, 50), func(b *testing.B) {
96 for i := 0; i < b.N; i++ {
97 benchParseResult, _ = NewMachine(WithBestEffort()).Parse(tc.input)
98 }
99 })
100 }
101 }
0 %%{
1 machine rfc5424;
2
3 # whitespace
4 sp = ' ';
5
6 # closing square bracket
7 csb = ']';
8
9 # double quote
10 dq = '"';
11
12 # backslash
13 bs = 0x5C;
14
15 # ", ], \
16 toescape = (dq | csb | bs);
17
18 # 0..59
19 sexagesimal = '0'..'5' . '0'..'9';
20
21 # 01..31
22 datemday = ('0' . '1'..'9' | '1'..'2' . '0'..'9' | '3' . '0'..'1');
23
24 # 01..12
25 datemonth = ('0' . '1'..'9' | '1' . '0'..'2');
26
27 datefullyear = digit{4};
28
29 fulldate = datefullyear '-' datemonth '-' datemday;
30
31 # 01..23
32 timehour = ('0'..'1' . '0'..'9' | '2' . '0'..'3');
33
34 timeminute = sexagesimal;
35
36 timesecond = sexagesimal;
37
38 timesecfrac = '.' digit{1,6};
39
40 timenumoffset = ('+' | '-') timehour ':' timeminute;
41
42 timeoffset = 'Z' | timenumoffset;
43
44 partialtime = timehour ':' timeminute ':' timesecond . timesecfrac?;
45
46 fulltime = partialtime . timeoffset;
47
48 printusascii = '!'..'~';
49
50 hostnamerange = printusascii{1,255};
51
52 appnamerange = printusascii{1,48};
53
54 procidrange = printusascii{1,128};
55
56 msgidrange = printusascii{1,32};
57
58 sdname = (printusascii - ('=' | sp | csb | dq)){1,32};
59
60 # rfc 3629
61 utf8tail = 0x80..0xBF;
62
63 utf81 = 0x00..0x7F;
64
65 utf82 = 0xC2..0xDF utf8tail;
66
67 utf83 = 0xE0 0xA0..0xBF utf8tail | 0xE1..0xEC utf8tail{2} | 0xED 0x80..0x9F utf8tail | 0xEE..0xEF utf8tail{2};
68
69 utf84 = 0xF0 0x90..0xBF utf8tail{2} | 0xF1..0xF3 utf8tail{3} | 0xF4 0x80..0x8F utf8tail{2};
70
71 utf8char = utf81 | utf82 | utf83 | utf84;
72
73 utf8octets = utf8char*;
74
75 bom = 0xEF 0xBB 0xBF;
76
77 # utf8char except ", ], \
78 utf8charwodelims = utf8char - toescape;
79
80 }%%
0 package rfc5424
1
2 import (
3 "time"
4 )
5
6 type syslogMessage struct {
7 prioritySet bool // We explictly flag the setting of priority since its zero value is a valid priority by RFC 5424
8 timestampSet bool // We explictly flag the setting of timestamp since its zero value is a valid timestamp by RFC 5424
9 hasElements bool
10 priority uint8
11 version uint16
12 timestamp time.Time
13 hostname string
14 appname string
15 procID string
16 msgID string
17 structuredData map[string]map[string]string
18 message string
19 }
20
21 func (sm *syslogMessage) valid() bool {
22 if sm.prioritySet && sm.version > 0 && sm.version <= 999 {
23 return true
24 }
25
26 return false
27 }
28
29 func (sm *syslogMessage) export() *SyslogMessage {
30 out := &SyslogMessage{}
31 if sm.prioritySet {
32 out.setPriority(sm.priority)
33 }
34 if sm.version > 0 && sm.version <= 999 {
35 out.version = sm.version
36 }
37 if sm.timestampSet {
38 out.timestamp = &sm.timestamp
39 }
40 if sm.hostname != "-" && sm.hostname != "" {
41 out.hostname = &sm.hostname
42 }
43 if sm.appname != "-" && sm.appname != "" {
44 out.appname = &sm.appname
45 }
46 if sm.procID != "-" && sm.procID != "" {
47 out.procID = &sm.procID
48 }
49 if sm.msgID != "-" && sm.msgID != "" {
50 out.msgID = &sm.msgID
51 }
52 if sm.hasElements {
53 out.structuredData = &sm.structuredData
54 }
55 if sm.message != "" {
56 out.message = &sm.message
57 }
58
59 return out
60 }
61
62 // SyslogMessage represents a syslog message.
63 type SyslogMessage struct {
64 priority *uint8
65 facility *uint8
66 severity *uint8
67 version uint16 // Grammar mandates that version cannot be 0, so we can use the 0 value of uint16 to signal nil
68 timestamp *time.Time
69 hostname *string
70 appname *string
71 procID *string
72 msgID *string
73 structuredData *map[string]map[string]string
74 message *string
75 }
76
77 // Valid tells whether the receiving SyslogMessage is well-formed or not.
78 //
79 // A minimally well-formed syslog message contains at least a priority ([1, 191] or 0) and the version (]0, 999]).
80 func (sm *SyslogMessage) Valid() bool {
81 // A nil priority or a 0 version means that the message is not valid
82 // Not checking the priority range since it's parser responsibility
83 if sm.priority != nil && *sm.priority >= 0 && *sm.priority <= 191 && sm.version > 0 && sm.version <= 999 {
84 return true
85 }
86
87 return false
88 }
89
90 // Priority returns the syslog priority or nil when not set
91 func (sm *SyslogMessage) Priority() *uint8 {
92 return sm.priority
93 }
94
95 // Version returns the syslog version or nil when not set
96 func (sm *SyslogMessage) Version() uint16 {
97 return sm.version
98 }
99 func (sm *SyslogMessage) setPriority(value uint8) {
100 sm.priority = &value
101 facility := uint8(value / 8)
102 severity := uint8(value % 8)
103 sm.facility = &facility
104 sm.severity = &severity
105 }
106
107 // Facility returns the facility code.
108 func (sm *SyslogMessage) Facility() *uint8 {
109 return sm.facility
110 }
111
112 // Severity returns the severity code.
113 func (sm *SyslogMessage) Severity() *uint8 {
114 return sm.severity
115 }
116
117 // FacilityMessage returns the text message for the current facility value.
118 func (sm *SyslogMessage) FacilityMessage() *string {
119 if sm.facility != nil {
120 msg := facilities[*sm.facility]
121 return &msg
122 }
123
124 return nil
125 }
126
127 // FacilityLevel returns the
128 func (sm *SyslogMessage) FacilityLevel() *string {
129 if sm.facility != nil {
130 if msg, ok := facilityKeywords[*sm.facility]; ok {
131 return &msg
132 }
133
134 // Fallback to facility message
135 msg := facilities[*sm.facility]
136 return &msg
137 }
138
139 return nil
140 }
141
142 // SeverityMessage returns the text message for the current severity value.
143 func (sm *SyslogMessage) SeverityMessage() *string {
144 if sm.severity != nil {
145 msg := severityMessages[*sm.severity]
146 return &msg
147 }
148
149 return nil
150 }
151
152 // SeverityLevel returns the text level for the current severity value.
153 func (sm *SyslogMessage) SeverityLevel() *string {
154 if sm.severity != nil {
155 msg := severityLevels[*sm.severity]
156 return &msg
157 }
158
159 return nil
160 }
161
162 // SeverityShortLevel returns the short text level for the current severity value.
163 func (sm *SyslogMessage) SeverityShortLevel() *string {
164 if sm.severity != nil {
165 msg := severityLevelsShort[*sm.severity]
166 return &msg
167 }
168
169 return nil
170 }
171
172 var severityMessages = map[uint8]string{
173 0: "system is unusable",
174 1: "action must be taken immediately",
175 2: "critical conditions",
176 3: "error conditions",
177 4: "warning conditions",
178 5: "normal but significant condition",
179 6: "informational messages",
180 7: "debug-level messages",
181 }
182
183 var severityLevels = map[uint8]string{
184 0: "emergency",
185 1: "alert",
186 2: "critical",
187 3: "error",
188 4: "warning",
189 5: "notice",
190 6: "informational",
191 7: "debug",
192 }
193
194 // As per https://github.com/torvalds/linux/blob/master/tools/include/linux/kern_levels.h and syslog(3)
195 var severityLevelsShort = map[uint8]string{
196 0: "emerg",
197 1: "alert",
198 2: "crit",
199 3: "err",
200 4: "warning",
201 5: "notice",
202 6: "info",
203 7: "debug",
204 }
205
206 var facilities = map[uint8]string{
207 0: "kernel messages",
208 1: "user-level messages",
209 2: "mail system",
210 3: "system daemons",
211 4: "security/authorization messages",
212 5: "messages generated internally by syslogd",
213 6: "line printer subsystem",
214 7: "network news subsystem",
215 8: "UUCP subsystem",
216 9: "clock daemon",
217 10: "security/authorization messages",
218 11: "FTP daemon",
219 12: "NTP subsystem",
220 13: "log audit",
221 14: "log alert",
222 15: "clock daemon (note 2)", // (todo) > some sources reporting "scheduling daemon"
223 16: "local use 0 (local0)",
224 17: "local use 1 (local1)",
225 18: "local use 2 (local2)",
226 19: "local use 3 (local3)",
227 20: "local use 4 (local4)",
228 21: "local use 5 (local5)",
229 22: "local use 6 (local6)",
230 23: "local use 7 (local7)",
231 }
232
233 // As per syslog(3)
234 var facilityKeywords = map[uint8]string{
235 0: "kern",
236 1: "user",
237 2: "mail",
238 3: "daemon",
239 4: "auth",
240 5: "syslog",
241 6: "lpr",
242 7: "news",
243 8: "uucp",
244 10: "authpriv",
245 11: "ftp",
246 15: "cron",
247 16: "local0",
248 17: "local1",
249 18: "local2",
250 19: "local3",
251 20: "local4",
252 21: "local5",
253 22: "local6",
254 23: "local7",
255 }
256
257 // Timestamp returns the syslog timestamp or nil when not set
258 func (sm *SyslogMessage) Timestamp() *time.Time {
259 return sm.timestamp
260 }
261
262 // Hostname returns the syslog hostname or nil when not set
263 func (sm *SyslogMessage) Hostname() *string {
264 return sm.hostname
265 }
266
267 // ProcID returns the syslog proc ID or nil when not set
268 func (sm *SyslogMessage) ProcID() *string {
269 return sm.procID
270 }
271
272 // Appname returns the syslog appname or nil when not set
273 func (sm *SyslogMessage) Appname() *string {
274 return sm.appname
275 }
276
277 // MsgID returns the syslog msg ID or nil when not set
278 func (sm *SyslogMessage) MsgID() *string {
279 return sm.msgID
280 }
281
282 // Message returns the syslog message or nil when not set
283 func (sm *SyslogMessage) Message() *string {
284 return sm.message
285 }
286
287 // StructuredData returns the syslog structured data or nil when not set
288 func (sm *SyslogMessage) StructuredData() *map[string]map[string]string {
289 return sm.structuredData
290 }
0 // Package syslog provides generic interfaces and structs for syslog messages and transport.
1 // Subpackages contains various parsers or scanners for different syslog formats.
2 package syslog
3
4 import (
5 "io"
6 "time"
7 )
8
9 // BestEfforter is an interface that wraps the HasBestEffort method.
10 type BestEfforter interface {
11 WithBestEffort()
12 HasBestEffort() bool
13 }
14
15 // Machine represent a FSM able to parse an entire syslog message and return it in an structured way.
16 type Machine interface {
17 Parse(input []byte) (Message, error)
18 BestEfforter
19 }
20
21 // MachineOption represents the type of option setters for Machine instances.
22 type MachineOption func(m Machine) Machine
23
24 // Parser is an interface that wraps the Parse method.
25 type Parser interface {
26 Parse(r io.Reader)
27 WithListener(ParserListener)
28 BestEfforter
29 }
30
31 // ParserOption represent the type of option setters for Parser instances.
32 type ParserOption func(p Parser) Parser
33
34 // ParserListener is a function that receives syslog parsing results, one by one.
35 type ParserListener func(*Result)
36
37 // Result wraps the outcomes obtained parsing a syslog message.
38 type Result struct {
39 Message Message
40 Error error
41 }
42
43 // Message represent a structured representation of a syslog message.
44 type Message interface {
45 Valid() bool
46 Priority() *uint8
47 Version() uint16
48 Facility() *uint8
49 Severity() *uint8
50 FacilityMessage() *string
51 FacilityLevel() *string
52 SeverityMessage() *string
53 SeverityLevel() *string
54 SeverityShortLevel() *string
55 Timestamp() *time.Time
56 Hostname() *string
57 ProcID() *string
58 Appname() *string
59 MsgID() *string
60 Message() *string
61 StructuredData() *map[string]map[string]string
62 }