UNPKG

581 kBJavaScriptView Raw
1module.exports = (function(){
2 /* Generated by PEG.js 0.6.2 (http://pegjs.majda.cz/). */
3
4 var result = {
5 /*
6 * Parses the input with a generated parser. If the parsing is successfull,
7 * returns a value explicitly or implicitly specified by the grammar from
8 * which the parser was generated (see |PEG.buildParser|). If the parsing is
9 * unsuccessful, throws |PEG.parser.SyntaxError| describing the error.
10 */
11 parse: function(input, startRule) {
12 var parseFunctions = {
13 "AdditiveExpression": parse_AdditiveExpression,
14 "AdditiveOperator": parse_AdditiveOperator,
15 "ArgumentList": parse_ArgumentList,
16 "Arguments": parse_Arguments,
17 "ArrayLiteral": parse_ArrayLiteral,
18 "AssignmentExpression": parse_AssignmentExpression,
19 "AssignmentExpressionNoIn": parse_AssignmentExpressionNoIn,
20 "AssignmentOperator": parse_AssignmentOperator,
21 "BitwiseANDExpression": parse_BitwiseANDExpression,
22 "BitwiseANDExpressionNoIn": parse_BitwiseANDExpressionNoIn,
23 "BitwiseANDOperator": parse_BitwiseANDOperator,
24 "BitwiseORExpression": parse_BitwiseORExpression,
25 "BitwiseORExpressionNoIn": parse_BitwiseORExpressionNoIn,
26 "BitwiseOROperator": parse_BitwiseOROperator,
27 "BitwiseXORExpression": parse_BitwiseXORExpression,
28 "BitwiseXORExpressionNoIn": parse_BitwiseXORExpressionNoIn,
29 "BitwiseXOROperator": parse_BitwiseXOROperator,
30 "Block": parse_Block,
31 "BooleanLiteral": parse_BooleanLiteral,
32 "BreakStatement": parse_BreakStatement,
33 "BreakToken": parse_BreakToken,
34 "CallExpression": parse_CallExpression,
35 "CaseBlock": parse_CaseBlock,
36 "CaseClause": parse_CaseClause,
37 "CaseClauses": parse_CaseClauses,
38 "CaseToken": parse_CaseToken,
39 "Catch": parse_Catch,
40 "CatchToken": parse_CatchToken,
41 "CharacterEscapeSequence": parse_CharacterEscapeSequence,
42 "Comment": parse_Comment,
43 "ConditionalExpression": parse_ConditionalExpression,
44 "ConditionalExpressionNoIn": parse_ConditionalExpressionNoIn,
45 "ContinueStatement": parse_ContinueStatement,
46 "ContinueToken": parse_ContinueToken,
47 "DebuggerStatement": parse_DebuggerStatement,
48 "DebuggerToken": parse_DebuggerToken,
49 "DecimalDigit": parse_DecimalDigit,
50 "DecimalDigits": parse_DecimalDigits,
51 "DecimalIntegerLiteral": parse_DecimalIntegerLiteral,
52 "DecimalLiteral": parse_DecimalLiteral,
53 "DefaultClause": parse_DefaultClause,
54 "DefaultToken": parse_DefaultToken,
55 "DeleteToken": parse_DeleteToken,
56 "DoToken": parse_DoToken,
57 "DoWhileStatement": parse_DoWhileStatement,
58 "Documentation": parse_Documentation,
59 "DoubleStringCharacter": parse_DoubleStringCharacter,
60 "DoubleStringCharacters": parse_DoubleStringCharacters,
61 "EOF": parse_EOF,
62 "EOS": parse_EOS,
63 "EOSNoLineTerminator": parse_EOSNoLineTerminator,
64 "ElementList": parse_ElementList,
65 "Elision": parse_Elision,
66 "ElseToken": parse_ElseToken,
67 "EmptyStatement": parse_EmptyStatement,
68 "EqualityExpression": parse_EqualityExpression,
69 "EqualityExpressionNoIn": parse_EqualityExpressionNoIn,
70 "EqualityOperator": parse_EqualityOperator,
71 "EscapeCharacter": parse_EscapeCharacter,
72 "EscapeSequence": parse_EscapeSequence,
73 "ExponentIndicator": parse_ExponentIndicator,
74 "ExponentPart": parse_ExponentPart,
75 "Expression": parse_Expression,
76 "ExpressionNoIn": parse_ExpressionNoIn,
77 "ExpressionStatement": parse_ExpressionStatement,
78 "FalseToken": parse_FalseToken,
79 "Finally": parse_Finally,
80 "FinallyToken": parse_FinallyToken,
81 "ForInStatement": parse_ForInStatement,
82 "ForStatement": parse_ForStatement,
83 "ForToken": parse_ForToken,
84 "FormalParameterList": parse_FormalParameterList,
85 "FunctionBody": parse_FunctionBody,
86 "FunctionDeclaration": parse_FunctionDeclaration,
87 "FunctionExpression": parse_FunctionExpression,
88 "FunctionToken": parse_FunctionToken,
89 "FutureReservedWord": parse_FutureReservedWord,
90 "GetToken": parse_GetToken,
91 "Globals": parse_Globals,
92 "HexDigit": parse_HexDigit,
93 "HexEscapeSequence": parse_HexEscapeSequence,
94 "HexIntegerLiteral": parse_HexIntegerLiteral,
95 "Identifier": parse_Identifier,
96 "IdentifierName": parse_IdentifierName,
97 "IdentifierPart": parse_IdentifierPart,
98 "IdentifierStart": parse_IdentifierStart,
99 "IfStatement": parse_IfStatement,
100 "IfToken": parse_IfToken,
101 "InToken": parse_InToken,
102 "Initialiser": parse_Initialiser,
103 "InitialiserNoIn": parse_InitialiserNoIn,
104 "InstanceofToken": parse_InstanceofToken,
105 "IterationStatement": parse_IterationStatement,
106 "JSLintOptions": parse_JSLintOptions,
107 "Keyword": parse_Keyword,
108 "LabelledStatement": parse_LabelledStatement,
109 "LeftHandSideExpression": parse_LeftHandSideExpression,
110 "LineContinuation": parse_LineContinuation,
111 "LineTerminator": parse_LineTerminator,
112 "LineTerminatorSequence": parse_LineTerminatorSequence,
113 "Literal": parse_Literal,
114 "Ll": parse_Ll,
115 "Lm": parse_Lm,
116 "Lo": parse_Lo,
117 "LogicalANDExpression": parse_LogicalANDExpression,
118 "LogicalANDExpressionNoIn": parse_LogicalANDExpressionNoIn,
119 "LogicalANDOperator": parse_LogicalANDOperator,
120 "LogicalORExpression": parse_LogicalORExpression,
121 "LogicalORExpressionNoIn": parse_LogicalORExpressionNoIn,
122 "LogicalOROperator": parse_LogicalOROperator,
123 "Lt": parse_Lt,
124 "Lu": parse_Lu,
125 "Mc": parse_Mc,
126 "MemberExpression": parse_MemberExpression,
127 "Mn": parse_Mn,
128 "MultiLineComment": parse_MultiLineComment,
129 "MultiLineCommentNoLineTerminator": parse_MultiLineCommentNoLineTerminator,
130 "MultiplicativeExpression": parse_MultiplicativeExpression,
131 "MultiplicativeOperator": parse_MultiplicativeOperator,
132 "Nd": parse_Nd,
133 "NewExpression": parse_NewExpression,
134 "NewToken": parse_NewToken,
135 "Nl": parse_Nl,
136 "NonEscapeCharacter": parse_NonEscapeCharacter,
137 "NonZeroDigit": parse_NonZeroDigit,
138 "NullToken": parse_NullToken,
139 "NumericLiteral": parse_NumericLiteral,
140 "ObjectLiteral": parse_ObjectLiteral,
141 "Pc": parse_Pc,
142 "PostfixExpression": parse_PostfixExpression,
143 "PostfixOperator": parse_PostfixOperator,
144 "PrimaryExpression": parse_PrimaryExpression,
145 "Program": parse_Program,
146 "PropertyAssignment": parse_PropertyAssignment,
147 "PropertyName": parse_PropertyName,
148 "PropertyNameAndValueList": parse_PropertyNameAndValueList,
149 "RegularExpressionBackslashSequence": parse_RegularExpressionBackslashSequence,
150 "RegularExpressionBody": parse_RegularExpressionBody,
151 "RegularExpressionChar": parse_RegularExpressionChar,
152 "RegularExpressionChars": parse_RegularExpressionChars,
153 "RegularExpressionClass": parse_RegularExpressionClass,
154 "RegularExpressionClassChar": parse_RegularExpressionClassChar,
155 "RegularExpressionClassChars": parse_RegularExpressionClassChars,
156 "RegularExpressionFirstChar": parse_RegularExpressionFirstChar,
157 "RegularExpressionFlags": parse_RegularExpressionFlags,
158 "RegularExpressionLiteral": parse_RegularExpressionLiteral,
159 "RegularExpressionNonTerminator": parse_RegularExpressionNonTerminator,
160 "RelationalExpression": parse_RelationalExpression,
161 "RelationalExpressionNoIn": parse_RelationalExpressionNoIn,
162 "RelationalOperator": parse_RelationalOperator,
163 "RelationalOperatorNoIn": parse_RelationalOperatorNoIn,
164 "ReservedWord": parse_ReservedWord,
165 "ReturnStatement": parse_ReturnStatement,
166 "ReturnToken": parse_ReturnToken,
167 "SetToken": parse_SetToken,
168 "ShiftExpression": parse_ShiftExpression,
169 "ShiftOperator": parse_ShiftOperator,
170 "SignedInteger": parse_SignedInteger,
171 "SingleEscapeCharacter": parse_SingleEscapeCharacter,
172 "SingleLineComment": parse_SingleLineComment,
173 "SingleStringCharacter": parse_SingleStringCharacter,
174 "SingleStringCharacters": parse_SingleStringCharacters,
175 "SourceCharacter": parse_SourceCharacter,
176 "SourceElements": parse_SourceElements,
177 "Statement": parse_Statement,
178 "StatementList": parse_StatementList,
179 "StringLiteral": parse_StringLiteral,
180 "SwitchStatement": parse_SwitchStatement,
181 "SwitchToken": parse_SwitchToken,
182 "ThisToken": parse_ThisToken,
183 "ThrowStatement": parse_ThrowStatement,
184 "ThrowToken": parse_ThrowToken,
185 "TrueToken": parse_TrueToken,
186 "TryStatement": parse_TryStatement,
187 "TryToken": parse_TryToken,
188 "TypeofToken": parse_TypeofToken,
189 "UnaryExpression": parse_UnaryExpression,
190 "UnaryOperator": parse_UnaryOperator,
191 "UnicodeCombiningMark": parse_UnicodeCombiningMark,
192 "UnicodeEscapeSequence": parse_UnicodeEscapeSequence,
193 "UnicodeLetter": parse_UnicodeLetter,
194 "VarToken": parse_VarToken,
195 "VariableDeclaration": parse_VariableDeclaration,
196 "VariableDeclarationList": parse_VariableDeclarationList,
197 "VariableDeclarationListNoIn": parse_VariableDeclarationListNoIn,
198 "VariableDeclarationNoIn": parse_VariableDeclarationNoIn,
199 "VariableStatement": parse_VariableStatement,
200 "VoidToken": parse_VoidToken,
201 "WhileStatement": parse_WhileStatement,
202 "WhileToken": parse_WhileToken,
203 "WhiteSpace": parse_WhiteSpace,
204 "WithStatement": parse_WithStatement,
205 "WithToken": parse_WithToken,
206 "Zs": parse_Zs,
207 "_": parse__,
208 "__": parse___,
209 "start": parse_start
210 };
211
212 if (startRule !== undefined) {
213 if (parseFunctions[startRule] === undefined) {
214 throw new Error("Invalid rule name: " + quote(startRule) + ".");
215 }
216 } else {
217 startRule = "start";
218 }
219
220 var pos = 0;
221 var reportMatchFailures = true;
222 var rightmostMatchFailuresPos = 0;
223 var rightmostMatchFailuresExpected = [];
224 var cache = {};
225
226 function padLeft(input, padding, length) {
227 var result = input;
228
229 var padLength = length - input.length;
230 for (var i = 0; i < padLength; i++) {
231 result = padding + result;
232 }
233
234 return result;
235 }
236
237 function escape(ch) {
238 var charCode = ch.charCodeAt(0);
239
240 if (charCode <= 0xFF) {
241 var escapeChar = 'x';
242 var length = 2;
243 } else {
244 var escapeChar = 'u';
245 var length = 4;
246 }
247
248 return '\\' + escapeChar + padLeft(charCode.toString(16).toUpperCase(), '0', length);
249 }
250
251 function quote(s) {
252 /*
253 * ECMA-262, 5th ed., 7.8.4: All characters may appear literally in a
254 * string literal except for the closing quote character, backslash,
255 * carriage return, line separator, paragraph separator, and line feed.
256 * Any character may appear in the form of an escape sequence.
257 */
258 return '"' + s
259 .replace(/\\/g, '\\\\') // backslash
260 .replace(/"/g, '\\"') // closing quote character
261 .replace(/\r/g, '\\r') // carriage return
262 .replace(/\n/g, '\\n') // line feed
263 .replace(/[\x80-\uFFFF]/g, escape) // non-ASCII characters
264 + '"';
265 }
266
267 function matchFailed(failure) {
268 if (pos < rightmostMatchFailuresPos) {
269 return;
270 }
271
272 if (pos > rightmostMatchFailuresPos) {
273 rightmostMatchFailuresPos = pos;
274 rightmostMatchFailuresExpected = [];
275 }
276
277 rightmostMatchFailuresExpected.push(failure);
278 }
279
280 function parse_start() {
281 var cacheKey = 'start@' + pos;
282 var cachedResult = cache[cacheKey];
283 if (cachedResult) {
284 pos = cachedResult.nextPos;
285 return cachedResult.result;
286 }
287
288
289 var savedPos0 = pos;
290 var result1 = parse___();
291 if (result1 !== null) {
292 var result2 = parse_Program();
293 if (result2 !== null) {
294 var result3 = parse___();
295 if (result3 !== null) {
296 var result0 = [result1, result2, result3];
297 } else {
298 var result0 = null;
299 pos = savedPos0;
300 }
301 } else {
302 var result0 = null;
303 pos = savedPos0;
304 }
305 } else {
306 var result0 = null;
307 pos = savedPos0;
308 }
309
310
311
312 cache[cacheKey] = {
313 nextPos: pos,
314 result: result0
315 };
316 return result0;
317 }
318
319 function parse_SourceCharacter() {
320 var cacheKey = 'SourceCharacter@' + pos;
321 var cachedResult = cache[cacheKey];
322 if (cachedResult) {
323 pos = cachedResult.nextPos;
324 return cachedResult.result;
325 }
326
327
328 if (input.length > pos) {
329 var result0 = input.charAt(pos);
330 pos++;
331 } else {
332 var result0 = null;
333 if (reportMatchFailures) {
334 matchFailed('any character');
335 }
336 }
337
338
339
340 cache[cacheKey] = {
341 nextPos: pos,
342 result: result0
343 };
344 return result0;
345 }
346
347 function parse_WhiteSpace() {
348 var cacheKey = 'WhiteSpace@' + pos;
349 var cachedResult = cache[cacheKey];
350 if (cachedResult) {
351 pos = cachedResult.nextPos;
352 return cachedResult.result;
353 }
354
355 var savedReportMatchFailures = reportMatchFailures;
356 reportMatchFailures = false;
357 if (input.substr(pos).match(/^[ \xA0\uFEFF]/) !== null) {
358 var result2 = input.charAt(pos);
359 pos++;
360 } else {
361 var result2 = null;
362 if (reportMatchFailures) {
363 matchFailed("[ \\xA0\\uFEFF]");
364 }
365 }
366 if (result2 !== null) {
367 var result0 = result2;
368 } else {
369 var result1 = parse_Zs();
370 if (result1 !== null) {
371 var result0 = result1;
372 } else {
373 var result0 = null;;
374 };
375 }
376 reportMatchFailures = savedReportMatchFailures;
377 if (reportMatchFailures && result0 === null) {
378 matchFailed("whitespace");
379 }
380
381 cache[cacheKey] = {
382 nextPos: pos,
383 result: result0
384 };
385 return result0;
386 }
387
388 function parse_LineTerminator() {
389 var cacheKey = 'LineTerminator@' + pos;
390 var cachedResult = cache[cacheKey];
391 if (cachedResult) {
392 pos = cachedResult.nextPos;
393 return cachedResult.result;
394 }
395
396
397 if (input.substr(pos).match(/^[\n\r\u2028\u2029]/) !== null) {
398 var result0 = input.charAt(pos);
399 pos++;
400 } else {
401 var result0 = null;
402 if (reportMatchFailures) {
403 matchFailed("[\\n\\r\\u2028\\u2029]");
404 }
405 }
406
407
408
409 cache[cacheKey] = {
410 nextPos: pos,
411 result: result0
412 };
413 return result0;
414 }
415
416 function parse_LineTerminatorSequence() {
417 var cacheKey = 'LineTerminatorSequence@' + pos;
418 var cachedResult = cache[cacheKey];
419 if (cachedResult) {
420 pos = cachedResult.nextPos;
421 return cachedResult.result;
422 }
423
424 var savedReportMatchFailures = reportMatchFailures;
425 reportMatchFailures = false;
426 if (input.substr(pos, 1) === "\n") {
427 var result5 = "\n";
428 pos += 1;
429 } else {
430 var result5 = null;
431 if (reportMatchFailures) {
432 matchFailed("\"\\n\"");
433 }
434 }
435 if (result5 !== null) {
436 var result0 = result5;
437 } else {
438 if (input.substr(pos, 2) === "\r\n") {
439 var result4 = "\r\n";
440 pos += 2;
441 } else {
442 var result4 = null;
443 if (reportMatchFailures) {
444 matchFailed("\"\\r\\n\"");
445 }
446 }
447 if (result4 !== null) {
448 var result0 = result4;
449 } else {
450 if (input.substr(pos, 1) === "\r") {
451 var result3 = "\r";
452 pos += 1;
453 } else {
454 var result3 = null;
455 if (reportMatchFailures) {
456 matchFailed("\"\\r\"");
457 }
458 }
459 if (result3 !== null) {
460 var result0 = result3;
461 } else {
462 if (input.substr(pos, 1) === "\u2028") {
463 var result2 = "\u2028";
464 pos += 1;
465 } else {
466 var result2 = null;
467 if (reportMatchFailures) {
468 matchFailed("\"\\u2028\"");
469 }
470 }
471 if (result2 !== null) {
472 var result0 = result2;
473 } else {
474 if (input.substr(pos, 1) === "\u2029") {
475 var result1 = "\u2029";
476 pos += 1;
477 } else {
478 var result1 = null;
479 if (reportMatchFailures) {
480 matchFailed("\"\\u2029\"");
481 }
482 }
483 if (result1 !== null) {
484 var result0 = result1;
485 } else {
486 var result0 = null;;
487 };
488 };
489 };
490 };
491 }
492 reportMatchFailures = savedReportMatchFailures;
493 if (reportMatchFailures && result0 === null) {
494 matchFailed("end of line");
495 }
496
497 cache[cacheKey] = {
498 nextPos: pos,
499 result: result0
500 };
501 return result0;
502 }
503
504 function parse_Comment() {
505 var cacheKey = 'Comment@' + pos;
506 var cachedResult = cache[cacheKey];
507 if (cachedResult) {
508 pos = cachedResult.nextPos;
509 return cachedResult.result;
510 }
511
512 var savedReportMatchFailures = reportMatchFailures;
513 reportMatchFailures = false;
514 var result5 = parse_Globals();
515 if (result5 !== null) {
516 var result0 = result5;
517 } else {
518 var result4 = parse_JSLintOptions();
519 if (result4 !== null) {
520 var result0 = result4;
521 } else {
522 var result3 = parse_Documentation();
523 if (result3 !== null) {
524 var result0 = result3;
525 } else {
526 var result2 = parse_MultiLineComment();
527 if (result2 !== null) {
528 var result0 = result2;
529 } else {
530 var result1 = parse_SingleLineComment();
531 if (result1 !== null) {
532 var result0 = result1;
533 } else {
534 var result0 = null;;
535 };
536 };
537 };
538 };
539 }
540 reportMatchFailures = savedReportMatchFailures;
541 if (reportMatchFailures && result0 === null) {
542 matchFailed("comment");
543 }
544
545 cache[cacheKey] = {
546 nextPos: pos,
547 result: result0
548 };
549 return result0;
550 }
551
552 function parse_Globals() {
553 var cacheKey = 'Globals@' + pos;
554 var cachedResult = cache[cacheKey];
555 if (cachedResult) {
556 pos = cachedResult.nextPos;
557 return cachedResult.result;
558 }
559
560
561 var savedPos0 = pos;
562 if (input.substr(pos, 9) === "/*globals") {
563 var result1 = "/*globals";
564 pos += 9;
565 } else {
566 var result1 = null;
567 if (reportMatchFailures) {
568 matchFailed("\"/*globals\"");
569 }
570 }
571 if (result1 !== null) {
572 var result2 = [];
573 var savedPos1 = pos;
574 var savedPos2 = pos;
575 var savedReportMatchFailuresVar0 = reportMatchFailures;
576 reportMatchFailures = false;
577 if (input.substr(pos, 2) === "*/") {
578 var result7 = "*/";
579 pos += 2;
580 } else {
581 var result7 = null;
582 if (reportMatchFailures) {
583 matchFailed("\"*/\"");
584 }
585 }
586 reportMatchFailures = savedReportMatchFailuresVar0;
587 if (result7 === null) {
588 var result5 = '';
589 } else {
590 var result5 = null;
591 pos = savedPos2;
592 }
593 if (result5 !== null) {
594 var result6 = parse_SourceCharacter();
595 if (result6 !== null) {
596 var result4 = [result5, result6];
597 } else {
598 var result4 = null;
599 pos = savedPos1;
600 }
601 } else {
602 var result4 = null;
603 pos = savedPos1;
604 }
605 while (result4 !== null) {
606 result2.push(result4);
607 var savedPos1 = pos;
608 var savedPos2 = pos;
609 var savedReportMatchFailuresVar0 = reportMatchFailures;
610 reportMatchFailures = false;
611 if (input.substr(pos, 2) === "*/") {
612 var result7 = "*/";
613 pos += 2;
614 } else {
615 var result7 = null;
616 if (reportMatchFailures) {
617 matchFailed("\"*/\"");
618 }
619 }
620 reportMatchFailures = savedReportMatchFailuresVar0;
621 if (result7 === null) {
622 var result5 = '';
623 } else {
624 var result5 = null;
625 pos = savedPos2;
626 }
627 if (result5 !== null) {
628 var result6 = parse_SourceCharacter();
629 if (result6 !== null) {
630 var result4 = [result5, result6];
631 } else {
632 var result4 = null;
633 pos = savedPos1;
634 }
635 } else {
636 var result4 = null;
637 pos = savedPos1;
638 }
639 }
640 if (result2 !== null) {
641 if (input.substr(pos, 2) === "*/") {
642 var result3 = "*/";
643 pos += 2;
644 } else {
645 var result3 = null;
646 if (reportMatchFailures) {
647 matchFailed("\"*/\"");
648 }
649 }
650 if (result3 !== null) {
651 var result0 = [result1, result2, result3];
652 } else {
653 var result0 = null;
654 pos = savedPos0;
655 }
656 } else {
657 var result0 = null;
658 pos = savedPos0;
659 }
660 } else {
661 var result0 = null;
662 pos = savedPos0;
663 }
664
665
666
667 cache[cacheKey] = {
668 nextPos: pos,
669 result: result0
670 };
671 return result0;
672 }
673
674 function parse_JSLintOptions() {
675 var cacheKey = 'JSLintOptions@' + pos;
676 var cachedResult = cache[cacheKey];
677 if (cachedResult) {
678 pos = cachedResult.nextPos;
679 return cachedResult.result;
680 }
681
682
683 var savedPos0 = pos;
684 if (input.substr(pos, 8) === "/*jslint") {
685 var result1 = "/*jslint";
686 pos += 8;
687 } else {
688 var result1 = null;
689 if (reportMatchFailures) {
690 matchFailed("\"/*jslint\"");
691 }
692 }
693 if (result1 !== null) {
694 var result2 = [];
695 var savedPos1 = pos;
696 var savedPos2 = pos;
697 var savedReportMatchFailuresVar0 = reportMatchFailures;
698 reportMatchFailures = false;
699 if (input.substr(pos, 2) === "*/") {
700 var result7 = "*/";
701 pos += 2;
702 } else {
703 var result7 = null;
704 if (reportMatchFailures) {
705 matchFailed("\"*/\"");
706 }
707 }
708 reportMatchFailures = savedReportMatchFailuresVar0;
709 if (result7 === null) {
710 var result5 = '';
711 } else {
712 var result5 = null;
713 pos = savedPos2;
714 }
715 if (result5 !== null) {
716 var result6 = parse_SourceCharacter();
717 if (result6 !== null) {
718 var result4 = [result5, result6];
719 } else {
720 var result4 = null;
721 pos = savedPos1;
722 }
723 } else {
724 var result4 = null;
725 pos = savedPos1;
726 }
727 while (result4 !== null) {
728 result2.push(result4);
729 var savedPos1 = pos;
730 var savedPos2 = pos;
731 var savedReportMatchFailuresVar0 = reportMatchFailures;
732 reportMatchFailures = false;
733 if (input.substr(pos, 2) === "*/") {
734 var result7 = "*/";
735 pos += 2;
736 } else {
737 var result7 = null;
738 if (reportMatchFailures) {
739 matchFailed("\"*/\"");
740 }
741 }
742 reportMatchFailures = savedReportMatchFailuresVar0;
743 if (result7 === null) {
744 var result5 = '';
745 } else {
746 var result5 = null;
747 pos = savedPos2;
748 }
749 if (result5 !== null) {
750 var result6 = parse_SourceCharacter();
751 if (result6 !== null) {
752 var result4 = [result5, result6];
753 } else {
754 var result4 = null;
755 pos = savedPos1;
756 }
757 } else {
758 var result4 = null;
759 pos = savedPos1;
760 }
761 }
762 if (result2 !== null) {
763 if (input.substr(pos, 2) === "*/") {
764 var result3 = "*/";
765 pos += 2;
766 } else {
767 var result3 = null;
768 if (reportMatchFailures) {
769 matchFailed("\"*/\"");
770 }
771 }
772 if (result3 !== null) {
773 var result0 = [result1, result2, result3];
774 } else {
775 var result0 = null;
776 pos = savedPos0;
777 }
778 } else {
779 var result0 = null;
780 pos = savedPos0;
781 }
782 } else {
783 var result0 = null;
784 pos = savedPos0;
785 }
786
787
788
789 cache[cacheKey] = {
790 nextPos: pos,
791 result: result0
792 };
793 return result0;
794 }
795
796 function parse_Documentation() {
797 var cacheKey = 'Documentation@' + pos;
798 var cachedResult = cache[cacheKey];
799 if (cachedResult) {
800 pos = cachedResult.nextPos;
801 return cachedResult.result;
802 }
803
804
805 var savedPos0 = pos;
806 if (input.substr(pos, 3) === "/**") {
807 var result1 = "/**";
808 pos += 3;
809 } else {
810 var result1 = null;
811 if (reportMatchFailures) {
812 matchFailed("\"/**\"");
813 }
814 }
815 if (result1 !== null) {
816 var result2 = [];
817 var savedPos1 = pos;
818 var savedPos2 = pos;
819 var savedReportMatchFailuresVar0 = reportMatchFailures;
820 reportMatchFailures = false;
821 if (input.substr(pos, 2) === "*/") {
822 var result7 = "*/";
823 pos += 2;
824 } else {
825 var result7 = null;
826 if (reportMatchFailures) {
827 matchFailed("\"*/\"");
828 }
829 }
830 reportMatchFailures = savedReportMatchFailuresVar0;
831 if (result7 === null) {
832 var result5 = '';
833 } else {
834 var result5 = null;
835 pos = savedPos2;
836 }
837 if (result5 !== null) {
838 var result6 = parse_SourceCharacter();
839 if (result6 !== null) {
840 var result4 = [result5, result6];
841 } else {
842 var result4 = null;
843 pos = savedPos1;
844 }
845 } else {
846 var result4 = null;
847 pos = savedPos1;
848 }
849 while (result4 !== null) {
850 result2.push(result4);
851 var savedPos1 = pos;
852 var savedPos2 = pos;
853 var savedReportMatchFailuresVar0 = reportMatchFailures;
854 reportMatchFailures = false;
855 if (input.substr(pos, 2) === "*/") {
856 var result7 = "*/";
857 pos += 2;
858 } else {
859 var result7 = null;
860 if (reportMatchFailures) {
861 matchFailed("\"*/\"");
862 }
863 }
864 reportMatchFailures = savedReportMatchFailuresVar0;
865 if (result7 === null) {
866 var result5 = '';
867 } else {
868 var result5 = null;
869 pos = savedPos2;
870 }
871 if (result5 !== null) {
872 var result6 = parse_SourceCharacter();
873 if (result6 !== null) {
874 var result4 = [result5, result6];
875 } else {
876 var result4 = null;
877 pos = savedPos1;
878 }
879 } else {
880 var result4 = null;
881 pos = savedPos1;
882 }
883 }
884 if (result2 !== null) {
885 if (input.substr(pos, 2) === "*/") {
886 var result3 = "*/";
887 pos += 2;
888 } else {
889 var result3 = null;
890 if (reportMatchFailures) {
891 matchFailed("\"*/\"");
892 }
893 }
894 if (result3 !== null) {
895 var result0 = [result1, result2, result3];
896 } else {
897 var result0 = null;
898 pos = savedPos0;
899 }
900 } else {
901 var result0 = null;
902 pos = savedPos0;
903 }
904 } else {
905 var result0 = null;
906 pos = savedPos0;
907 }
908
909
910
911 cache[cacheKey] = {
912 nextPos: pos,
913 result: result0
914 };
915 return result0;
916 }
917
918 function parse_MultiLineComment() {
919 var cacheKey = 'MultiLineComment@' + pos;
920 var cachedResult = cache[cacheKey];
921 if (cachedResult) {
922 pos = cachedResult.nextPos;
923 return cachedResult.result;
924 }
925
926
927 var savedPos0 = pos;
928 if (input.substr(pos, 2) === "/*") {
929 var result1 = "/*";
930 pos += 2;
931 } else {
932 var result1 = null;
933 if (reportMatchFailures) {
934 matchFailed("\"/*\"");
935 }
936 }
937 if (result1 !== null) {
938 var result2 = [];
939 var savedPos1 = pos;
940 var savedPos2 = pos;
941 var savedReportMatchFailuresVar0 = reportMatchFailures;
942 reportMatchFailures = false;
943 if (input.substr(pos, 2) === "*/") {
944 var result7 = "*/";
945 pos += 2;
946 } else {
947 var result7 = null;
948 if (reportMatchFailures) {
949 matchFailed("\"*/\"");
950 }
951 }
952 reportMatchFailures = savedReportMatchFailuresVar0;
953 if (result7 === null) {
954 var result5 = '';
955 } else {
956 var result5 = null;
957 pos = savedPos2;
958 }
959 if (result5 !== null) {
960 var result6 = parse_SourceCharacter();
961 if (result6 !== null) {
962 var result4 = [result5, result6];
963 } else {
964 var result4 = null;
965 pos = savedPos1;
966 }
967 } else {
968 var result4 = null;
969 pos = savedPos1;
970 }
971 while (result4 !== null) {
972 result2.push(result4);
973 var savedPos1 = pos;
974 var savedPos2 = pos;
975 var savedReportMatchFailuresVar0 = reportMatchFailures;
976 reportMatchFailures = false;
977 if (input.substr(pos, 2) === "*/") {
978 var result7 = "*/";
979 pos += 2;
980 } else {
981 var result7 = null;
982 if (reportMatchFailures) {
983 matchFailed("\"*/\"");
984 }
985 }
986 reportMatchFailures = savedReportMatchFailuresVar0;
987 if (result7 === null) {
988 var result5 = '';
989 } else {
990 var result5 = null;
991 pos = savedPos2;
992 }
993 if (result5 !== null) {
994 var result6 = parse_SourceCharacter();
995 if (result6 !== null) {
996 var result4 = [result5, result6];
997 } else {
998 var result4 = null;
999 pos = savedPos1;
1000 }
1001 } else {
1002 var result4 = null;
1003 pos = savedPos1;
1004 }
1005 }
1006 if (result2 !== null) {
1007 if (input.substr(pos, 2) === "*/") {
1008 var result3 = "*/";
1009 pos += 2;
1010 } else {
1011 var result3 = null;
1012 if (reportMatchFailures) {
1013 matchFailed("\"*/\"");
1014 }
1015 }
1016 if (result3 !== null) {
1017 var result0 = [result1, result2, result3];
1018 } else {
1019 var result0 = null;
1020 pos = savedPos0;
1021 }
1022 } else {
1023 var result0 = null;
1024 pos = savedPos0;
1025 }
1026 } else {
1027 var result0 = null;
1028 pos = savedPos0;
1029 }
1030
1031
1032
1033 cache[cacheKey] = {
1034 nextPos: pos,
1035 result: result0
1036 };
1037 return result0;
1038 }
1039
1040 function parse_MultiLineCommentNoLineTerminator() {
1041 var cacheKey = 'MultiLineCommentNoLineTerminator@' + pos;
1042 var cachedResult = cache[cacheKey];
1043 if (cachedResult) {
1044 pos = cachedResult.nextPos;
1045 return cachedResult.result;
1046 }
1047
1048
1049 var savedPos0 = pos;
1050 if (input.substr(pos, 2) === "/*") {
1051 var result1 = "/*";
1052 pos += 2;
1053 } else {
1054 var result1 = null;
1055 if (reportMatchFailures) {
1056 matchFailed("\"/*\"");
1057 }
1058 }
1059 if (result1 !== null) {
1060 var result2 = [];
1061 var savedPos1 = pos;
1062 var savedPos2 = pos;
1063 var savedReportMatchFailuresVar0 = reportMatchFailures;
1064 reportMatchFailures = false;
1065 if (input.substr(pos, 2) === "*/") {
1066 var result9 = "*/";
1067 pos += 2;
1068 } else {
1069 var result9 = null;
1070 if (reportMatchFailures) {
1071 matchFailed("\"*/\"");
1072 }
1073 }
1074 if (result9 !== null) {
1075 var result7 = result9;
1076 } else {
1077 var result8 = parse_LineTerminator();
1078 if (result8 !== null) {
1079 var result7 = result8;
1080 } else {
1081 var result7 = null;;
1082 };
1083 }
1084 reportMatchFailures = savedReportMatchFailuresVar0;
1085 if (result7 === null) {
1086 var result5 = '';
1087 } else {
1088 var result5 = null;
1089 pos = savedPos2;
1090 }
1091 if (result5 !== null) {
1092 var result6 = parse_SourceCharacter();
1093 if (result6 !== null) {
1094 var result4 = [result5, result6];
1095 } else {
1096 var result4 = null;
1097 pos = savedPos1;
1098 }
1099 } else {
1100 var result4 = null;
1101 pos = savedPos1;
1102 }
1103 while (result4 !== null) {
1104 result2.push(result4);
1105 var savedPos1 = pos;
1106 var savedPos2 = pos;
1107 var savedReportMatchFailuresVar0 = reportMatchFailures;
1108 reportMatchFailures = false;
1109 if (input.substr(pos, 2) === "*/") {
1110 var result9 = "*/";
1111 pos += 2;
1112 } else {
1113 var result9 = null;
1114 if (reportMatchFailures) {
1115 matchFailed("\"*/\"");
1116 }
1117 }
1118 if (result9 !== null) {
1119 var result7 = result9;
1120 } else {
1121 var result8 = parse_LineTerminator();
1122 if (result8 !== null) {
1123 var result7 = result8;
1124 } else {
1125 var result7 = null;;
1126 };
1127 }
1128 reportMatchFailures = savedReportMatchFailuresVar0;
1129 if (result7 === null) {
1130 var result5 = '';
1131 } else {
1132 var result5 = null;
1133 pos = savedPos2;
1134 }
1135 if (result5 !== null) {
1136 var result6 = parse_SourceCharacter();
1137 if (result6 !== null) {
1138 var result4 = [result5, result6];
1139 } else {
1140 var result4 = null;
1141 pos = savedPos1;
1142 }
1143 } else {
1144 var result4 = null;
1145 pos = savedPos1;
1146 }
1147 }
1148 if (result2 !== null) {
1149 if (input.substr(pos, 2) === "*/") {
1150 var result3 = "*/";
1151 pos += 2;
1152 } else {
1153 var result3 = null;
1154 if (reportMatchFailures) {
1155 matchFailed("\"*/\"");
1156 }
1157 }
1158 if (result3 !== null) {
1159 var result0 = [result1, result2, result3];
1160 } else {
1161 var result0 = null;
1162 pos = savedPos0;
1163 }
1164 } else {
1165 var result0 = null;
1166 pos = savedPos0;
1167 }
1168 } else {
1169 var result0 = null;
1170 pos = savedPos0;
1171 }
1172
1173
1174
1175 cache[cacheKey] = {
1176 nextPos: pos,
1177 result: result0
1178 };
1179 return result0;
1180 }
1181
1182 function parse_SingleLineComment() {
1183 var cacheKey = 'SingleLineComment@' + pos;
1184 var cachedResult = cache[cacheKey];
1185 if (cachedResult) {
1186 pos = cachedResult.nextPos;
1187 return cachedResult.result;
1188 }
1189
1190
1191 var savedPos0 = pos;
1192 if (input.substr(pos, 2) === "//") {
1193 var result1 = "//";
1194 pos += 2;
1195 } else {
1196 var result1 = null;
1197 if (reportMatchFailures) {
1198 matchFailed("\"//\"");
1199 }
1200 }
1201 if (result1 !== null) {
1202 var result2 = [];
1203 var savedPos1 = pos;
1204 var savedPos2 = pos;
1205 var savedReportMatchFailuresVar0 = reportMatchFailures;
1206 reportMatchFailures = false;
1207 var result6 = parse_LineTerminator();
1208 reportMatchFailures = savedReportMatchFailuresVar0;
1209 if (result6 === null) {
1210 var result4 = '';
1211 } else {
1212 var result4 = null;
1213 pos = savedPos2;
1214 }
1215 if (result4 !== null) {
1216 var result5 = parse_SourceCharacter();
1217 if (result5 !== null) {
1218 var result3 = [result4, result5];
1219 } else {
1220 var result3 = null;
1221 pos = savedPos1;
1222 }
1223 } else {
1224 var result3 = null;
1225 pos = savedPos1;
1226 }
1227 while (result3 !== null) {
1228 result2.push(result3);
1229 var savedPos1 = pos;
1230 var savedPos2 = pos;
1231 var savedReportMatchFailuresVar0 = reportMatchFailures;
1232 reportMatchFailures = false;
1233 var result6 = parse_LineTerminator();
1234 reportMatchFailures = savedReportMatchFailuresVar0;
1235 if (result6 === null) {
1236 var result4 = '';
1237 } else {
1238 var result4 = null;
1239 pos = savedPos2;
1240 }
1241 if (result4 !== null) {
1242 var result5 = parse_SourceCharacter();
1243 if (result5 !== null) {
1244 var result3 = [result4, result5];
1245 } else {
1246 var result3 = null;
1247 pos = savedPos1;
1248 }
1249 } else {
1250 var result3 = null;
1251 pos = savedPos1;
1252 }
1253 }
1254 if (result2 !== null) {
1255 var result0 = [result1, result2];
1256 } else {
1257 var result0 = null;
1258 pos = savedPos0;
1259 }
1260 } else {
1261 var result0 = null;
1262 pos = savedPos0;
1263 }
1264
1265
1266
1267 cache[cacheKey] = {
1268 nextPos: pos,
1269 result: result0
1270 };
1271 return result0;
1272 }
1273
1274 function parse_Identifier() {
1275 var cacheKey = 'Identifier@' + pos;
1276 var cachedResult = cache[cacheKey];
1277 if (cachedResult) {
1278 pos = cachedResult.nextPos;
1279 return cachedResult.result;
1280 }
1281
1282 var savedReportMatchFailures = reportMatchFailures;
1283 reportMatchFailures = false;
1284 var savedPos0 = pos;
1285 var savedPos1 = pos;
1286 var savedReportMatchFailuresVar0 = reportMatchFailures;
1287 reportMatchFailures = false;
1288 var result3 = parse_ReservedWord();
1289 reportMatchFailures = savedReportMatchFailuresVar0;
1290 if (result3 === null) {
1291 var result1 = '';
1292 } else {
1293 var result1 = null;
1294 pos = savedPos1;
1295 }
1296 if (result1 !== null) {
1297 var result2 = parse_IdentifierName();
1298 if (result2 !== null) {
1299 var result0 = [result1, result2];
1300 } else {
1301 var result0 = null;
1302 pos = savedPos0;
1303 }
1304 } else {
1305 var result0 = null;
1306 pos = savedPos0;
1307 }
1308 reportMatchFailures = savedReportMatchFailures;
1309 if (reportMatchFailures && result0 === null) {
1310 matchFailed("identifier");
1311 }
1312
1313 cache[cacheKey] = {
1314 nextPos: pos,
1315 result: result0
1316 };
1317 return result0;
1318 }
1319
1320 function parse_IdentifierName() {
1321 var cacheKey = 'IdentifierName@' + pos;
1322 var cachedResult = cache[cacheKey];
1323 if (cachedResult) {
1324 pos = cachedResult.nextPos;
1325 return cachedResult.result;
1326 }
1327
1328 var savedReportMatchFailures = reportMatchFailures;
1329 reportMatchFailures = false;
1330 var savedPos0 = pos;
1331 var result1 = parse_IdentifierStart();
1332 if (result1 !== null) {
1333 var result2 = [];
1334 var result3 = parse_IdentifierPart();
1335 while (result3 !== null) {
1336 result2.push(result3);
1337 var result3 = parse_IdentifierPart();
1338 }
1339 if (result2 !== null) {
1340 var result0 = [result1, result2];
1341 } else {
1342 var result0 = null;
1343 pos = savedPos0;
1344 }
1345 } else {
1346 var result0 = null;
1347 pos = savedPos0;
1348 }
1349 reportMatchFailures = savedReportMatchFailures;
1350 if (reportMatchFailures && result0 === null) {
1351 matchFailed("identifier");
1352 }
1353
1354 cache[cacheKey] = {
1355 nextPos: pos,
1356 result: result0
1357 };
1358 return result0;
1359 }
1360
1361 function parse_IdentifierStart() {
1362 var cacheKey = 'IdentifierStart@' + pos;
1363 var cachedResult = cache[cacheKey];
1364 if (cachedResult) {
1365 pos = cachedResult.nextPos;
1366 return cachedResult.result;
1367 }
1368
1369
1370 var result6 = parse_UnicodeLetter();
1371 if (result6 !== null) {
1372 var result0 = result6;
1373 } else {
1374 if (input.substr(pos, 1) === "$") {
1375 var result5 = "$";
1376 pos += 1;
1377 } else {
1378 var result5 = null;
1379 if (reportMatchFailures) {
1380 matchFailed("\"$\"");
1381 }
1382 }
1383 if (result5 !== null) {
1384 var result0 = result5;
1385 } else {
1386 if (input.substr(pos, 1) === "_") {
1387 var result4 = "_";
1388 pos += 1;
1389 } else {
1390 var result4 = null;
1391 if (reportMatchFailures) {
1392 matchFailed("\"_\"");
1393 }
1394 }
1395 if (result4 !== null) {
1396 var result0 = result4;
1397 } else {
1398 var savedPos0 = pos;
1399 if (input.substr(pos, 1) === "\\") {
1400 var result2 = "\\";
1401 pos += 1;
1402 } else {
1403 var result2 = null;
1404 if (reportMatchFailures) {
1405 matchFailed("\"\\\\\"");
1406 }
1407 }
1408 if (result2 !== null) {
1409 var result3 = parse_UnicodeEscapeSequence();
1410 if (result3 !== null) {
1411 var result1 = [result2, result3];
1412 } else {
1413 var result1 = null;
1414 pos = savedPos0;
1415 }
1416 } else {
1417 var result1 = null;
1418 pos = savedPos0;
1419 }
1420 if (result1 !== null) {
1421 var result0 = result1;
1422 } else {
1423 var result0 = null;;
1424 };
1425 };
1426 };
1427 }
1428
1429
1430
1431 cache[cacheKey] = {
1432 nextPos: pos,
1433 result: result0
1434 };
1435 return result0;
1436 }
1437
1438 function parse_IdentifierPart() {
1439 var cacheKey = 'IdentifierPart@' + pos;
1440 var cachedResult = cache[cacheKey];
1441 if (cachedResult) {
1442 pos = cachedResult.nextPos;
1443 return cachedResult.result;
1444 }
1445
1446
1447 var result6 = parse_IdentifierStart();
1448 if (result6 !== null) {
1449 var result0 = result6;
1450 } else {
1451 var result5 = parse_UnicodeCombiningMark();
1452 if (result5 !== null) {
1453 var result0 = result5;
1454 } else {
1455 var result4 = parse_Nd();
1456 if (result4 !== null) {
1457 var result0 = result4;
1458 } else {
1459 var result3 = parse_Pc();
1460 if (result3 !== null) {
1461 var result0 = result3;
1462 } else {
1463 if (input.substr(pos, 1) === "\u200C") {
1464 var result2 = "\u200C";
1465 pos += 1;
1466 } else {
1467 var result2 = null;
1468 if (reportMatchFailures) {
1469 matchFailed("\"\\u200C\"");
1470 }
1471 }
1472 if (result2 !== null) {
1473 var result0 = result2;
1474 } else {
1475 if (input.substr(pos, 1) === "\u200D") {
1476 var result1 = "\u200D";
1477 pos += 1;
1478 } else {
1479 var result1 = null;
1480 if (reportMatchFailures) {
1481 matchFailed("\"\\u200D\"");
1482 }
1483 }
1484 if (result1 !== null) {
1485 var result0 = result1;
1486 } else {
1487 var result0 = null;;
1488 };
1489 };
1490 };
1491 };
1492 };
1493 }
1494
1495
1496
1497 cache[cacheKey] = {
1498 nextPos: pos,
1499 result: result0
1500 };
1501 return result0;
1502 }
1503
1504 function parse_UnicodeLetter() {
1505 var cacheKey = 'UnicodeLetter@' + pos;
1506 var cachedResult = cache[cacheKey];
1507 if (cachedResult) {
1508 pos = cachedResult.nextPos;
1509 return cachedResult.result;
1510 }
1511
1512
1513 var result6 = parse_Lu();
1514 if (result6 !== null) {
1515 var result0 = result6;
1516 } else {
1517 var result5 = parse_Ll();
1518 if (result5 !== null) {
1519 var result0 = result5;
1520 } else {
1521 var result4 = parse_Lt();
1522 if (result4 !== null) {
1523 var result0 = result4;
1524 } else {
1525 var result3 = parse_Lm();
1526 if (result3 !== null) {
1527 var result0 = result3;
1528 } else {
1529 var result2 = parse_Lo();
1530 if (result2 !== null) {
1531 var result0 = result2;
1532 } else {
1533 var result1 = parse_Nl();
1534 if (result1 !== null) {
1535 var result0 = result1;
1536 } else {
1537 var result0 = null;;
1538 };
1539 };
1540 };
1541 };
1542 };
1543 }
1544
1545
1546
1547 cache[cacheKey] = {
1548 nextPos: pos,
1549 result: result0
1550 };
1551 return result0;
1552 }
1553
1554 function parse_UnicodeCombiningMark() {
1555 var cacheKey = 'UnicodeCombiningMark@' + pos;
1556 var cachedResult = cache[cacheKey];
1557 if (cachedResult) {
1558 pos = cachedResult.nextPos;
1559 return cachedResult.result;
1560 }
1561
1562
1563 var result2 = parse_Mn();
1564 if (result2 !== null) {
1565 var result0 = result2;
1566 } else {
1567 var result1 = parse_Mc();
1568 if (result1 !== null) {
1569 var result0 = result1;
1570 } else {
1571 var result0 = null;;
1572 };
1573 }
1574
1575
1576
1577 cache[cacheKey] = {
1578 nextPos: pos,
1579 result: result0
1580 };
1581 return result0;
1582 }
1583
1584 function parse_ReservedWord() {
1585 var cacheKey = 'ReservedWord@' + pos;
1586 var cachedResult = cache[cacheKey];
1587 if (cachedResult) {
1588 pos = cachedResult.nextPos;
1589 return cachedResult.result;
1590 }
1591
1592
1593 var result4 = parse_Keyword();
1594 if (result4 !== null) {
1595 var result0 = result4;
1596 } else {
1597 var result3 = parse_FutureReservedWord();
1598 if (result3 !== null) {
1599 var result0 = result3;
1600 } else {
1601 var result2 = parse_NullToken();
1602 if (result2 !== null) {
1603 var result0 = result2;
1604 } else {
1605 var result1 = parse_BooleanLiteral();
1606 if (result1 !== null) {
1607 var result0 = result1;
1608 } else {
1609 var result0 = null;;
1610 };
1611 };
1612 };
1613 }
1614
1615
1616
1617 cache[cacheKey] = {
1618 nextPos: pos,
1619 result: result0
1620 };
1621 return result0;
1622 }
1623
1624 function parse_Keyword() {
1625 var cacheKey = 'Keyword@' + pos;
1626 var cachedResult = cache[cacheKey];
1627 if (cachedResult) {
1628 pos = cachedResult.nextPos;
1629 return cachedResult.result;
1630 }
1631
1632
1633 var savedPos0 = pos;
1634 if (input.substr(pos, 5) === "break") {
1635 var result29 = "break";
1636 pos += 5;
1637 } else {
1638 var result29 = null;
1639 if (reportMatchFailures) {
1640 matchFailed("\"break\"");
1641 }
1642 }
1643 if (result29 !== null) {
1644 var result1 = result29;
1645 } else {
1646 if (input.substr(pos, 4) === "case") {
1647 var result28 = "case";
1648 pos += 4;
1649 } else {
1650 var result28 = null;
1651 if (reportMatchFailures) {
1652 matchFailed("\"case\"");
1653 }
1654 }
1655 if (result28 !== null) {
1656 var result1 = result28;
1657 } else {
1658 if (input.substr(pos, 5) === "catch") {
1659 var result27 = "catch";
1660 pos += 5;
1661 } else {
1662 var result27 = null;
1663 if (reportMatchFailures) {
1664 matchFailed("\"catch\"");
1665 }
1666 }
1667 if (result27 !== null) {
1668 var result1 = result27;
1669 } else {
1670 if (input.substr(pos, 8) === "continue") {
1671 var result26 = "continue";
1672 pos += 8;
1673 } else {
1674 var result26 = null;
1675 if (reportMatchFailures) {
1676 matchFailed("\"continue\"");
1677 }
1678 }
1679 if (result26 !== null) {
1680 var result1 = result26;
1681 } else {
1682 if (input.substr(pos, 8) === "debugger") {
1683 var result25 = "debugger";
1684 pos += 8;
1685 } else {
1686 var result25 = null;
1687 if (reportMatchFailures) {
1688 matchFailed("\"debugger\"");
1689 }
1690 }
1691 if (result25 !== null) {
1692 var result1 = result25;
1693 } else {
1694 if (input.substr(pos, 7) === "default") {
1695 var result24 = "default";
1696 pos += 7;
1697 } else {
1698 var result24 = null;
1699 if (reportMatchFailures) {
1700 matchFailed("\"default\"");
1701 }
1702 }
1703 if (result24 !== null) {
1704 var result1 = result24;
1705 } else {
1706 if (input.substr(pos, 6) === "delete") {
1707 var result23 = "delete";
1708 pos += 6;
1709 } else {
1710 var result23 = null;
1711 if (reportMatchFailures) {
1712 matchFailed("\"delete\"");
1713 }
1714 }
1715 if (result23 !== null) {
1716 var result1 = result23;
1717 } else {
1718 if (input.substr(pos, 2) === "do") {
1719 var result22 = "do";
1720 pos += 2;
1721 } else {
1722 var result22 = null;
1723 if (reportMatchFailures) {
1724 matchFailed("\"do\"");
1725 }
1726 }
1727 if (result22 !== null) {
1728 var result1 = result22;
1729 } else {
1730 if (input.substr(pos, 4) === "else") {
1731 var result21 = "else";
1732 pos += 4;
1733 } else {
1734 var result21 = null;
1735 if (reportMatchFailures) {
1736 matchFailed("\"else\"");
1737 }
1738 }
1739 if (result21 !== null) {
1740 var result1 = result21;
1741 } else {
1742 if (input.substr(pos, 7) === "finally") {
1743 var result20 = "finally";
1744 pos += 7;
1745 } else {
1746 var result20 = null;
1747 if (reportMatchFailures) {
1748 matchFailed("\"finally\"");
1749 }
1750 }
1751 if (result20 !== null) {
1752 var result1 = result20;
1753 } else {
1754 if (input.substr(pos, 3) === "for") {
1755 var result19 = "for";
1756 pos += 3;
1757 } else {
1758 var result19 = null;
1759 if (reportMatchFailures) {
1760 matchFailed("\"for\"");
1761 }
1762 }
1763 if (result19 !== null) {
1764 var result1 = result19;
1765 } else {
1766 if (input.substr(pos, 8) === "function") {
1767 var result18 = "function";
1768 pos += 8;
1769 } else {
1770 var result18 = null;
1771 if (reportMatchFailures) {
1772 matchFailed("\"function\"");
1773 }
1774 }
1775 if (result18 !== null) {
1776 var result1 = result18;
1777 } else {
1778 if (input.substr(pos, 2) === "if") {
1779 var result17 = "if";
1780 pos += 2;
1781 } else {
1782 var result17 = null;
1783 if (reportMatchFailures) {
1784 matchFailed("\"if\"");
1785 }
1786 }
1787 if (result17 !== null) {
1788 var result1 = result17;
1789 } else {
1790 if (input.substr(pos, 10) === "instanceof") {
1791 var result16 = "instanceof";
1792 pos += 10;
1793 } else {
1794 var result16 = null;
1795 if (reportMatchFailures) {
1796 matchFailed("\"instanceof\"");
1797 }
1798 }
1799 if (result16 !== null) {
1800 var result1 = result16;
1801 } else {
1802 if (input.substr(pos, 2) === "in") {
1803 var result15 = "in";
1804 pos += 2;
1805 } else {
1806 var result15 = null;
1807 if (reportMatchFailures) {
1808 matchFailed("\"in\"");
1809 }
1810 }
1811 if (result15 !== null) {
1812 var result1 = result15;
1813 } else {
1814 if (input.substr(pos, 3) === "new") {
1815 var result14 = "new";
1816 pos += 3;
1817 } else {
1818 var result14 = null;
1819 if (reportMatchFailures) {
1820 matchFailed("\"new\"");
1821 }
1822 }
1823 if (result14 !== null) {
1824 var result1 = result14;
1825 } else {
1826 if (input.substr(pos, 6) === "return") {
1827 var result13 = "return";
1828 pos += 6;
1829 } else {
1830 var result13 = null;
1831 if (reportMatchFailures) {
1832 matchFailed("\"return\"");
1833 }
1834 }
1835 if (result13 !== null) {
1836 var result1 = result13;
1837 } else {
1838 if (input.substr(pos, 6) === "switch") {
1839 var result12 = "switch";
1840 pos += 6;
1841 } else {
1842 var result12 = null;
1843 if (reportMatchFailures) {
1844 matchFailed("\"switch\"");
1845 }
1846 }
1847 if (result12 !== null) {
1848 var result1 = result12;
1849 } else {
1850 if (input.substr(pos, 4) === "this") {
1851 var result11 = "this";
1852 pos += 4;
1853 } else {
1854 var result11 = null;
1855 if (reportMatchFailures) {
1856 matchFailed("\"this\"");
1857 }
1858 }
1859 if (result11 !== null) {
1860 var result1 = result11;
1861 } else {
1862 if (input.substr(pos, 5) === "throw") {
1863 var result10 = "throw";
1864 pos += 5;
1865 } else {
1866 var result10 = null;
1867 if (reportMatchFailures) {
1868 matchFailed("\"throw\"");
1869 }
1870 }
1871 if (result10 !== null) {
1872 var result1 = result10;
1873 } else {
1874 if (input.substr(pos, 3) === "try") {
1875 var result9 = "try";
1876 pos += 3;
1877 } else {
1878 var result9 = null;
1879 if (reportMatchFailures) {
1880 matchFailed("\"try\"");
1881 }
1882 }
1883 if (result9 !== null) {
1884 var result1 = result9;
1885 } else {
1886 if (input.substr(pos, 6) === "typeof") {
1887 var result8 = "typeof";
1888 pos += 6;
1889 } else {
1890 var result8 = null;
1891 if (reportMatchFailures) {
1892 matchFailed("\"typeof\"");
1893 }
1894 }
1895 if (result8 !== null) {
1896 var result1 = result8;
1897 } else {
1898 if (input.substr(pos, 3) === "var") {
1899 var result7 = "var";
1900 pos += 3;
1901 } else {
1902 var result7 = null;
1903 if (reportMatchFailures) {
1904 matchFailed("\"var\"");
1905 }
1906 }
1907 if (result7 !== null) {
1908 var result1 = result7;
1909 } else {
1910 if (input.substr(pos, 4) === "void") {
1911 var result6 = "void";
1912 pos += 4;
1913 } else {
1914 var result6 = null;
1915 if (reportMatchFailures) {
1916 matchFailed("\"void\"");
1917 }
1918 }
1919 if (result6 !== null) {
1920 var result1 = result6;
1921 } else {
1922 if (input.substr(pos, 5) === "while") {
1923 var result5 = "while";
1924 pos += 5;
1925 } else {
1926 var result5 = null;
1927 if (reportMatchFailures) {
1928 matchFailed("\"while\"");
1929 }
1930 }
1931 if (result5 !== null) {
1932 var result1 = result5;
1933 } else {
1934 if (input.substr(pos, 4) === "with") {
1935 var result4 = "with";
1936 pos += 4;
1937 } else {
1938 var result4 = null;
1939 if (reportMatchFailures) {
1940 matchFailed("\"with\"");
1941 }
1942 }
1943 if (result4 !== null) {
1944 var result1 = result4;
1945 } else {
1946 var result1 = null;;
1947 };
1948 };
1949 };
1950 };
1951 };
1952 };
1953 };
1954 };
1955 };
1956 };
1957 };
1958 };
1959 };
1960 };
1961 };
1962 };
1963 };
1964 };
1965 };
1966 };
1967 };
1968 };
1969 };
1970 };
1971 };
1972 }
1973 if (result1 !== null) {
1974 var savedPos1 = pos;
1975 var savedReportMatchFailuresVar0 = reportMatchFailures;
1976 reportMatchFailures = false;
1977 var result3 = parse_IdentifierPart();
1978 reportMatchFailures = savedReportMatchFailuresVar0;
1979 if (result3 === null) {
1980 var result2 = '';
1981 } else {
1982 var result2 = null;
1983 pos = savedPos1;
1984 }
1985 if (result2 !== null) {
1986 var result0 = [result1, result2];
1987 } else {
1988 var result0 = null;
1989 pos = savedPos0;
1990 }
1991 } else {
1992 var result0 = null;
1993 pos = savedPos0;
1994 }
1995
1996
1997
1998 cache[cacheKey] = {
1999 nextPos: pos,
2000 result: result0
2001 };
2002 return result0;
2003 }
2004
2005 function parse_FutureReservedWord() {
2006 var cacheKey = 'FutureReservedWord@' + pos;
2007 var cachedResult = cache[cacheKey];
2008 if (cachedResult) {
2009 pos = cachedResult.nextPos;
2010 return cachedResult.result;
2011 }
2012
2013
2014 var savedPos0 = pos;
2015 if (input.substr(pos, 5) === "class") {
2016 var result10 = "class";
2017 pos += 5;
2018 } else {
2019 var result10 = null;
2020 if (reportMatchFailures) {
2021 matchFailed("\"class\"");
2022 }
2023 }
2024 if (result10 !== null) {
2025 var result1 = result10;
2026 } else {
2027 if (input.substr(pos, 5) === "const") {
2028 var result9 = "const";
2029 pos += 5;
2030 } else {
2031 var result9 = null;
2032 if (reportMatchFailures) {
2033 matchFailed("\"const\"");
2034 }
2035 }
2036 if (result9 !== null) {
2037 var result1 = result9;
2038 } else {
2039 if (input.substr(pos, 4) === "enum") {
2040 var result8 = "enum";
2041 pos += 4;
2042 } else {
2043 var result8 = null;
2044 if (reportMatchFailures) {
2045 matchFailed("\"enum\"");
2046 }
2047 }
2048 if (result8 !== null) {
2049 var result1 = result8;
2050 } else {
2051 if (input.substr(pos, 6) === "export") {
2052 var result7 = "export";
2053 pos += 6;
2054 } else {
2055 var result7 = null;
2056 if (reportMatchFailures) {
2057 matchFailed("\"export\"");
2058 }
2059 }
2060 if (result7 !== null) {
2061 var result1 = result7;
2062 } else {
2063 if (input.substr(pos, 7) === "extends") {
2064 var result6 = "extends";
2065 pos += 7;
2066 } else {
2067 var result6 = null;
2068 if (reportMatchFailures) {
2069 matchFailed("\"extends\"");
2070 }
2071 }
2072 if (result6 !== null) {
2073 var result1 = result6;
2074 } else {
2075 if (input.substr(pos, 6) === "import") {
2076 var result5 = "import";
2077 pos += 6;
2078 } else {
2079 var result5 = null;
2080 if (reportMatchFailures) {
2081 matchFailed("\"import\"");
2082 }
2083 }
2084 if (result5 !== null) {
2085 var result1 = result5;
2086 } else {
2087 if (input.substr(pos, 5) === "super") {
2088 var result4 = "super";
2089 pos += 5;
2090 } else {
2091 var result4 = null;
2092 if (reportMatchFailures) {
2093 matchFailed("\"super\"");
2094 }
2095 }
2096 if (result4 !== null) {
2097 var result1 = result4;
2098 } else {
2099 var result1 = null;;
2100 };
2101 };
2102 };
2103 };
2104 };
2105 };
2106 }
2107 if (result1 !== null) {
2108 var savedPos1 = pos;
2109 var savedReportMatchFailuresVar0 = reportMatchFailures;
2110 reportMatchFailures = false;
2111 var result3 = parse_IdentifierPart();
2112 reportMatchFailures = savedReportMatchFailuresVar0;
2113 if (result3 === null) {
2114 var result2 = '';
2115 } else {
2116 var result2 = null;
2117 pos = savedPos1;
2118 }
2119 if (result2 !== null) {
2120 var result0 = [result1, result2];
2121 } else {
2122 var result0 = null;
2123 pos = savedPos0;
2124 }
2125 } else {
2126 var result0 = null;
2127 pos = savedPos0;
2128 }
2129
2130
2131
2132 cache[cacheKey] = {
2133 nextPos: pos,
2134 result: result0
2135 };
2136 return result0;
2137 }
2138
2139 function parse_Literal() {
2140 var cacheKey = 'Literal@' + pos;
2141 var cachedResult = cache[cacheKey];
2142 if (cachedResult) {
2143 pos = cachedResult.nextPos;
2144 return cachedResult.result;
2145 }
2146
2147
2148 var result5 = parse_NullToken();
2149 if (result5 !== null) {
2150 var result0 = result5;
2151 } else {
2152 var result4 = parse_BooleanLiteral();
2153 if (result4 !== null) {
2154 var result0 = result4;
2155 } else {
2156 var result3 = parse_NumericLiteral();
2157 if (result3 !== null) {
2158 var result0 = result3;
2159 } else {
2160 var result2 = parse_StringLiteral();
2161 if (result2 !== null) {
2162 var result0 = result2;
2163 } else {
2164 var result1 = parse_RegularExpressionLiteral();
2165 if (result1 !== null) {
2166 var result0 = result1;
2167 } else {
2168 var result0 = null;;
2169 };
2170 };
2171 };
2172 };
2173 }
2174
2175
2176
2177 cache[cacheKey] = {
2178 nextPos: pos,
2179 result: result0
2180 };
2181 return result0;
2182 }
2183
2184 function parse_BooleanLiteral() {
2185 var cacheKey = 'BooleanLiteral@' + pos;
2186 var cachedResult = cache[cacheKey];
2187 if (cachedResult) {
2188 pos = cachedResult.nextPos;
2189 return cachedResult.result;
2190 }
2191
2192
2193 var result2 = parse_TrueToken();
2194 if (result2 !== null) {
2195 var result0 = result2;
2196 } else {
2197 var result1 = parse_FalseToken();
2198 if (result1 !== null) {
2199 var result0 = result1;
2200 } else {
2201 var result0 = null;;
2202 };
2203 }
2204
2205
2206
2207 cache[cacheKey] = {
2208 nextPos: pos,
2209 result: result0
2210 };
2211 return result0;
2212 }
2213
2214 function parse_NumericLiteral() {
2215 var cacheKey = 'NumericLiteral@' + pos;
2216 var cachedResult = cache[cacheKey];
2217 if (cachedResult) {
2218 pos = cachedResult.nextPos;
2219 return cachedResult.result;
2220 }
2221
2222 var savedReportMatchFailures = reportMatchFailures;
2223 reportMatchFailures = false;
2224 var savedPos0 = pos;
2225 var result5 = parse_HexIntegerLiteral();
2226 if (result5 !== null) {
2227 var result1 = result5;
2228 } else {
2229 var result4 = parse_DecimalLiteral();
2230 if (result4 !== null) {
2231 var result1 = result4;
2232 } else {
2233 var result1 = null;;
2234 };
2235 }
2236 if (result1 !== null) {
2237 var savedPos1 = pos;
2238 var savedReportMatchFailuresVar0 = reportMatchFailures;
2239 reportMatchFailures = false;
2240 var result3 = parse_IdentifierStart();
2241 reportMatchFailures = savedReportMatchFailuresVar0;
2242 if (result3 === null) {
2243 var result2 = '';
2244 } else {
2245 var result2 = null;
2246 pos = savedPos1;
2247 }
2248 if (result2 !== null) {
2249 var result0 = [result1, result2];
2250 } else {
2251 var result0 = null;
2252 pos = savedPos0;
2253 }
2254 } else {
2255 var result0 = null;
2256 pos = savedPos0;
2257 }
2258 reportMatchFailures = savedReportMatchFailures;
2259 if (reportMatchFailures && result0 === null) {
2260 matchFailed("number");
2261 }
2262
2263 cache[cacheKey] = {
2264 nextPos: pos,
2265 result: result0
2266 };
2267 return result0;
2268 }
2269
2270 function parse_DecimalLiteral() {
2271 var cacheKey = 'DecimalLiteral@' + pos;
2272 var cachedResult = cache[cacheKey];
2273 if (cachedResult) {
2274 pos = cachedResult.nextPos;
2275 return cachedResult.result;
2276 }
2277
2278
2279 var savedPos2 = pos;
2280 var result11 = parse_DecimalIntegerLiteral();
2281 if (result11 !== null) {
2282 if (input.substr(pos, 1) === ".") {
2283 var result12 = ".";
2284 pos += 1;
2285 } else {
2286 var result12 = null;
2287 if (reportMatchFailures) {
2288 matchFailed("\".\"");
2289 }
2290 }
2291 if (result12 !== null) {
2292 var result16 = parse_DecimalDigits();
2293 var result13 = result16 !== null ? result16 : '';
2294 if (result13 !== null) {
2295 var result15 = parse_ExponentPart();
2296 var result14 = result15 !== null ? result15 : '';
2297 if (result14 !== null) {
2298 var result10 = [result11, result12, result13, result14];
2299 } else {
2300 var result10 = null;
2301 pos = savedPos2;
2302 }
2303 } else {
2304 var result10 = null;
2305 pos = savedPos2;
2306 }
2307 } else {
2308 var result10 = null;
2309 pos = savedPos2;
2310 }
2311 } else {
2312 var result10 = null;
2313 pos = savedPos2;
2314 }
2315 if (result10 !== null) {
2316 var result0 = result10;
2317 } else {
2318 var savedPos1 = pos;
2319 if (input.substr(pos, 1) === ".") {
2320 var result6 = ".";
2321 pos += 1;
2322 } else {
2323 var result6 = null;
2324 if (reportMatchFailures) {
2325 matchFailed("\".\"");
2326 }
2327 }
2328 if (result6 !== null) {
2329 var result7 = parse_DecimalDigits();
2330 if (result7 !== null) {
2331 var result9 = parse_ExponentPart();
2332 var result8 = result9 !== null ? result9 : '';
2333 if (result8 !== null) {
2334 var result5 = [result6, result7, result8];
2335 } else {
2336 var result5 = null;
2337 pos = savedPos1;
2338 }
2339 } else {
2340 var result5 = null;
2341 pos = savedPos1;
2342 }
2343 } else {
2344 var result5 = null;
2345 pos = savedPos1;
2346 }
2347 if (result5 !== null) {
2348 var result0 = result5;
2349 } else {
2350 var savedPos0 = pos;
2351 var result2 = parse_DecimalIntegerLiteral();
2352 if (result2 !== null) {
2353 var result4 = parse_ExponentPart();
2354 var result3 = result4 !== null ? result4 : '';
2355 if (result3 !== null) {
2356 var result1 = [result2, result3];
2357 } else {
2358 var result1 = null;
2359 pos = savedPos0;
2360 }
2361 } else {
2362 var result1 = null;
2363 pos = savedPos0;
2364 }
2365 if (result1 !== null) {
2366 var result0 = result1;
2367 } else {
2368 var result0 = null;;
2369 };
2370 };
2371 }
2372
2373
2374
2375 cache[cacheKey] = {
2376 nextPos: pos,
2377 result: result0
2378 };
2379 return result0;
2380 }
2381
2382 function parse_DecimalIntegerLiteral() {
2383 var cacheKey = 'DecimalIntegerLiteral@' + pos;
2384 var cachedResult = cache[cacheKey];
2385 if (cachedResult) {
2386 pos = cachedResult.nextPos;
2387 return cachedResult.result;
2388 }
2389
2390
2391 if (input.substr(pos, 1) === "0") {
2392 var result5 = "0";
2393 pos += 1;
2394 } else {
2395 var result5 = null;
2396 if (reportMatchFailures) {
2397 matchFailed("\"0\"");
2398 }
2399 }
2400 if (result5 !== null) {
2401 var result0 = result5;
2402 } else {
2403 var savedPos0 = pos;
2404 var result2 = parse_NonZeroDigit();
2405 if (result2 !== null) {
2406 var result4 = parse_DecimalDigits();
2407 var result3 = result4 !== null ? result4 : '';
2408 if (result3 !== null) {
2409 var result1 = [result2, result3];
2410 } else {
2411 var result1 = null;
2412 pos = savedPos0;
2413 }
2414 } else {
2415 var result1 = null;
2416 pos = savedPos0;
2417 }
2418 if (result1 !== null) {
2419 var result0 = result1;
2420 } else {
2421 var result0 = null;;
2422 };
2423 }
2424
2425
2426
2427 cache[cacheKey] = {
2428 nextPos: pos,
2429 result: result0
2430 };
2431 return result0;
2432 }
2433
2434 function parse_DecimalDigits() {
2435 var cacheKey = 'DecimalDigits@' + pos;
2436 var cachedResult = cache[cacheKey];
2437 if (cachedResult) {
2438 pos = cachedResult.nextPos;
2439 return cachedResult.result;
2440 }
2441
2442
2443 var result1 = parse_DecimalDigit();
2444 if (result1 !== null) {
2445 var result0 = [];
2446 while (result1 !== null) {
2447 result0.push(result1);
2448 var result1 = parse_DecimalDigit();
2449 }
2450 } else {
2451 var result0 = null;
2452 }
2453
2454
2455
2456 cache[cacheKey] = {
2457 nextPos: pos,
2458 result: result0
2459 };
2460 return result0;
2461 }
2462
2463 function parse_DecimalDigit() {
2464 var cacheKey = 'DecimalDigit@' + pos;
2465 var cachedResult = cache[cacheKey];
2466 if (cachedResult) {
2467 pos = cachedResult.nextPos;
2468 return cachedResult.result;
2469 }
2470
2471
2472 if (input.substr(pos).match(/^[0-9]/) !== null) {
2473 var result0 = input.charAt(pos);
2474 pos++;
2475 } else {
2476 var result0 = null;
2477 if (reportMatchFailures) {
2478 matchFailed("[0-9]");
2479 }
2480 }
2481
2482
2483
2484 cache[cacheKey] = {
2485 nextPos: pos,
2486 result: result0
2487 };
2488 return result0;
2489 }
2490
2491 function parse_NonZeroDigit() {
2492 var cacheKey = 'NonZeroDigit@' + pos;
2493 var cachedResult = cache[cacheKey];
2494 if (cachedResult) {
2495 pos = cachedResult.nextPos;
2496 return cachedResult.result;
2497 }
2498
2499
2500 if (input.substr(pos).match(/^[1-9]/) !== null) {
2501 var result0 = input.charAt(pos);
2502 pos++;
2503 } else {
2504 var result0 = null;
2505 if (reportMatchFailures) {
2506 matchFailed("[1-9]");
2507 }
2508 }
2509
2510
2511
2512 cache[cacheKey] = {
2513 nextPos: pos,
2514 result: result0
2515 };
2516 return result0;
2517 }
2518
2519 function parse_ExponentPart() {
2520 var cacheKey = 'ExponentPart@' + pos;
2521 var cachedResult = cache[cacheKey];
2522 if (cachedResult) {
2523 pos = cachedResult.nextPos;
2524 return cachedResult.result;
2525 }
2526
2527
2528 var savedPos0 = pos;
2529 var result1 = parse_ExponentIndicator();
2530 if (result1 !== null) {
2531 var result2 = parse_SignedInteger();
2532 if (result2 !== null) {
2533 var result0 = [result1, result2];
2534 } else {
2535 var result0 = null;
2536 pos = savedPos0;
2537 }
2538 } else {
2539 var result0 = null;
2540 pos = savedPos0;
2541 }
2542
2543
2544
2545 cache[cacheKey] = {
2546 nextPos: pos,
2547 result: result0
2548 };
2549 return result0;
2550 }
2551
2552 function parse_ExponentIndicator() {
2553 var cacheKey = 'ExponentIndicator@' + pos;
2554 var cachedResult = cache[cacheKey];
2555 if (cachedResult) {
2556 pos = cachedResult.nextPos;
2557 return cachedResult.result;
2558 }
2559
2560
2561 if (input.substr(pos).match(/^[eE]/) !== null) {
2562 var result0 = input.charAt(pos);
2563 pos++;
2564 } else {
2565 var result0 = null;
2566 if (reportMatchFailures) {
2567 matchFailed("[eE]");
2568 }
2569 }
2570
2571
2572
2573 cache[cacheKey] = {
2574 nextPos: pos,
2575 result: result0
2576 };
2577 return result0;
2578 }
2579
2580 function parse_SignedInteger() {
2581 var cacheKey = 'SignedInteger@' + pos;
2582 var cachedResult = cache[cacheKey];
2583 if (cachedResult) {
2584 pos = cachedResult.nextPos;
2585 return cachedResult.result;
2586 }
2587
2588
2589 var savedPos0 = pos;
2590 if (input.substr(pos).match(/^[\-+]/) !== null) {
2591 var result3 = input.charAt(pos);
2592 pos++;
2593 } else {
2594 var result3 = null;
2595 if (reportMatchFailures) {
2596 matchFailed("[\\-+]");
2597 }
2598 }
2599 var result1 = result3 !== null ? result3 : '';
2600 if (result1 !== null) {
2601 var result2 = parse_DecimalDigits();
2602 if (result2 !== null) {
2603 var result0 = [result1, result2];
2604 } else {
2605 var result0 = null;
2606 pos = savedPos0;
2607 }
2608 } else {
2609 var result0 = null;
2610 pos = savedPos0;
2611 }
2612
2613
2614
2615 cache[cacheKey] = {
2616 nextPos: pos,
2617 result: result0
2618 };
2619 return result0;
2620 }
2621
2622 function parse_HexIntegerLiteral() {
2623 var cacheKey = 'HexIntegerLiteral@' + pos;
2624 var cachedResult = cache[cacheKey];
2625 if (cachedResult) {
2626 pos = cachedResult.nextPos;
2627 return cachedResult.result;
2628 }
2629
2630
2631 var savedPos0 = pos;
2632 if (input.substr(pos, 1) === "0") {
2633 var result1 = "0";
2634 pos += 1;
2635 } else {
2636 var result1 = null;
2637 if (reportMatchFailures) {
2638 matchFailed("\"0\"");
2639 }
2640 }
2641 if (result1 !== null) {
2642 if (input.substr(pos).match(/^[xX]/) !== null) {
2643 var result2 = input.charAt(pos);
2644 pos++;
2645 } else {
2646 var result2 = null;
2647 if (reportMatchFailures) {
2648 matchFailed("[xX]");
2649 }
2650 }
2651 if (result2 !== null) {
2652 var result4 = parse_HexDigit();
2653 if (result4 !== null) {
2654 var result3 = [];
2655 while (result4 !== null) {
2656 result3.push(result4);
2657 var result4 = parse_HexDigit();
2658 }
2659 } else {
2660 var result3 = null;
2661 }
2662 if (result3 !== null) {
2663 var result0 = [result1, result2, result3];
2664 } else {
2665 var result0 = null;
2666 pos = savedPos0;
2667 }
2668 } else {
2669 var result0 = null;
2670 pos = savedPos0;
2671 }
2672 } else {
2673 var result0 = null;
2674 pos = savedPos0;
2675 }
2676
2677
2678
2679 cache[cacheKey] = {
2680 nextPos: pos,
2681 result: result0
2682 };
2683 return result0;
2684 }
2685
2686 function parse_HexDigit() {
2687 var cacheKey = 'HexDigit@' + pos;
2688 var cachedResult = cache[cacheKey];
2689 if (cachedResult) {
2690 pos = cachedResult.nextPos;
2691 return cachedResult.result;
2692 }
2693
2694
2695 if (input.substr(pos).match(/^[0-9a-fA-F]/) !== null) {
2696 var result0 = input.charAt(pos);
2697 pos++;
2698 } else {
2699 var result0 = null;
2700 if (reportMatchFailures) {
2701 matchFailed("[0-9a-fA-F]");
2702 }
2703 }
2704
2705
2706
2707 cache[cacheKey] = {
2708 nextPos: pos,
2709 result: result0
2710 };
2711 return result0;
2712 }
2713
2714 function parse_StringLiteral() {
2715 var cacheKey = 'StringLiteral@' + pos;
2716 var cachedResult = cache[cacheKey];
2717 if (cachedResult) {
2718 pos = cachedResult.nextPos;
2719 return cachedResult.result;
2720 }
2721
2722 var savedReportMatchFailures = reportMatchFailures;
2723 reportMatchFailures = false;
2724 var savedPos1 = pos;
2725 if (input.substr(pos, 1) === "\"") {
2726 var result7 = "\"";
2727 pos += 1;
2728 } else {
2729 var result7 = null;
2730 if (reportMatchFailures) {
2731 matchFailed("\"\\\"\"");
2732 }
2733 }
2734 if (result7 !== null) {
2735 var result10 = parse_DoubleStringCharacters();
2736 var result8 = result10 !== null ? result10 : '';
2737 if (result8 !== null) {
2738 if (input.substr(pos, 1) === "\"") {
2739 var result9 = "\"";
2740 pos += 1;
2741 } else {
2742 var result9 = null;
2743 if (reportMatchFailures) {
2744 matchFailed("\"\\\"\"");
2745 }
2746 }
2747 if (result9 !== null) {
2748 var result6 = [result7, result8, result9];
2749 } else {
2750 var result6 = null;
2751 pos = savedPos1;
2752 }
2753 } else {
2754 var result6 = null;
2755 pos = savedPos1;
2756 }
2757 } else {
2758 var result6 = null;
2759 pos = savedPos1;
2760 }
2761 if (result6 !== null) {
2762 var result0 = result6;
2763 } else {
2764 var savedPos0 = pos;
2765 if (input.substr(pos, 1) === "'") {
2766 var result2 = "'";
2767 pos += 1;
2768 } else {
2769 var result2 = null;
2770 if (reportMatchFailures) {
2771 matchFailed("\"'\"");
2772 }
2773 }
2774 if (result2 !== null) {
2775 var result5 = parse_SingleStringCharacters();
2776 var result3 = result5 !== null ? result5 : '';
2777 if (result3 !== null) {
2778 if (input.substr(pos, 1) === "'") {
2779 var result4 = "'";
2780 pos += 1;
2781 } else {
2782 var result4 = null;
2783 if (reportMatchFailures) {
2784 matchFailed("\"'\"");
2785 }
2786 }
2787 if (result4 !== null) {
2788 var result1 = [result2, result3, result4];
2789 } else {
2790 var result1 = null;
2791 pos = savedPos0;
2792 }
2793 } else {
2794 var result1 = null;
2795 pos = savedPos0;
2796 }
2797 } else {
2798 var result1 = null;
2799 pos = savedPos0;
2800 }
2801 if (result1 !== null) {
2802 var result0 = result1;
2803 } else {
2804 var result0 = null;;
2805 };
2806 }
2807 reportMatchFailures = savedReportMatchFailures;
2808 if (reportMatchFailures && result0 === null) {
2809 matchFailed("string");
2810 }
2811
2812 cache[cacheKey] = {
2813 nextPos: pos,
2814 result: result0
2815 };
2816 return result0;
2817 }
2818
2819 function parse_DoubleStringCharacters() {
2820 var cacheKey = 'DoubleStringCharacters@' + pos;
2821 var cachedResult = cache[cacheKey];
2822 if (cachedResult) {
2823 pos = cachedResult.nextPos;
2824 return cachedResult.result;
2825 }
2826
2827
2828 var result1 = parse_DoubleStringCharacter();
2829 if (result1 !== null) {
2830 var result0 = [];
2831 while (result1 !== null) {
2832 result0.push(result1);
2833 var result1 = parse_DoubleStringCharacter();
2834 }
2835 } else {
2836 var result0 = null;
2837 }
2838
2839
2840
2841 cache[cacheKey] = {
2842 nextPos: pos,
2843 result: result0
2844 };
2845 return result0;
2846 }
2847
2848 function parse_SingleStringCharacters() {
2849 var cacheKey = 'SingleStringCharacters@' + pos;
2850 var cachedResult = cache[cacheKey];
2851 if (cachedResult) {
2852 pos = cachedResult.nextPos;
2853 return cachedResult.result;
2854 }
2855
2856
2857 var result1 = parse_SingleStringCharacter();
2858 if (result1 !== null) {
2859 var result0 = [];
2860 while (result1 !== null) {
2861 result0.push(result1);
2862 var result1 = parse_SingleStringCharacter();
2863 }
2864 } else {
2865 var result0 = null;
2866 }
2867
2868
2869
2870 cache[cacheKey] = {
2871 nextPos: pos,
2872 result: result0
2873 };
2874 return result0;
2875 }
2876
2877 function parse_DoubleStringCharacter() {
2878 var cacheKey = 'DoubleStringCharacter@' + pos;
2879 var cachedResult = cache[cacheKey];
2880 if (cachedResult) {
2881 pos = cachedResult.nextPos;
2882 return cachedResult.result;
2883 }
2884
2885
2886 var savedPos1 = pos;
2887 var savedPos2 = pos;
2888 var savedReportMatchFailuresVar0 = reportMatchFailures;
2889 reportMatchFailures = false;
2890 if (input.substr(pos, 1) === "\"") {
2891 var result11 = "\"";
2892 pos += 1;
2893 } else {
2894 var result11 = null;
2895 if (reportMatchFailures) {
2896 matchFailed("\"\\\"\"");
2897 }
2898 }
2899 if (result11 !== null) {
2900 var result8 = result11;
2901 } else {
2902 if (input.substr(pos, 1) === "\\") {
2903 var result10 = "\\";
2904 pos += 1;
2905 } else {
2906 var result10 = null;
2907 if (reportMatchFailures) {
2908 matchFailed("\"\\\\\"");
2909 }
2910 }
2911 if (result10 !== null) {
2912 var result8 = result10;
2913 } else {
2914 var result9 = parse_LineTerminator();
2915 if (result9 !== null) {
2916 var result8 = result9;
2917 } else {
2918 var result8 = null;;
2919 };
2920 };
2921 }
2922 reportMatchFailures = savedReportMatchFailuresVar0;
2923 if (result8 === null) {
2924 var result6 = '';
2925 } else {
2926 var result6 = null;
2927 pos = savedPos2;
2928 }
2929 if (result6 !== null) {
2930 var result7 = parse_SourceCharacter();
2931 if (result7 !== null) {
2932 var result5 = [result6, result7];
2933 } else {
2934 var result5 = null;
2935 pos = savedPos1;
2936 }
2937 } else {
2938 var result5 = null;
2939 pos = savedPos1;
2940 }
2941 if (result5 !== null) {
2942 var result0 = result5;
2943 } else {
2944 var savedPos0 = pos;
2945 if (input.substr(pos, 1) === "\\") {
2946 var result3 = "\\";
2947 pos += 1;
2948 } else {
2949 var result3 = null;
2950 if (reportMatchFailures) {
2951 matchFailed("\"\\\\\"");
2952 }
2953 }
2954 if (result3 !== null) {
2955 var result4 = parse_EscapeSequence();
2956 if (result4 !== null) {
2957 var result2 = [result3, result4];
2958 } else {
2959 var result2 = null;
2960 pos = savedPos0;
2961 }
2962 } else {
2963 var result2 = null;
2964 pos = savedPos0;
2965 }
2966 if (result2 !== null) {
2967 var result0 = result2;
2968 } else {
2969 var result1 = parse_LineContinuation();
2970 if (result1 !== null) {
2971 var result0 = result1;
2972 } else {
2973 var result0 = null;;
2974 };
2975 };
2976 }
2977
2978
2979
2980 cache[cacheKey] = {
2981 nextPos: pos,
2982 result: result0
2983 };
2984 return result0;
2985 }
2986
2987 function parse_SingleStringCharacter() {
2988 var cacheKey = 'SingleStringCharacter@' + pos;
2989 var cachedResult = cache[cacheKey];
2990 if (cachedResult) {
2991 pos = cachedResult.nextPos;
2992 return cachedResult.result;
2993 }
2994
2995
2996 var savedPos1 = pos;
2997 var savedPos2 = pos;
2998 var savedReportMatchFailuresVar0 = reportMatchFailures;
2999 reportMatchFailures = false;
3000 if (input.substr(pos, 1) === "'") {
3001 var result11 = "'";
3002 pos += 1;
3003 } else {
3004 var result11 = null;
3005 if (reportMatchFailures) {
3006 matchFailed("\"'\"");
3007 }
3008 }
3009 if (result11 !== null) {
3010 var result8 = result11;
3011 } else {
3012 if (input.substr(pos, 1) === "\\") {
3013 var result10 = "\\";
3014 pos += 1;
3015 } else {
3016 var result10 = null;
3017 if (reportMatchFailures) {
3018 matchFailed("\"\\\\\"");
3019 }
3020 }
3021 if (result10 !== null) {
3022 var result8 = result10;
3023 } else {
3024 var result9 = parse_LineTerminator();
3025 if (result9 !== null) {
3026 var result8 = result9;
3027 } else {
3028 var result8 = null;;
3029 };
3030 };
3031 }
3032 reportMatchFailures = savedReportMatchFailuresVar0;
3033 if (result8 === null) {
3034 var result6 = '';
3035 } else {
3036 var result6 = null;
3037 pos = savedPos2;
3038 }
3039 if (result6 !== null) {
3040 var result7 = parse_SourceCharacter();
3041 if (result7 !== null) {
3042 var result5 = [result6, result7];
3043 } else {
3044 var result5 = null;
3045 pos = savedPos1;
3046 }
3047 } else {
3048 var result5 = null;
3049 pos = savedPos1;
3050 }
3051 if (result5 !== null) {
3052 var result0 = result5;
3053 } else {
3054 var savedPos0 = pos;
3055 if (input.substr(pos, 1) === "\\") {
3056 var result3 = "\\";
3057 pos += 1;
3058 } else {
3059 var result3 = null;
3060 if (reportMatchFailures) {
3061 matchFailed("\"\\\\\"");
3062 }
3063 }
3064 if (result3 !== null) {
3065 var result4 = parse_EscapeSequence();
3066 if (result4 !== null) {
3067 var result2 = [result3, result4];
3068 } else {
3069 var result2 = null;
3070 pos = savedPos0;
3071 }
3072 } else {
3073 var result2 = null;
3074 pos = savedPos0;
3075 }
3076 if (result2 !== null) {
3077 var result0 = result2;
3078 } else {
3079 var result1 = parse_LineContinuation();
3080 if (result1 !== null) {
3081 var result0 = result1;
3082 } else {
3083 var result0 = null;;
3084 };
3085 };
3086 }
3087
3088
3089
3090 cache[cacheKey] = {
3091 nextPos: pos,
3092 result: result0
3093 };
3094 return result0;
3095 }
3096
3097 function parse_LineContinuation() {
3098 var cacheKey = 'LineContinuation@' + pos;
3099 var cachedResult = cache[cacheKey];
3100 if (cachedResult) {
3101 pos = cachedResult.nextPos;
3102 return cachedResult.result;
3103 }
3104
3105
3106 var savedPos0 = pos;
3107 if (input.substr(pos, 1) === "\\") {
3108 var result1 = "\\";
3109 pos += 1;
3110 } else {
3111 var result1 = null;
3112 if (reportMatchFailures) {
3113 matchFailed("\"\\\\\"");
3114 }
3115 }
3116 if (result1 !== null) {
3117 var result2 = parse_LineTerminatorSequence();
3118 if (result2 !== null) {
3119 var result0 = [result1, result2];
3120 } else {
3121 var result0 = null;
3122 pos = savedPos0;
3123 }
3124 } else {
3125 var result0 = null;
3126 pos = savedPos0;
3127 }
3128
3129
3130
3131 cache[cacheKey] = {
3132 nextPos: pos,
3133 result: result0
3134 };
3135 return result0;
3136 }
3137
3138 function parse_EscapeSequence() {
3139 var cacheKey = 'EscapeSequence@' + pos;
3140 var cachedResult = cache[cacheKey];
3141 if (cachedResult) {
3142 pos = cachedResult.nextPos;
3143 return cachedResult.result;
3144 }
3145
3146
3147 var result7 = parse_CharacterEscapeSequence();
3148 if (result7 !== null) {
3149 var result0 = result7;
3150 } else {
3151 var savedPos0 = pos;
3152 if (input.substr(pos, 1) === "0") {
3153 var result4 = "0";
3154 pos += 1;
3155 } else {
3156 var result4 = null;
3157 if (reportMatchFailures) {
3158 matchFailed("\"0\"");
3159 }
3160 }
3161 if (result4 !== null) {
3162 var savedPos1 = pos;
3163 var savedReportMatchFailuresVar0 = reportMatchFailures;
3164 reportMatchFailures = false;
3165 var result6 = parse_DecimalDigit();
3166 reportMatchFailures = savedReportMatchFailuresVar0;
3167 if (result6 === null) {
3168 var result5 = '';
3169 } else {
3170 var result5 = null;
3171 pos = savedPos1;
3172 }
3173 if (result5 !== null) {
3174 var result3 = [result4, result5];
3175 } else {
3176 var result3 = null;
3177 pos = savedPos0;
3178 }
3179 } else {
3180 var result3 = null;
3181 pos = savedPos0;
3182 }
3183 if (result3 !== null) {
3184 var result0 = result3;
3185 } else {
3186 var result2 = parse_HexEscapeSequence();
3187 if (result2 !== null) {
3188 var result0 = result2;
3189 } else {
3190 var result1 = parse_UnicodeEscapeSequence();
3191 if (result1 !== null) {
3192 var result0 = result1;
3193 } else {
3194 var result0 = null;;
3195 };
3196 };
3197 };
3198 }
3199
3200
3201
3202 cache[cacheKey] = {
3203 nextPos: pos,
3204 result: result0
3205 };
3206 return result0;
3207 }
3208
3209 function parse_CharacterEscapeSequence() {
3210 var cacheKey = 'CharacterEscapeSequence@' + pos;
3211 var cachedResult = cache[cacheKey];
3212 if (cachedResult) {
3213 pos = cachedResult.nextPos;
3214 return cachedResult.result;
3215 }
3216
3217
3218 var result2 = parse_SingleEscapeCharacter();
3219 if (result2 !== null) {
3220 var result0 = result2;
3221 } else {
3222 var result1 = parse_NonEscapeCharacter();
3223 if (result1 !== null) {
3224 var result0 = result1;
3225 } else {
3226 var result0 = null;;
3227 };
3228 }
3229
3230
3231
3232 cache[cacheKey] = {
3233 nextPos: pos,
3234 result: result0
3235 };
3236 return result0;
3237 }
3238
3239 function parse_SingleEscapeCharacter() {
3240 var cacheKey = 'SingleEscapeCharacter@' + pos;
3241 var cachedResult = cache[cacheKey];
3242 if (cachedResult) {
3243 pos = cachedResult.nextPos;
3244 return cachedResult.result;
3245 }
3246
3247
3248 if (input.substr(pos).match(/^['"\\bfnrtv]/) !== null) {
3249 var result0 = input.charAt(pos);
3250 pos++;
3251 } else {
3252 var result0 = null;
3253 if (reportMatchFailures) {
3254 matchFailed("['\"\\\\bfnrtv]");
3255 }
3256 }
3257
3258
3259
3260 cache[cacheKey] = {
3261 nextPos: pos,
3262 result: result0
3263 };
3264 return result0;
3265 }
3266
3267 function parse_NonEscapeCharacter() {
3268 var cacheKey = 'NonEscapeCharacter@' + pos;
3269 var cachedResult = cache[cacheKey];
3270 if (cachedResult) {
3271 pos = cachedResult.nextPos;
3272 return cachedResult.result;
3273 }
3274
3275
3276 var savedPos0 = pos;
3277 var savedPos1 = pos;
3278 var savedReportMatchFailuresVar0 = reportMatchFailures;
3279 reportMatchFailures = false;
3280 var result5 = parse_EscapeCharacter();
3281 reportMatchFailures = savedReportMatchFailuresVar0;
3282 if (result5 === null) {
3283 var result4 = '';
3284 } else {
3285 var result4 = null;
3286 pos = savedPos1;
3287 }
3288 if (result4 !== null) {
3289 var result1 = result4;
3290 } else {
3291 var result3 = parse_LineTerminator();
3292 if (result3 !== null) {
3293 var result1 = result3;
3294 } else {
3295 var result1 = null;;
3296 };
3297 }
3298 if (result1 !== null) {
3299 var result2 = parse_SourceCharacter();
3300 if (result2 !== null) {
3301 var result0 = [result1, result2];
3302 } else {
3303 var result0 = null;
3304 pos = savedPos0;
3305 }
3306 } else {
3307 var result0 = null;
3308 pos = savedPos0;
3309 }
3310
3311
3312
3313 cache[cacheKey] = {
3314 nextPos: pos,
3315 result: result0
3316 };
3317 return result0;
3318 }
3319
3320 function parse_EscapeCharacter() {
3321 var cacheKey = 'EscapeCharacter@' + pos;
3322 var cachedResult = cache[cacheKey];
3323 if (cachedResult) {
3324 pos = cachedResult.nextPos;
3325 return cachedResult.result;
3326 }
3327
3328
3329 var result4 = parse_SingleEscapeCharacter();
3330 if (result4 !== null) {
3331 var result0 = result4;
3332 } else {
3333 var result3 = parse_DecimalDigit();
3334 if (result3 !== null) {
3335 var result0 = result3;
3336 } else {
3337 if (input.substr(pos, 1) === "x") {
3338 var result2 = "x";
3339 pos += 1;
3340 } else {
3341 var result2 = null;
3342 if (reportMatchFailures) {
3343 matchFailed("\"x\"");
3344 }
3345 }
3346 if (result2 !== null) {
3347 var result0 = result2;
3348 } else {
3349 if (input.substr(pos, 1) === "u") {
3350 var result1 = "u";
3351 pos += 1;
3352 } else {
3353 var result1 = null;
3354 if (reportMatchFailures) {
3355 matchFailed("\"u\"");
3356 }
3357 }
3358 if (result1 !== null) {
3359 var result0 = result1;
3360 } else {
3361 var result0 = null;;
3362 };
3363 };
3364 };
3365 }
3366
3367
3368
3369 cache[cacheKey] = {
3370 nextPos: pos,
3371 result: result0
3372 };
3373 return result0;
3374 }
3375
3376 function parse_HexEscapeSequence() {
3377 var cacheKey = 'HexEscapeSequence@' + pos;
3378 var cachedResult = cache[cacheKey];
3379 if (cachedResult) {
3380 pos = cachedResult.nextPos;
3381 return cachedResult.result;
3382 }
3383
3384
3385 var savedPos0 = pos;
3386 if (input.substr(pos, 1) === "x") {
3387 var result1 = "x";
3388 pos += 1;
3389 } else {
3390 var result1 = null;
3391 if (reportMatchFailures) {
3392 matchFailed("\"x\"");
3393 }
3394 }
3395 if (result1 !== null) {
3396 var result2 = parse_HexDigit();
3397 if (result2 !== null) {
3398 var result3 = parse_HexDigit();
3399 if (result3 !== null) {
3400 var result0 = [result1, result2, result3];
3401 } else {
3402 var result0 = null;
3403 pos = savedPos0;
3404 }
3405 } else {
3406 var result0 = null;
3407 pos = savedPos0;
3408 }
3409 } else {
3410 var result0 = null;
3411 pos = savedPos0;
3412 }
3413
3414
3415
3416 cache[cacheKey] = {
3417 nextPos: pos,
3418 result: result0
3419 };
3420 return result0;
3421 }
3422
3423 function parse_UnicodeEscapeSequence() {
3424 var cacheKey = 'UnicodeEscapeSequence@' + pos;
3425 var cachedResult = cache[cacheKey];
3426 if (cachedResult) {
3427 pos = cachedResult.nextPos;
3428 return cachedResult.result;
3429 }
3430
3431
3432 var savedPos0 = pos;
3433 if (input.substr(pos, 1) === "u") {
3434 var result1 = "u";
3435 pos += 1;
3436 } else {
3437 var result1 = null;
3438 if (reportMatchFailures) {
3439 matchFailed("\"u\"");
3440 }
3441 }
3442 if (result1 !== null) {
3443 var result2 = parse_HexDigit();
3444 if (result2 !== null) {
3445 var result3 = parse_HexDigit();
3446 if (result3 !== null) {
3447 var result4 = parse_HexDigit();
3448 if (result4 !== null) {
3449 var result5 = parse_HexDigit();
3450 if (result5 !== null) {
3451 var result0 = [result1, result2, result3, result4, result5];
3452 } else {
3453 var result0 = null;
3454 pos = savedPos0;
3455 }
3456 } else {
3457 var result0 = null;
3458 pos = savedPos0;
3459 }
3460 } else {
3461 var result0 = null;
3462 pos = savedPos0;
3463 }
3464 } else {
3465 var result0 = null;
3466 pos = savedPos0;
3467 }
3468 } else {
3469 var result0 = null;
3470 pos = savedPos0;
3471 }
3472
3473
3474
3475 cache[cacheKey] = {
3476 nextPos: pos,
3477 result: result0
3478 };
3479 return result0;
3480 }
3481
3482 function parse_RegularExpressionLiteral() {
3483 var cacheKey = 'RegularExpressionLiteral@' + pos;
3484 var cachedResult = cache[cacheKey];
3485 if (cachedResult) {
3486 pos = cachedResult.nextPos;
3487 return cachedResult.result;
3488 }
3489
3490 var savedReportMatchFailures = reportMatchFailures;
3491 reportMatchFailures = false;
3492 var savedPos0 = pos;
3493 if (input.substr(pos, 1) === "/") {
3494 var result1 = "/";
3495 pos += 1;
3496 } else {
3497 var result1 = null;
3498 if (reportMatchFailures) {
3499 matchFailed("\"/\"");
3500 }
3501 }
3502 if (result1 !== null) {
3503 var result2 = parse_RegularExpressionBody();
3504 if (result2 !== null) {
3505 if (input.substr(pos, 1) === "/") {
3506 var result3 = "/";
3507 pos += 1;
3508 } else {
3509 var result3 = null;
3510 if (reportMatchFailures) {
3511 matchFailed("\"/\"");
3512 }
3513 }
3514 if (result3 !== null) {
3515 var result4 = parse_RegularExpressionFlags();
3516 if (result4 !== null) {
3517 var result0 = [result1, result2, result3, result4];
3518 } else {
3519 var result0 = null;
3520 pos = savedPos0;
3521 }
3522 } else {
3523 var result0 = null;
3524 pos = savedPos0;
3525 }
3526 } else {
3527 var result0 = null;
3528 pos = savedPos0;
3529 }
3530 } else {
3531 var result0 = null;
3532 pos = savedPos0;
3533 }
3534 reportMatchFailures = savedReportMatchFailures;
3535 if (reportMatchFailures && result0 === null) {
3536 matchFailed("regular expression");
3537 }
3538
3539 cache[cacheKey] = {
3540 nextPos: pos,
3541 result: result0
3542 };
3543 return result0;
3544 }
3545
3546 function parse_RegularExpressionBody() {
3547 var cacheKey = 'RegularExpressionBody@' + pos;
3548 var cachedResult = cache[cacheKey];
3549 if (cachedResult) {
3550 pos = cachedResult.nextPos;
3551 return cachedResult.result;
3552 }
3553
3554
3555 var savedPos0 = pos;
3556 var result1 = parse_RegularExpressionFirstChar();
3557 if (result1 !== null) {
3558 var result2 = parse_RegularExpressionChars();
3559 if (result2 !== null) {
3560 var result0 = [result1, result2];
3561 } else {
3562 var result0 = null;
3563 pos = savedPos0;
3564 }
3565 } else {
3566 var result0 = null;
3567 pos = savedPos0;
3568 }
3569
3570
3571
3572 cache[cacheKey] = {
3573 nextPos: pos,
3574 result: result0
3575 };
3576 return result0;
3577 }
3578
3579 function parse_RegularExpressionChars() {
3580 var cacheKey = 'RegularExpressionChars@' + pos;
3581 var cachedResult = cache[cacheKey];
3582 if (cachedResult) {
3583 pos = cachedResult.nextPos;
3584 return cachedResult.result;
3585 }
3586
3587
3588 var result0 = [];
3589 var result1 = parse_RegularExpressionChar();
3590 while (result1 !== null) {
3591 result0.push(result1);
3592 var result1 = parse_RegularExpressionChar();
3593 }
3594
3595
3596
3597 cache[cacheKey] = {
3598 nextPos: pos,
3599 result: result0
3600 };
3601 return result0;
3602 }
3603
3604 function parse_RegularExpressionFirstChar() {
3605 var cacheKey = 'RegularExpressionFirstChar@' + pos;
3606 var cachedResult = cache[cacheKey];
3607 if (cachedResult) {
3608 pos = cachedResult.nextPos;
3609 return cachedResult.result;
3610 }
3611
3612
3613 var savedPos0 = pos;
3614 var savedPos1 = pos;
3615 var savedReportMatchFailuresVar0 = reportMatchFailures;
3616 reportMatchFailures = false;
3617 if (input.substr(pos).match(/^[*\\\/[]/) !== null) {
3618 var result6 = input.charAt(pos);
3619 pos++;
3620 } else {
3621 var result6 = null;
3622 if (reportMatchFailures) {
3623 matchFailed("[*\\\\\\/[]");
3624 }
3625 }
3626 reportMatchFailures = savedReportMatchFailuresVar0;
3627 if (result6 === null) {
3628 var result4 = '';
3629 } else {
3630 var result4 = null;
3631 pos = savedPos1;
3632 }
3633 if (result4 !== null) {
3634 var result5 = parse_RegularExpressionNonTerminator();
3635 if (result5 !== null) {
3636 var result3 = [result4, result5];
3637 } else {
3638 var result3 = null;
3639 pos = savedPos0;
3640 }
3641 } else {
3642 var result3 = null;
3643 pos = savedPos0;
3644 }
3645 if (result3 !== null) {
3646 var result0 = result3;
3647 } else {
3648 var result2 = parse_RegularExpressionBackslashSequence();
3649 if (result2 !== null) {
3650 var result0 = result2;
3651 } else {
3652 var result1 = parse_RegularExpressionClass();
3653 if (result1 !== null) {
3654 var result0 = result1;
3655 } else {
3656 var result0 = null;;
3657 };
3658 };
3659 }
3660
3661
3662
3663 cache[cacheKey] = {
3664 nextPos: pos,
3665 result: result0
3666 };
3667 return result0;
3668 }
3669
3670 function parse_RegularExpressionChar() {
3671 var cacheKey = 'RegularExpressionChar@' + pos;
3672 var cachedResult = cache[cacheKey];
3673 if (cachedResult) {
3674 pos = cachedResult.nextPos;
3675 return cachedResult.result;
3676 }
3677
3678
3679 var savedPos0 = pos;
3680 var savedPos1 = pos;
3681 var savedReportMatchFailuresVar0 = reportMatchFailures;
3682 reportMatchFailures = false;
3683 if (input.substr(pos).match(/^[\\\/[]/) !== null) {
3684 var result6 = input.charAt(pos);
3685 pos++;
3686 } else {
3687 var result6 = null;
3688 if (reportMatchFailures) {
3689 matchFailed("[\\\\\\/[]");
3690 }
3691 }
3692 reportMatchFailures = savedReportMatchFailuresVar0;
3693 if (result6 === null) {
3694 var result4 = '';
3695 } else {
3696 var result4 = null;
3697 pos = savedPos1;
3698 }
3699 if (result4 !== null) {
3700 var result5 = parse_RegularExpressionNonTerminator();
3701 if (result5 !== null) {
3702 var result3 = [result4, result5];
3703 } else {
3704 var result3 = null;
3705 pos = savedPos0;
3706 }
3707 } else {
3708 var result3 = null;
3709 pos = savedPos0;
3710 }
3711 if (result3 !== null) {
3712 var result0 = result3;
3713 } else {
3714 var result2 = parse_RegularExpressionBackslashSequence();
3715 if (result2 !== null) {
3716 var result0 = result2;
3717 } else {
3718 var result1 = parse_RegularExpressionClass();
3719 if (result1 !== null) {
3720 var result0 = result1;
3721 } else {
3722 var result0 = null;;
3723 };
3724 };
3725 }
3726
3727
3728
3729 cache[cacheKey] = {
3730 nextPos: pos,
3731 result: result0
3732 };
3733 return result0;
3734 }
3735
3736 function parse_RegularExpressionBackslashSequence() {
3737 var cacheKey = 'RegularExpressionBackslashSequence@' + pos;
3738 var cachedResult = cache[cacheKey];
3739 if (cachedResult) {
3740 pos = cachedResult.nextPos;
3741 return cachedResult.result;
3742 }
3743
3744
3745 var savedPos0 = pos;
3746 if (input.substr(pos, 1) === "\\") {
3747 var result1 = "\\";
3748 pos += 1;
3749 } else {
3750 var result1 = null;
3751 if (reportMatchFailures) {
3752 matchFailed("\"\\\\\"");
3753 }
3754 }
3755 if (result1 !== null) {
3756 var result2 = parse_RegularExpressionNonTerminator();
3757 if (result2 !== null) {
3758 var result0 = [result1, result2];
3759 } else {
3760 var result0 = null;
3761 pos = savedPos0;
3762 }
3763 } else {
3764 var result0 = null;
3765 pos = savedPos0;
3766 }
3767
3768
3769
3770 cache[cacheKey] = {
3771 nextPos: pos,
3772 result: result0
3773 };
3774 return result0;
3775 }
3776
3777 function parse_RegularExpressionNonTerminator() {
3778 var cacheKey = 'RegularExpressionNonTerminator@' + pos;
3779 var cachedResult = cache[cacheKey];
3780 if (cachedResult) {
3781 pos = cachedResult.nextPos;
3782 return cachedResult.result;
3783 }
3784
3785
3786 var savedPos0 = pos;
3787 var savedPos1 = pos;
3788 var savedReportMatchFailuresVar0 = reportMatchFailures;
3789 reportMatchFailures = false;
3790 var result3 = parse_LineTerminator();
3791 reportMatchFailures = savedReportMatchFailuresVar0;
3792 if (result3 === null) {
3793 var result1 = '';
3794 } else {
3795 var result1 = null;
3796 pos = savedPos1;
3797 }
3798 if (result1 !== null) {
3799 var result2 = parse_SourceCharacter();
3800 if (result2 !== null) {
3801 var result0 = [result1, result2];
3802 } else {
3803 var result0 = null;
3804 pos = savedPos0;
3805 }
3806 } else {
3807 var result0 = null;
3808 pos = savedPos0;
3809 }
3810
3811
3812
3813 cache[cacheKey] = {
3814 nextPos: pos,
3815 result: result0
3816 };
3817 return result0;
3818 }
3819
3820 function parse_RegularExpressionClass() {
3821 var cacheKey = 'RegularExpressionClass@' + pos;
3822 var cachedResult = cache[cacheKey];
3823 if (cachedResult) {
3824 pos = cachedResult.nextPos;
3825 return cachedResult.result;
3826 }
3827
3828
3829 var savedPos0 = pos;
3830 if (input.substr(pos, 1) === "[") {
3831 var result1 = "[";
3832 pos += 1;
3833 } else {
3834 var result1 = null;
3835 if (reportMatchFailures) {
3836 matchFailed("\"[\"");
3837 }
3838 }
3839 if (result1 !== null) {
3840 var result2 = parse_RegularExpressionClassChars();
3841 if (result2 !== null) {
3842 if (input.substr(pos, 1) === "]") {
3843 var result3 = "]";
3844 pos += 1;
3845 } else {
3846 var result3 = null;
3847 if (reportMatchFailures) {
3848 matchFailed("\"]\"");
3849 }
3850 }
3851 if (result3 !== null) {
3852 var result0 = [result1, result2, result3];
3853 } else {
3854 var result0 = null;
3855 pos = savedPos0;
3856 }
3857 } else {
3858 var result0 = null;
3859 pos = savedPos0;
3860 }
3861 } else {
3862 var result0 = null;
3863 pos = savedPos0;
3864 }
3865
3866
3867
3868 cache[cacheKey] = {
3869 nextPos: pos,
3870 result: result0
3871 };
3872 return result0;
3873 }
3874
3875 function parse_RegularExpressionClassChars() {
3876 var cacheKey = 'RegularExpressionClassChars@' + pos;
3877 var cachedResult = cache[cacheKey];
3878 if (cachedResult) {
3879 pos = cachedResult.nextPos;
3880 return cachedResult.result;
3881 }
3882
3883
3884 var result0 = [];
3885 var result1 = parse_RegularExpressionClassChar();
3886 while (result1 !== null) {
3887 result0.push(result1);
3888 var result1 = parse_RegularExpressionClassChar();
3889 }
3890
3891
3892
3893 cache[cacheKey] = {
3894 nextPos: pos,
3895 result: result0
3896 };
3897 return result0;
3898 }
3899
3900 function parse_RegularExpressionClassChar() {
3901 var cacheKey = 'RegularExpressionClassChar@' + pos;
3902 var cachedResult = cache[cacheKey];
3903 if (cachedResult) {
3904 pos = cachedResult.nextPos;
3905 return cachedResult.result;
3906 }
3907
3908
3909 var savedPos0 = pos;
3910 var savedPos1 = pos;
3911 var savedReportMatchFailuresVar0 = reportMatchFailures;
3912 reportMatchFailures = false;
3913 if (input.substr(pos).match(/^[\]\\]/) !== null) {
3914 var result5 = input.charAt(pos);
3915 pos++;
3916 } else {
3917 var result5 = null;
3918 if (reportMatchFailures) {
3919 matchFailed("[\\]\\\\]");
3920 }
3921 }
3922 reportMatchFailures = savedReportMatchFailuresVar0;
3923 if (result5 === null) {
3924 var result3 = '';
3925 } else {
3926 var result3 = null;
3927 pos = savedPos1;
3928 }
3929 if (result3 !== null) {
3930 var result4 = parse_RegularExpressionNonTerminator();
3931 if (result4 !== null) {
3932 var result2 = [result3, result4];
3933 } else {
3934 var result2 = null;
3935 pos = savedPos0;
3936 }
3937 } else {
3938 var result2 = null;
3939 pos = savedPos0;
3940 }
3941 if (result2 !== null) {
3942 var result0 = result2;
3943 } else {
3944 var result1 = parse_RegularExpressionBackslashSequence();
3945 if (result1 !== null) {
3946 var result0 = result1;
3947 } else {
3948 var result0 = null;;
3949 };
3950 }
3951
3952
3953
3954 cache[cacheKey] = {
3955 nextPos: pos,
3956 result: result0
3957 };
3958 return result0;
3959 }
3960
3961 function parse_RegularExpressionFlags() {
3962 var cacheKey = 'RegularExpressionFlags@' + pos;
3963 var cachedResult = cache[cacheKey];
3964 if (cachedResult) {
3965 pos = cachedResult.nextPos;
3966 return cachedResult.result;
3967 }
3968
3969
3970 var result0 = [];
3971 var result1 = parse_IdentifierPart();
3972 while (result1 !== null) {
3973 result0.push(result1);
3974 var result1 = parse_IdentifierPart();
3975 }
3976
3977
3978
3979 cache[cacheKey] = {
3980 nextPos: pos,
3981 result: result0
3982 };
3983 return result0;
3984 }
3985
3986 function parse_BreakToken() {
3987 var cacheKey = 'BreakToken@' + pos;
3988 var cachedResult = cache[cacheKey];
3989 if (cachedResult) {
3990 pos = cachedResult.nextPos;
3991 return cachedResult.result;
3992 }
3993
3994
3995 var savedPos0 = pos;
3996 if (input.substr(pos, 5) === "break") {
3997 var result1 = "break";
3998 pos += 5;
3999 } else {
4000 var result1 = null;
4001 if (reportMatchFailures) {
4002 matchFailed("\"break\"");
4003 }
4004 }
4005 if (result1 !== null) {
4006 var savedPos1 = pos;
4007 var savedReportMatchFailuresVar0 = reportMatchFailures;
4008 reportMatchFailures = false;
4009 var result3 = parse_IdentifierPart();
4010 reportMatchFailures = savedReportMatchFailuresVar0;
4011 if (result3 === null) {
4012 var result2 = '';
4013 } else {
4014 var result2 = null;
4015 pos = savedPos1;
4016 }
4017 if (result2 !== null) {
4018 var result0 = [result1, result2];
4019 } else {
4020 var result0 = null;
4021 pos = savedPos0;
4022 }
4023 } else {
4024 var result0 = null;
4025 pos = savedPos0;
4026 }
4027
4028
4029
4030 cache[cacheKey] = {
4031 nextPos: pos,
4032 result: result0
4033 };
4034 return result0;
4035 }
4036
4037 function parse_CaseToken() {
4038 var cacheKey = 'CaseToken@' + pos;
4039 var cachedResult = cache[cacheKey];
4040 if (cachedResult) {
4041 pos = cachedResult.nextPos;
4042 return cachedResult.result;
4043 }
4044
4045
4046 var savedPos0 = pos;
4047 if (input.substr(pos, 4) === "case") {
4048 var result1 = "case";
4049 pos += 4;
4050 } else {
4051 var result1 = null;
4052 if (reportMatchFailures) {
4053 matchFailed("\"case\"");
4054 }
4055 }
4056 if (result1 !== null) {
4057 var savedPos1 = pos;
4058 var savedReportMatchFailuresVar0 = reportMatchFailures;
4059 reportMatchFailures = false;
4060 var result3 = parse_IdentifierPart();
4061 reportMatchFailures = savedReportMatchFailuresVar0;
4062 if (result3 === null) {
4063 var result2 = '';
4064 } else {
4065 var result2 = null;
4066 pos = savedPos1;
4067 }
4068 if (result2 !== null) {
4069 var result0 = [result1, result2];
4070 } else {
4071 var result0 = null;
4072 pos = savedPos0;
4073 }
4074 } else {
4075 var result0 = null;
4076 pos = savedPos0;
4077 }
4078
4079
4080
4081 cache[cacheKey] = {
4082 nextPos: pos,
4083 result: result0
4084 };
4085 return result0;
4086 }
4087
4088 function parse_CatchToken() {
4089 var cacheKey = 'CatchToken@' + pos;
4090 var cachedResult = cache[cacheKey];
4091 if (cachedResult) {
4092 pos = cachedResult.nextPos;
4093 return cachedResult.result;
4094 }
4095
4096
4097 var savedPos0 = pos;
4098 if (input.substr(pos, 5) === "catch") {
4099 var result1 = "catch";
4100 pos += 5;
4101 } else {
4102 var result1 = null;
4103 if (reportMatchFailures) {
4104 matchFailed("\"catch\"");
4105 }
4106 }
4107 if (result1 !== null) {
4108 var savedPos1 = pos;
4109 var savedReportMatchFailuresVar0 = reportMatchFailures;
4110 reportMatchFailures = false;
4111 var result3 = parse_IdentifierPart();
4112 reportMatchFailures = savedReportMatchFailuresVar0;
4113 if (result3 === null) {
4114 var result2 = '';
4115 } else {
4116 var result2 = null;
4117 pos = savedPos1;
4118 }
4119 if (result2 !== null) {
4120 var result0 = [result1, result2];
4121 } else {
4122 var result0 = null;
4123 pos = savedPos0;
4124 }
4125 } else {
4126 var result0 = null;
4127 pos = savedPos0;
4128 }
4129
4130
4131
4132 cache[cacheKey] = {
4133 nextPos: pos,
4134 result: result0
4135 };
4136 return result0;
4137 }
4138
4139 function parse_ContinueToken() {
4140 var cacheKey = 'ContinueToken@' + pos;
4141 var cachedResult = cache[cacheKey];
4142 if (cachedResult) {
4143 pos = cachedResult.nextPos;
4144 return cachedResult.result;
4145 }
4146
4147
4148 var savedPos0 = pos;
4149 if (input.substr(pos, 8) === "continue") {
4150 var result1 = "continue";
4151 pos += 8;
4152 } else {
4153 var result1 = null;
4154 if (reportMatchFailures) {
4155 matchFailed("\"continue\"");
4156 }
4157 }
4158 if (result1 !== null) {
4159 var savedPos1 = pos;
4160 var savedReportMatchFailuresVar0 = reportMatchFailures;
4161 reportMatchFailures = false;
4162 var result3 = parse_IdentifierPart();
4163 reportMatchFailures = savedReportMatchFailuresVar0;
4164 if (result3 === null) {
4165 var result2 = '';
4166 } else {
4167 var result2 = null;
4168 pos = savedPos1;
4169 }
4170 if (result2 !== null) {
4171 var result0 = [result1, result2];
4172 } else {
4173 var result0 = null;
4174 pos = savedPos0;
4175 }
4176 } else {
4177 var result0 = null;
4178 pos = savedPos0;
4179 }
4180
4181
4182
4183 cache[cacheKey] = {
4184 nextPos: pos,
4185 result: result0
4186 };
4187 return result0;
4188 }
4189
4190 function parse_DebuggerToken() {
4191 var cacheKey = 'DebuggerToken@' + pos;
4192 var cachedResult = cache[cacheKey];
4193 if (cachedResult) {
4194 pos = cachedResult.nextPos;
4195 return cachedResult.result;
4196 }
4197
4198
4199 var savedPos0 = pos;
4200 if (input.substr(pos, 8) === "debugger") {
4201 var result1 = "debugger";
4202 pos += 8;
4203 } else {
4204 var result1 = null;
4205 if (reportMatchFailures) {
4206 matchFailed("\"debugger\"");
4207 }
4208 }
4209 if (result1 !== null) {
4210 var savedPos1 = pos;
4211 var savedReportMatchFailuresVar0 = reportMatchFailures;
4212 reportMatchFailures = false;
4213 var result3 = parse_IdentifierPart();
4214 reportMatchFailures = savedReportMatchFailuresVar0;
4215 if (result3 === null) {
4216 var result2 = '';
4217 } else {
4218 var result2 = null;
4219 pos = savedPos1;
4220 }
4221 if (result2 !== null) {
4222 var result0 = [result1, result2];
4223 } else {
4224 var result0 = null;
4225 pos = savedPos0;
4226 }
4227 } else {
4228 var result0 = null;
4229 pos = savedPos0;
4230 }
4231
4232
4233
4234 cache[cacheKey] = {
4235 nextPos: pos,
4236 result: result0
4237 };
4238 return result0;
4239 }
4240
4241 function parse_DefaultToken() {
4242 var cacheKey = 'DefaultToken@' + pos;
4243 var cachedResult = cache[cacheKey];
4244 if (cachedResult) {
4245 pos = cachedResult.nextPos;
4246 return cachedResult.result;
4247 }
4248
4249
4250 var savedPos0 = pos;
4251 if (input.substr(pos, 7) === "default") {
4252 var result1 = "default";
4253 pos += 7;
4254 } else {
4255 var result1 = null;
4256 if (reportMatchFailures) {
4257 matchFailed("\"default\"");
4258 }
4259 }
4260 if (result1 !== null) {
4261 var savedPos1 = pos;
4262 var savedReportMatchFailuresVar0 = reportMatchFailures;
4263 reportMatchFailures = false;
4264 var result3 = parse_IdentifierPart();
4265 reportMatchFailures = savedReportMatchFailuresVar0;
4266 if (result3 === null) {
4267 var result2 = '';
4268 } else {
4269 var result2 = null;
4270 pos = savedPos1;
4271 }
4272 if (result2 !== null) {
4273 var result0 = [result1, result2];
4274 } else {
4275 var result0 = null;
4276 pos = savedPos0;
4277 }
4278 } else {
4279 var result0 = null;
4280 pos = savedPos0;
4281 }
4282
4283
4284
4285 cache[cacheKey] = {
4286 nextPos: pos,
4287 result: result0
4288 };
4289 return result0;
4290 }
4291
4292 function parse_DeleteToken() {
4293 var cacheKey = 'DeleteToken@' + pos;
4294 var cachedResult = cache[cacheKey];
4295 if (cachedResult) {
4296 pos = cachedResult.nextPos;
4297 return cachedResult.result;
4298 }
4299
4300
4301 var savedPos0 = pos;
4302 if (input.substr(pos, 6) === "delete") {
4303 var result1 = "delete";
4304 pos += 6;
4305 } else {
4306 var result1 = null;
4307 if (reportMatchFailures) {
4308 matchFailed("\"delete\"");
4309 }
4310 }
4311 if (result1 !== null) {
4312 var savedPos1 = pos;
4313 var savedReportMatchFailuresVar0 = reportMatchFailures;
4314 reportMatchFailures = false;
4315 var result3 = parse_IdentifierPart();
4316 reportMatchFailures = savedReportMatchFailuresVar0;
4317 if (result3 === null) {
4318 var result2 = '';
4319 } else {
4320 var result2 = null;
4321 pos = savedPos1;
4322 }
4323 if (result2 !== null) {
4324 var result0 = [result1, result2];
4325 } else {
4326 var result0 = null;
4327 pos = savedPos0;
4328 }
4329 } else {
4330 var result0 = null;
4331 pos = savedPos0;
4332 }
4333
4334
4335
4336 cache[cacheKey] = {
4337 nextPos: pos,
4338 result: result0
4339 };
4340 return result0;
4341 }
4342
4343 function parse_DoToken() {
4344 var cacheKey = 'DoToken@' + pos;
4345 var cachedResult = cache[cacheKey];
4346 if (cachedResult) {
4347 pos = cachedResult.nextPos;
4348 return cachedResult.result;
4349 }
4350
4351
4352 var savedPos0 = pos;
4353 if (input.substr(pos, 2) === "do") {
4354 var result1 = "do";
4355 pos += 2;
4356 } else {
4357 var result1 = null;
4358 if (reportMatchFailures) {
4359 matchFailed("\"do\"");
4360 }
4361 }
4362 if (result1 !== null) {
4363 var savedPos1 = pos;
4364 var savedReportMatchFailuresVar0 = reportMatchFailures;
4365 reportMatchFailures = false;
4366 var result3 = parse_IdentifierPart();
4367 reportMatchFailures = savedReportMatchFailuresVar0;
4368 if (result3 === null) {
4369 var result2 = '';
4370 } else {
4371 var result2 = null;
4372 pos = savedPos1;
4373 }
4374 if (result2 !== null) {
4375 var result0 = [result1, result2];
4376 } else {
4377 var result0 = null;
4378 pos = savedPos0;
4379 }
4380 } else {
4381 var result0 = null;
4382 pos = savedPos0;
4383 }
4384
4385
4386
4387 cache[cacheKey] = {
4388 nextPos: pos,
4389 result: result0
4390 };
4391 return result0;
4392 }
4393
4394 function parse_ElseToken() {
4395 var cacheKey = 'ElseToken@' + pos;
4396 var cachedResult = cache[cacheKey];
4397 if (cachedResult) {
4398 pos = cachedResult.nextPos;
4399 return cachedResult.result;
4400 }
4401
4402
4403 var savedPos0 = pos;
4404 if (input.substr(pos, 4) === "else") {
4405 var result1 = "else";
4406 pos += 4;
4407 } else {
4408 var result1 = null;
4409 if (reportMatchFailures) {
4410 matchFailed("\"else\"");
4411 }
4412 }
4413 if (result1 !== null) {
4414 var savedPos1 = pos;
4415 var savedReportMatchFailuresVar0 = reportMatchFailures;
4416 reportMatchFailures = false;
4417 var result3 = parse_IdentifierPart();
4418 reportMatchFailures = savedReportMatchFailuresVar0;
4419 if (result3 === null) {
4420 var result2 = '';
4421 } else {
4422 var result2 = null;
4423 pos = savedPos1;
4424 }
4425 if (result2 !== null) {
4426 var result0 = [result1, result2];
4427 } else {
4428 var result0 = null;
4429 pos = savedPos0;
4430 }
4431 } else {
4432 var result0 = null;
4433 pos = savedPos0;
4434 }
4435
4436
4437
4438 cache[cacheKey] = {
4439 nextPos: pos,
4440 result: result0
4441 };
4442 return result0;
4443 }
4444
4445 function parse_FalseToken() {
4446 var cacheKey = 'FalseToken@' + pos;
4447 var cachedResult = cache[cacheKey];
4448 if (cachedResult) {
4449 pos = cachedResult.nextPos;
4450 return cachedResult.result;
4451 }
4452
4453
4454 var savedPos0 = pos;
4455 if (input.substr(pos, 5) === "false") {
4456 var result1 = "false";
4457 pos += 5;
4458 } else {
4459 var result1 = null;
4460 if (reportMatchFailures) {
4461 matchFailed("\"false\"");
4462 }
4463 }
4464 if (result1 !== null) {
4465 var savedPos1 = pos;
4466 var savedReportMatchFailuresVar0 = reportMatchFailures;
4467 reportMatchFailures = false;
4468 var result3 = parse_IdentifierPart();
4469 reportMatchFailures = savedReportMatchFailuresVar0;
4470 if (result3 === null) {
4471 var result2 = '';
4472 } else {
4473 var result2 = null;
4474 pos = savedPos1;
4475 }
4476 if (result2 !== null) {
4477 var result0 = [result1, result2];
4478 } else {
4479 var result0 = null;
4480 pos = savedPos0;
4481 }
4482 } else {
4483 var result0 = null;
4484 pos = savedPos0;
4485 }
4486
4487
4488
4489 cache[cacheKey] = {
4490 nextPos: pos,
4491 result: result0
4492 };
4493 return result0;
4494 }
4495
4496 function parse_FinallyToken() {
4497 var cacheKey = 'FinallyToken@' + pos;
4498 var cachedResult = cache[cacheKey];
4499 if (cachedResult) {
4500 pos = cachedResult.nextPos;
4501 return cachedResult.result;
4502 }
4503
4504
4505 var savedPos0 = pos;
4506 if (input.substr(pos, 7) === "finally") {
4507 var result1 = "finally";
4508 pos += 7;
4509 } else {
4510 var result1 = null;
4511 if (reportMatchFailures) {
4512 matchFailed("\"finally\"");
4513 }
4514 }
4515 if (result1 !== null) {
4516 var savedPos1 = pos;
4517 var savedReportMatchFailuresVar0 = reportMatchFailures;
4518 reportMatchFailures = false;
4519 var result3 = parse_IdentifierPart();
4520 reportMatchFailures = savedReportMatchFailuresVar0;
4521 if (result3 === null) {
4522 var result2 = '';
4523 } else {
4524 var result2 = null;
4525 pos = savedPos1;
4526 }
4527 if (result2 !== null) {
4528 var result0 = [result1, result2];
4529 } else {
4530 var result0 = null;
4531 pos = savedPos0;
4532 }
4533 } else {
4534 var result0 = null;
4535 pos = savedPos0;
4536 }
4537
4538
4539
4540 cache[cacheKey] = {
4541 nextPos: pos,
4542 result: result0
4543 };
4544 return result0;
4545 }
4546
4547 function parse_ForToken() {
4548 var cacheKey = 'ForToken@' + pos;
4549 var cachedResult = cache[cacheKey];
4550 if (cachedResult) {
4551 pos = cachedResult.nextPos;
4552 return cachedResult.result;
4553 }
4554
4555
4556 var savedPos0 = pos;
4557 if (input.substr(pos, 3) === "for") {
4558 var result1 = "for";
4559 pos += 3;
4560 } else {
4561 var result1 = null;
4562 if (reportMatchFailures) {
4563 matchFailed("\"for\"");
4564 }
4565 }
4566 if (result1 !== null) {
4567 var savedPos1 = pos;
4568 var savedReportMatchFailuresVar0 = reportMatchFailures;
4569 reportMatchFailures = false;
4570 var result3 = parse_IdentifierPart();
4571 reportMatchFailures = savedReportMatchFailuresVar0;
4572 if (result3 === null) {
4573 var result2 = '';
4574 } else {
4575 var result2 = null;
4576 pos = savedPos1;
4577 }
4578 if (result2 !== null) {
4579 var result0 = [result1, result2];
4580 } else {
4581 var result0 = null;
4582 pos = savedPos0;
4583 }
4584 } else {
4585 var result0 = null;
4586 pos = savedPos0;
4587 }
4588
4589
4590
4591 cache[cacheKey] = {
4592 nextPos: pos,
4593 result: result0
4594 };
4595 return result0;
4596 }
4597
4598 function parse_FunctionToken() {
4599 var cacheKey = 'FunctionToken@' + pos;
4600 var cachedResult = cache[cacheKey];
4601 if (cachedResult) {
4602 pos = cachedResult.nextPos;
4603 return cachedResult.result;
4604 }
4605
4606
4607 var savedPos0 = pos;
4608 if (input.substr(pos, 8) === "function") {
4609 var result1 = "function";
4610 pos += 8;
4611 } else {
4612 var result1 = null;
4613 if (reportMatchFailures) {
4614 matchFailed("\"function\"");
4615 }
4616 }
4617 if (result1 !== null) {
4618 var savedPos1 = pos;
4619 var savedReportMatchFailuresVar0 = reportMatchFailures;
4620 reportMatchFailures = false;
4621 var result3 = parse_IdentifierPart();
4622 reportMatchFailures = savedReportMatchFailuresVar0;
4623 if (result3 === null) {
4624 var result2 = '';
4625 } else {
4626 var result2 = null;
4627 pos = savedPos1;
4628 }
4629 if (result2 !== null) {
4630 var result0 = [result1, result2];
4631 } else {
4632 var result0 = null;
4633 pos = savedPos0;
4634 }
4635 } else {
4636 var result0 = null;
4637 pos = savedPos0;
4638 }
4639
4640
4641
4642 cache[cacheKey] = {
4643 nextPos: pos,
4644 result: result0
4645 };
4646 return result0;
4647 }
4648
4649 function parse_GetToken() {
4650 var cacheKey = 'GetToken@' + pos;
4651 var cachedResult = cache[cacheKey];
4652 if (cachedResult) {
4653 pos = cachedResult.nextPos;
4654 return cachedResult.result;
4655 }
4656
4657
4658 var savedPos0 = pos;
4659 if (input.substr(pos, 3) === "get") {
4660 var result1 = "get";
4661 pos += 3;
4662 } else {
4663 var result1 = null;
4664 if (reportMatchFailures) {
4665 matchFailed("\"get\"");
4666 }
4667 }
4668 if (result1 !== null) {
4669 var savedPos1 = pos;
4670 var savedReportMatchFailuresVar0 = reportMatchFailures;
4671 reportMatchFailures = false;
4672 var result3 = parse_IdentifierPart();
4673 reportMatchFailures = savedReportMatchFailuresVar0;
4674 if (result3 === null) {
4675 var result2 = '';
4676 } else {
4677 var result2 = null;
4678 pos = savedPos1;
4679 }
4680 if (result2 !== null) {
4681 var result0 = [result1, result2];
4682 } else {
4683 var result0 = null;
4684 pos = savedPos0;
4685 }
4686 } else {
4687 var result0 = null;
4688 pos = savedPos0;
4689 }
4690
4691
4692
4693 cache[cacheKey] = {
4694 nextPos: pos,
4695 result: result0
4696 };
4697 return result0;
4698 }
4699
4700 function parse_IfToken() {
4701 var cacheKey = 'IfToken@' + pos;
4702 var cachedResult = cache[cacheKey];
4703 if (cachedResult) {
4704 pos = cachedResult.nextPos;
4705 return cachedResult.result;
4706 }
4707
4708
4709 var savedPos0 = pos;
4710 if (input.substr(pos, 2) === "if") {
4711 var result1 = "if";
4712 pos += 2;
4713 } else {
4714 var result1 = null;
4715 if (reportMatchFailures) {
4716 matchFailed("\"if\"");
4717 }
4718 }
4719 if (result1 !== null) {
4720 var savedPos1 = pos;
4721 var savedReportMatchFailuresVar0 = reportMatchFailures;
4722 reportMatchFailures = false;
4723 var result3 = parse_IdentifierPart();
4724 reportMatchFailures = savedReportMatchFailuresVar0;
4725 if (result3 === null) {
4726 var result2 = '';
4727 } else {
4728 var result2 = null;
4729 pos = savedPos1;
4730 }
4731 if (result2 !== null) {
4732 var result0 = [result1, result2];
4733 } else {
4734 var result0 = null;
4735 pos = savedPos0;
4736 }
4737 } else {
4738 var result0 = null;
4739 pos = savedPos0;
4740 }
4741
4742
4743
4744 cache[cacheKey] = {
4745 nextPos: pos,
4746 result: result0
4747 };
4748 return result0;
4749 }
4750
4751 function parse_InstanceofToken() {
4752 var cacheKey = 'InstanceofToken@' + pos;
4753 var cachedResult = cache[cacheKey];
4754 if (cachedResult) {
4755 pos = cachedResult.nextPos;
4756 return cachedResult.result;
4757 }
4758
4759
4760 var savedPos0 = pos;
4761 if (input.substr(pos, 10) === "instanceof") {
4762 var result1 = "instanceof";
4763 pos += 10;
4764 } else {
4765 var result1 = null;
4766 if (reportMatchFailures) {
4767 matchFailed("\"instanceof\"");
4768 }
4769 }
4770 if (result1 !== null) {
4771 var savedPos1 = pos;
4772 var savedReportMatchFailuresVar0 = reportMatchFailures;
4773 reportMatchFailures = false;
4774 var result3 = parse_IdentifierPart();
4775 reportMatchFailures = savedReportMatchFailuresVar0;
4776 if (result3 === null) {
4777 var result2 = '';
4778 } else {
4779 var result2 = null;
4780 pos = savedPos1;
4781 }
4782 if (result2 !== null) {
4783 var result0 = [result1, result2];
4784 } else {
4785 var result0 = null;
4786 pos = savedPos0;
4787 }
4788 } else {
4789 var result0 = null;
4790 pos = savedPos0;
4791 }
4792
4793
4794
4795 cache[cacheKey] = {
4796 nextPos: pos,
4797 result: result0
4798 };
4799 return result0;
4800 }
4801
4802 function parse_InToken() {
4803 var cacheKey = 'InToken@' + pos;
4804 var cachedResult = cache[cacheKey];
4805 if (cachedResult) {
4806 pos = cachedResult.nextPos;
4807 return cachedResult.result;
4808 }
4809
4810
4811 var savedPos0 = pos;
4812 if (input.substr(pos, 2) === "in") {
4813 var result1 = "in";
4814 pos += 2;
4815 } else {
4816 var result1 = null;
4817 if (reportMatchFailures) {
4818 matchFailed("\"in\"");
4819 }
4820 }
4821 if (result1 !== null) {
4822 var savedPos1 = pos;
4823 var savedReportMatchFailuresVar0 = reportMatchFailures;
4824 reportMatchFailures = false;
4825 var result3 = parse_IdentifierPart();
4826 reportMatchFailures = savedReportMatchFailuresVar0;
4827 if (result3 === null) {
4828 var result2 = '';
4829 } else {
4830 var result2 = null;
4831 pos = savedPos1;
4832 }
4833 if (result2 !== null) {
4834 var result0 = [result1, result2];
4835 } else {
4836 var result0 = null;
4837 pos = savedPos0;
4838 }
4839 } else {
4840 var result0 = null;
4841 pos = savedPos0;
4842 }
4843
4844
4845
4846 cache[cacheKey] = {
4847 nextPos: pos,
4848 result: result0
4849 };
4850 return result0;
4851 }
4852
4853 function parse_NewToken() {
4854 var cacheKey = 'NewToken@' + pos;
4855 var cachedResult = cache[cacheKey];
4856 if (cachedResult) {
4857 pos = cachedResult.nextPos;
4858 return cachedResult.result;
4859 }
4860
4861
4862 var savedPos0 = pos;
4863 if (input.substr(pos, 3) === "new") {
4864 var result1 = "new";
4865 pos += 3;
4866 } else {
4867 var result1 = null;
4868 if (reportMatchFailures) {
4869 matchFailed("\"new\"");
4870 }
4871 }
4872 if (result1 !== null) {
4873 var savedPos1 = pos;
4874 var savedReportMatchFailuresVar0 = reportMatchFailures;
4875 reportMatchFailures = false;
4876 var result3 = parse_IdentifierPart();
4877 reportMatchFailures = savedReportMatchFailuresVar0;
4878 if (result3 === null) {
4879 var result2 = '';
4880 } else {
4881 var result2 = null;
4882 pos = savedPos1;
4883 }
4884 if (result2 !== null) {
4885 var result0 = [result1, result2];
4886 } else {
4887 var result0 = null;
4888 pos = savedPos0;
4889 }
4890 } else {
4891 var result0 = null;
4892 pos = savedPos0;
4893 }
4894
4895
4896
4897 cache[cacheKey] = {
4898 nextPos: pos,
4899 result: result0
4900 };
4901 return result0;
4902 }
4903
4904 function parse_NullToken() {
4905 var cacheKey = 'NullToken@' + pos;
4906 var cachedResult = cache[cacheKey];
4907 if (cachedResult) {
4908 pos = cachedResult.nextPos;
4909 return cachedResult.result;
4910 }
4911
4912
4913 var savedPos0 = pos;
4914 if (input.substr(pos, 4) === "null") {
4915 var result1 = "null";
4916 pos += 4;
4917 } else {
4918 var result1 = null;
4919 if (reportMatchFailures) {
4920 matchFailed("\"null\"");
4921 }
4922 }
4923 if (result1 !== null) {
4924 var savedPos1 = pos;
4925 var savedReportMatchFailuresVar0 = reportMatchFailures;
4926 reportMatchFailures = false;
4927 var result3 = parse_IdentifierPart();
4928 reportMatchFailures = savedReportMatchFailuresVar0;
4929 if (result3 === null) {
4930 var result2 = '';
4931 } else {
4932 var result2 = null;
4933 pos = savedPos1;
4934 }
4935 if (result2 !== null) {
4936 var result0 = [result1, result2];
4937 } else {
4938 var result0 = null;
4939 pos = savedPos0;
4940 }
4941 } else {
4942 var result0 = null;
4943 pos = savedPos0;
4944 }
4945
4946
4947
4948 cache[cacheKey] = {
4949 nextPos: pos,
4950 result: result0
4951 };
4952 return result0;
4953 }
4954
4955 function parse_ReturnToken() {
4956 var cacheKey = 'ReturnToken@' + pos;
4957 var cachedResult = cache[cacheKey];
4958 if (cachedResult) {
4959 pos = cachedResult.nextPos;
4960 return cachedResult.result;
4961 }
4962
4963
4964 var savedPos0 = pos;
4965 if (input.substr(pos, 6) === "return") {
4966 var result1 = "return";
4967 pos += 6;
4968 } else {
4969 var result1 = null;
4970 if (reportMatchFailures) {
4971 matchFailed("\"return\"");
4972 }
4973 }
4974 if (result1 !== null) {
4975 var savedPos1 = pos;
4976 var savedReportMatchFailuresVar0 = reportMatchFailures;
4977 reportMatchFailures = false;
4978 var result3 = parse_IdentifierPart();
4979 reportMatchFailures = savedReportMatchFailuresVar0;
4980 if (result3 === null) {
4981 var result2 = '';
4982 } else {
4983 var result2 = null;
4984 pos = savedPos1;
4985 }
4986 if (result2 !== null) {
4987 var result0 = [result1, result2];
4988 } else {
4989 var result0 = null;
4990 pos = savedPos0;
4991 }
4992 } else {
4993 var result0 = null;
4994 pos = savedPos0;
4995 }
4996
4997
4998
4999 cache[cacheKey] = {
5000 nextPos: pos,
5001 result: result0
5002 };
5003 return result0;
5004 }
5005
5006 function parse_SetToken() {
5007 var cacheKey = 'SetToken@' + pos;
5008 var cachedResult = cache[cacheKey];
5009 if (cachedResult) {
5010 pos = cachedResult.nextPos;
5011 return cachedResult.result;
5012 }
5013
5014
5015 var savedPos0 = pos;
5016 if (input.substr(pos, 3) === "set") {
5017 var result1 = "set";
5018 pos += 3;
5019 } else {
5020 var result1 = null;
5021 if (reportMatchFailures) {
5022 matchFailed("\"set\"");
5023 }
5024 }
5025 if (result1 !== null) {
5026 var savedPos1 = pos;
5027 var savedReportMatchFailuresVar0 = reportMatchFailures;
5028 reportMatchFailures = false;
5029 var result3 = parse_IdentifierPart();
5030 reportMatchFailures = savedReportMatchFailuresVar0;
5031 if (result3 === null) {
5032 var result2 = '';
5033 } else {
5034 var result2 = null;
5035 pos = savedPos1;
5036 }
5037 if (result2 !== null) {
5038 var result0 = [result1, result2];
5039 } else {
5040 var result0 = null;
5041 pos = savedPos0;
5042 }
5043 } else {
5044 var result0 = null;
5045 pos = savedPos0;
5046 }
5047
5048
5049
5050 cache[cacheKey] = {
5051 nextPos: pos,
5052 result: result0
5053 };
5054 return result0;
5055 }
5056
5057 function parse_SwitchToken() {
5058 var cacheKey = 'SwitchToken@' + pos;
5059 var cachedResult = cache[cacheKey];
5060 if (cachedResult) {
5061 pos = cachedResult.nextPos;
5062 return cachedResult.result;
5063 }
5064
5065
5066 var savedPos0 = pos;
5067 if (input.substr(pos, 6) === "switch") {
5068 var result1 = "switch";
5069 pos += 6;
5070 } else {
5071 var result1 = null;
5072 if (reportMatchFailures) {
5073 matchFailed("\"switch\"");
5074 }
5075 }
5076 if (result1 !== null) {
5077 var savedPos1 = pos;
5078 var savedReportMatchFailuresVar0 = reportMatchFailures;
5079 reportMatchFailures = false;
5080 var result3 = parse_IdentifierPart();
5081 reportMatchFailures = savedReportMatchFailuresVar0;
5082 if (result3 === null) {
5083 var result2 = '';
5084 } else {
5085 var result2 = null;
5086 pos = savedPos1;
5087 }
5088 if (result2 !== null) {
5089 var result0 = [result1, result2];
5090 } else {
5091 var result0 = null;
5092 pos = savedPos0;
5093 }
5094 } else {
5095 var result0 = null;
5096 pos = savedPos0;
5097 }
5098
5099
5100
5101 cache[cacheKey] = {
5102 nextPos: pos,
5103 result: result0
5104 };
5105 return result0;
5106 }
5107
5108 function parse_ThisToken() {
5109 var cacheKey = 'ThisToken@' + pos;
5110 var cachedResult = cache[cacheKey];
5111 if (cachedResult) {
5112 pos = cachedResult.nextPos;
5113 return cachedResult.result;
5114 }
5115
5116
5117 var savedPos0 = pos;
5118 if (input.substr(pos, 4) === "this") {
5119 var result1 = "this";
5120 pos += 4;
5121 } else {
5122 var result1 = null;
5123 if (reportMatchFailures) {
5124 matchFailed("\"this\"");
5125 }
5126 }
5127 if (result1 !== null) {
5128 var savedPos1 = pos;
5129 var savedReportMatchFailuresVar0 = reportMatchFailures;
5130 reportMatchFailures = false;
5131 var result3 = parse_IdentifierPart();
5132 reportMatchFailures = savedReportMatchFailuresVar0;
5133 if (result3 === null) {
5134 var result2 = '';
5135 } else {
5136 var result2 = null;
5137 pos = savedPos1;
5138 }
5139 if (result2 !== null) {
5140 var result0 = [result1, result2];
5141 } else {
5142 var result0 = null;
5143 pos = savedPos0;
5144 }
5145 } else {
5146 var result0 = null;
5147 pos = savedPos0;
5148 }
5149
5150
5151
5152 cache[cacheKey] = {
5153 nextPos: pos,
5154 result: result0
5155 };
5156 return result0;
5157 }
5158
5159 function parse_ThrowToken() {
5160 var cacheKey = 'ThrowToken@' + pos;
5161 var cachedResult = cache[cacheKey];
5162 if (cachedResult) {
5163 pos = cachedResult.nextPos;
5164 return cachedResult.result;
5165 }
5166
5167
5168 var savedPos0 = pos;
5169 if (input.substr(pos, 5) === "throw") {
5170 var result1 = "throw";
5171 pos += 5;
5172 } else {
5173 var result1 = null;
5174 if (reportMatchFailures) {
5175 matchFailed("\"throw\"");
5176 }
5177 }
5178 if (result1 !== null) {
5179 var savedPos1 = pos;
5180 var savedReportMatchFailuresVar0 = reportMatchFailures;
5181 reportMatchFailures = false;
5182 var result3 = parse_IdentifierPart();
5183 reportMatchFailures = savedReportMatchFailuresVar0;
5184 if (result3 === null) {
5185 var result2 = '';
5186 } else {
5187 var result2 = null;
5188 pos = savedPos1;
5189 }
5190 if (result2 !== null) {
5191 var result0 = [result1, result2];
5192 } else {
5193 var result0 = null;
5194 pos = savedPos0;
5195 }
5196 } else {
5197 var result0 = null;
5198 pos = savedPos0;
5199 }
5200
5201
5202
5203 cache[cacheKey] = {
5204 nextPos: pos,
5205 result: result0
5206 };
5207 return result0;
5208 }
5209
5210 function parse_TrueToken() {
5211 var cacheKey = 'TrueToken@' + pos;
5212 var cachedResult = cache[cacheKey];
5213 if (cachedResult) {
5214 pos = cachedResult.nextPos;
5215 return cachedResult.result;
5216 }
5217
5218
5219 var savedPos0 = pos;
5220 if (input.substr(pos, 4) === "true") {
5221 var result1 = "true";
5222 pos += 4;
5223 } else {
5224 var result1 = null;
5225 if (reportMatchFailures) {
5226 matchFailed("\"true\"");
5227 }
5228 }
5229 if (result1 !== null) {
5230 var savedPos1 = pos;
5231 var savedReportMatchFailuresVar0 = reportMatchFailures;
5232 reportMatchFailures = false;
5233 var result3 = parse_IdentifierPart();
5234 reportMatchFailures = savedReportMatchFailuresVar0;
5235 if (result3 === null) {
5236 var result2 = '';
5237 } else {
5238 var result2 = null;
5239 pos = savedPos1;
5240 }
5241 if (result2 !== null) {
5242 var result0 = [result1, result2];
5243 } else {
5244 var result0 = null;
5245 pos = savedPos0;
5246 }
5247 } else {
5248 var result0 = null;
5249 pos = savedPos0;
5250 }
5251
5252
5253
5254 cache[cacheKey] = {
5255 nextPos: pos,
5256 result: result0
5257 };
5258 return result0;
5259 }
5260
5261 function parse_TryToken() {
5262 var cacheKey = 'TryToken@' + pos;
5263 var cachedResult = cache[cacheKey];
5264 if (cachedResult) {
5265 pos = cachedResult.nextPos;
5266 return cachedResult.result;
5267 }
5268
5269
5270 var savedPos0 = pos;
5271 if (input.substr(pos, 3) === "try") {
5272 var result1 = "try";
5273 pos += 3;
5274 } else {
5275 var result1 = null;
5276 if (reportMatchFailures) {
5277 matchFailed("\"try\"");
5278 }
5279 }
5280 if (result1 !== null) {
5281 var savedPos1 = pos;
5282 var savedReportMatchFailuresVar0 = reportMatchFailures;
5283 reportMatchFailures = false;
5284 var result3 = parse_IdentifierPart();
5285 reportMatchFailures = savedReportMatchFailuresVar0;
5286 if (result3 === null) {
5287 var result2 = '';
5288 } else {
5289 var result2 = null;
5290 pos = savedPos1;
5291 }
5292 if (result2 !== null) {
5293 var result0 = [result1, result2];
5294 } else {
5295 var result0 = null;
5296 pos = savedPos0;
5297 }
5298 } else {
5299 var result0 = null;
5300 pos = savedPos0;
5301 }
5302
5303
5304
5305 cache[cacheKey] = {
5306 nextPos: pos,
5307 result: result0
5308 };
5309 return result0;
5310 }
5311
5312 function parse_TypeofToken() {
5313 var cacheKey = 'TypeofToken@' + pos;
5314 var cachedResult = cache[cacheKey];
5315 if (cachedResult) {
5316 pos = cachedResult.nextPos;
5317 return cachedResult.result;
5318 }
5319
5320
5321 var savedPos0 = pos;
5322 if (input.substr(pos, 6) === "typeof") {
5323 var result1 = "typeof";
5324 pos += 6;
5325 } else {
5326 var result1 = null;
5327 if (reportMatchFailures) {
5328 matchFailed("\"typeof\"");
5329 }
5330 }
5331 if (result1 !== null) {
5332 var savedPos1 = pos;
5333 var savedReportMatchFailuresVar0 = reportMatchFailures;
5334 reportMatchFailures = false;
5335 var result3 = parse_IdentifierPart();
5336 reportMatchFailures = savedReportMatchFailuresVar0;
5337 if (result3 === null) {
5338 var result2 = '';
5339 } else {
5340 var result2 = null;
5341 pos = savedPos1;
5342 }
5343 if (result2 !== null) {
5344 var result0 = [result1, result2];
5345 } else {
5346 var result0 = null;
5347 pos = savedPos0;
5348 }
5349 } else {
5350 var result0 = null;
5351 pos = savedPos0;
5352 }
5353
5354
5355
5356 cache[cacheKey] = {
5357 nextPos: pos,
5358 result: result0
5359 };
5360 return result0;
5361 }
5362
5363 function parse_VarToken() {
5364 var cacheKey = 'VarToken@' + pos;
5365 var cachedResult = cache[cacheKey];
5366 if (cachedResult) {
5367 pos = cachedResult.nextPos;
5368 return cachedResult.result;
5369 }
5370
5371
5372 var savedPos0 = pos;
5373 if (input.substr(pos, 3) === "var") {
5374 var result1 = "var";
5375 pos += 3;
5376 } else {
5377 var result1 = null;
5378 if (reportMatchFailures) {
5379 matchFailed("\"var\"");
5380 }
5381 }
5382 if (result1 !== null) {
5383 var savedPos1 = pos;
5384 var savedReportMatchFailuresVar0 = reportMatchFailures;
5385 reportMatchFailures = false;
5386 var result3 = parse_IdentifierPart();
5387 reportMatchFailures = savedReportMatchFailuresVar0;
5388 if (result3 === null) {
5389 var result2 = '';
5390 } else {
5391 var result2 = null;
5392 pos = savedPos1;
5393 }
5394 if (result2 !== null) {
5395 var result0 = [result1, result2];
5396 } else {
5397 var result0 = null;
5398 pos = savedPos0;
5399 }
5400 } else {
5401 var result0 = null;
5402 pos = savedPos0;
5403 }
5404
5405
5406
5407 cache[cacheKey] = {
5408 nextPos: pos,
5409 result: result0
5410 };
5411 return result0;
5412 }
5413
5414 function parse_VoidToken() {
5415 var cacheKey = 'VoidToken@' + pos;
5416 var cachedResult = cache[cacheKey];
5417 if (cachedResult) {
5418 pos = cachedResult.nextPos;
5419 return cachedResult.result;
5420 }
5421
5422
5423 var savedPos0 = pos;
5424 if (input.substr(pos, 4) === "void") {
5425 var result1 = "void";
5426 pos += 4;
5427 } else {
5428 var result1 = null;
5429 if (reportMatchFailures) {
5430 matchFailed("\"void\"");
5431 }
5432 }
5433 if (result1 !== null) {
5434 var savedPos1 = pos;
5435 var savedReportMatchFailuresVar0 = reportMatchFailures;
5436 reportMatchFailures = false;
5437 var result3 = parse_IdentifierPart();
5438 reportMatchFailures = savedReportMatchFailuresVar0;
5439 if (result3 === null) {
5440 var result2 = '';
5441 } else {
5442 var result2 = null;
5443 pos = savedPos1;
5444 }
5445 if (result2 !== null) {
5446 var result0 = [result1, result2];
5447 } else {
5448 var result0 = null;
5449 pos = savedPos0;
5450 }
5451 } else {
5452 var result0 = null;
5453 pos = savedPos0;
5454 }
5455
5456
5457
5458 cache[cacheKey] = {
5459 nextPos: pos,
5460 result: result0
5461 };
5462 return result0;
5463 }
5464
5465 function parse_WhileToken() {
5466 var cacheKey = 'WhileToken@' + pos;
5467 var cachedResult = cache[cacheKey];
5468 if (cachedResult) {
5469 pos = cachedResult.nextPos;
5470 return cachedResult.result;
5471 }
5472
5473
5474 var savedPos0 = pos;
5475 if (input.substr(pos, 5) === "while") {
5476 var result1 = "while";
5477 pos += 5;
5478 } else {
5479 var result1 = null;
5480 if (reportMatchFailures) {
5481 matchFailed("\"while\"");
5482 }
5483 }
5484 if (result1 !== null) {
5485 var savedPos1 = pos;
5486 var savedReportMatchFailuresVar0 = reportMatchFailures;
5487 reportMatchFailures = false;
5488 var result3 = parse_IdentifierPart();
5489 reportMatchFailures = savedReportMatchFailuresVar0;
5490 if (result3 === null) {
5491 var result2 = '';
5492 } else {
5493 var result2 = null;
5494 pos = savedPos1;
5495 }
5496 if (result2 !== null) {
5497 var result0 = [result1, result2];
5498 } else {
5499 var result0 = null;
5500 pos = savedPos0;
5501 }
5502 } else {
5503 var result0 = null;
5504 pos = savedPos0;
5505 }
5506
5507
5508
5509 cache[cacheKey] = {
5510 nextPos: pos,
5511 result: result0
5512 };
5513 return result0;
5514 }
5515
5516 function parse_WithToken() {
5517 var cacheKey = 'WithToken@' + pos;
5518 var cachedResult = cache[cacheKey];
5519 if (cachedResult) {
5520 pos = cachedResult.nextPos;
5521 return cachedResult.result;
5522 }
5523
5524
5525 var savedPos0 = pos;
5526 if (input.substr(pos, 4) === "with") {
5527 var result1 = "with";
5528 pos += 4;
5529 } else {
5530 var result1 = null;
5531 if (reportMatchFailures) {
5532 matchFailed("\"with\"");
5533 }
5534 }
5535 if (result1 !== null) {
5536 var savedPos1 = pos;
5537 var savedReportMatchFailuresVar0 = reportMatchFailures;
5538 reportMatchFailures = false;
5539 var result3 = parse_IdentifierPart();
5540 reportMatchFailures = savedReportMatchFailuresVar0;
5541 if (result3 === null) {
5542 var result2 = '';
5543 } else {
5544 var result2 = null;
5545 pos = savedPos1;
5546 }
5547 if (result2 !== null) {
5548 var result0 = [result1, result2];
5549 } else {
5550 var result0 = null;
5551 pos = savedPos0;
5552 }
5553 } else {
5554 var result0 = null;
5555 pos = savedPos0;
5556 }
5557
5558
5559
5560 cache[cacheKey] = {
5561 nextPos: pos,
5562 result: result0
5563 };
5564 return result0;
5565 }
5566
5567 function parse_Ll() {
5568 var cacheKey = 'Ll@' + pos;
5569 var cachedResult = cache[cacheKey];
5570 if (cachedResult) {
5571 pos = cachedResult.nextPos;
5572 return cachedResult.result;
5573 }
5574
5575
5576 if (input.substr(pos).match(/^[abcdefghijklmnopqrstuvwxyz\xAA\xB5\xBA\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF\u0101\u0103\u0105\u0107\u0109\u010B\u010D\u010F\u0111\u0113\u0115\u0117\u0119\u011B\u011D\u011F\u0121\u0123\u0125\u0127\u0129\u012B\u012D\u012F\u0131\u0133\u0135\u0137\u0138\u013A\u013C\u013E\u0140\u0142\u0144\u0146\u0148\u0149\u014B\u014D\u014F\u0151\u0153\u0155\u0157\u0159\u015B\u015D\u015F\u0161\u0163\u0165\u0167\u0169\u016B\u016D\u016F\u0171\u0173\u0175\u0177\u017A\u017C\u017E\u017F\u0180\u0183\u0185\u0188\u018C\u018D\u0192\u0195\u0199\u019A\u019B\u019E\u01A1\u01A3\u01A5\u01A8\u01AA\u01AB\u01AD\u01B0\u01B4\u01B6\u01B9\u01BA\u01BD\u01BE\u01BF\u01C6\u01C9\u01CC\u01CE\u01D0\u01D2\u01D4\u01D6\u01D8\u01DA\u01DC\u01DD\u01DF\u01E1\u01E3\u01E5\u01E7\u01E9\u01EB\u01ED\u01EF\u01F0\u01F3\u01F5\u01F9\u01FB\u01FD\u01FF\u0201\u0203\u0205\u0207\u0209\u020B\u020D\u020F\u0211\u0213\u0215\u0217\u0219\u021B\u021D\u021F\u0221\u0223\u0225\u0227\u0229\u022B\u022D\u022F\u0231\u0233\u0234\u0235\u0236\u0237\u0238\u0239\u023C\u023F\u0240\u0242\u0247\u0249\u024B\u024D\u024F\u0250\u0251\u0252\u0253\u0254\u0255\u0256\u0257\u0258\u0259\u025A\u025B\u025C\u025D\u025E\u025F\u0260\u0261\u0262\u0263\u0264\u0265\u0266\u0267\u0268\u0269\u026A\u026B\u026C\u026D\u026E\u026F\u0270\u0271\u0272\u0273\u0274\u0275\u0276\u0277\u0278\u0279\u027A\u027B\u027C\u027D\u027E\u027F\u0280\u0281\u0282\u0283\u0284\u0285\u0286\u0287\u0288\u0289\u028A\u028B\u028C\u028D\u028E\u028F\u0290\u0291\u0292\u0293\u0295\u0296\u0297\u0298\u0299\u029A\u029B\u029C\u029D\u029E\u029F\u02A0\u02A1\u02A2\u02A3\u02A4\u02A5\u02A6\u02A7\u02A8\u02A9\u02AA\u02AB\u02AC\u02AD\u02AE\u02AF\u0371\u0373\u0377\u037B\u037C\u037D\u0390\u03AC\u03AD\u03AE\u03AF\u03B0\u03B1\u03B2\u03B3\u03B4\u03B5\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0\u03C1\u03C2\u03C3\u03C4\u03C5\u03C6\u03C7\u03C8\u03C9\u03CA\u03CB\u03CC\u03CD\u03CE\u03D0\u03D1\u03D5\u03D6\u03D7\u03D9\u03DB\u03DD\u03DF\u03E1\u03E3\u03E5\u03E7\u03E9\u03EB\u03ED\u03EF\u03F0\u03F1\u03F2\u03F3\u03F5\u03F8\u03FB\u03FC\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u0450\u0451\u0452\u0453\u0454\u0455\u0456\u0457\u0458\u0459\u045A\u045B\u045C\u045D\u045E\u045F\u0461\u0463\u0465\u0467\u0469\u046B\u046D\u046F\u0471\u0473\u0475\u0477\u0479\u047B\u047D\u047F\u0481\u048B\u048D\u048F\u0491\u0493\u0495\u0497\u0499\u049B\u049D\u049F\u04A1\u04A3\u04A5\u04A7\u04A9\u04AB\u04AD\u04AF\u04B1\u04B3\u04B5\u04B7\u04B9\u04BB\u04BD\u04BF\u04C2\u04C4\u04C6\u04C8\u04CA\u04CC\u04CE\u04CF\u04D1\u04D3\u04D5\u04D7\u04D9\u04DB\u04DD\u04DF\u04E1\u04E3\u04E5\u04E7\u04E9\u04EB\u04ED\u04EF\u04F1\u04F3\u04F5\u04F7\u04F9\u04FB\u04FD\u04FF\u0501\u0503\u0505\u0507\u0509\u050B\u050D\u050F\u0511\u0513\u0515\u0517\u0519\u051B\u051D\u051F\u0521\u0523\u0561\u0562\u0563\u0564\u0565\u0566\u0567\u0568\u0569\u056A\u056B\u056C\u056D\u056E\u056F\u0570\u0571\u0572\u0573\u0574\u0575\u0576\u0577\u0578\u0579\u057A\u057B\u057C\u057D\u057E\u057F\u0580\u0581\u0582\u0583\u0584\u0585\u0586\u0587\u1D00\u1D01\u1D02\u1D03\u1D04\u1D05\u1D06\u1D07\u1D08\u1D09\u1D0A\u1D0B\u1D0C\u1D0D\u1D0E\u1D0F\u1D10\u1D11\u1D12\u1D13\u1D14\u1D15\u1D16\u1D17\u1D18\u1D19\u1D1A\u1D1B\u1D1C\u1D1D\u1D1E\u1D1F\u1D20\u1D21\u1D22\u1D23\u1D24\u1D25\u1D26\u1D27\u1D28\u1D29\u1D2A\u1D2B\u1D62\u1D63\u1D64\u1D65\u1D66\u1D67\u1D68\u1D69\u1D6A\u1D6B\u1D6C\u1D6D\u1D6E\u1D6F\u1D70\u1D71\u1D72\u1D73\u1D74\u1D75\u1D76\u1D77\u1D79\u1D7A\u1D7B\u1D7C\u1D7D\u1D7E\u1D7F\u1D80\u1D81\u1D82\u1D83\u1D84\u1D85\u1D86\u1D87\u1D88\u1D89\u1D8A\u1D8B\u1D8C\u1D8D\u1D8E\u1D8F\u1D90\u1D91\u1D92\u1D93\u1D94\u1D95\u1D96\u1D97\u1D98\u1D99\u1D9A\u1E01\u1E03\u1E05\u1E07\u1E09\u1E0B\u1E0D\u1E0F\u1E11\u1E13\u1E15\u1E17\u1E19\u1E1B\u1E1D\u1E1F\u1E21\u1E23\u1E25\u1E27\u1E29\u1E2B\u1E2D\u1E2F\u1E31\u1E33\u1E35\u1E37\u1E39\u1E3B\u1E3D\u1E3F\u1E41\u1E43\u1E45\u1E47\u1E49\u1E4B\u1E4D\u1E4F\u1E51\u1E53\u1E55\u1E57\u1E59\u1E5B\u1E5D\u1E5F\u1E61\u1E63\u1E65\u1E67\u1E69\u1E6B\u1E6D\u1E6F\u1E71\u1E73\u1E75\u1E77\u1E79\u1E7B\u1E7D\u1E7F\u1E81\u1E83\u1E85\u1E87\u1E89\u1E8B\u1E8D\u1E8F\u1E91\u1E93\u1E95\u1E96\u1E97\u1E98\u1E99\u1E9A\u1E9B\u1E9C\u1E9D\u1E9F\u1EA1\u1EA3\u1EA5\u1EA7\u1EA9\u1EAB\u1EAD\u1EAF\u1EB1\u1EB3\u1EB5\u1EB7\u1EB9\u1EBB\u1EBD\u1EBF\u1EC1\u1EC3\u1EC5\u1EC7\u1EC9\u1ECB\u1ECD\u1ECF\u1ED1\u1ED3\u1ED5\u1ED7\u1ED9\u1EDB\u1EDD\u1EDF\u1EE1\u1EE3\u1EE5\u1EE7\u1EE9\u1EEB\u1EED\u1EEF\u1EF1\u1EF3\u1EF5\u1EF7\u1EF9\u1EFB\u1EFD\u1EFF\u1F00\u1F01\u1F02\u1F03\u1F04\u1F05\u1F06\u1F07\u1F10\u1F11\u1F12\u1F13\u1F14\u1F15\u1F20\u1F21\u1F22\u1F23\u1F24\u1F25\u1F26\u1F27\u1F30\u1F31\u1F32\u1F33\u1F34\u1F35\u1F36\u1F37\u1F40\u1F41\u1F42\u1F43\u1F44\u1F45\u1F50\u1F51\u1F52\u1F53\u1F54\u1F55\u1F56\u1F57\u1F60\u1F61\u1F62\u1F63\u1F64\u1F65\u1F66\u1F67\u1F70\u1F71\u1F72\u1F73\u1F74\u1F75\u1F76\u1F77\u1F78\u1F79\u1F7A\u1F7B\u1F7C\u1F7D\u1F80\u1F81\u1F82\u1F83\u1F84\u1F85\u1F86\u1F87\u1F90\u1F91\u1F92\u1F93\u1F94\u1F95\u1F96\u1F97\u1FA0\u1FA1\u1FA2\u1FA3\u1FA4\u1FA5\u1FA6\u1FA7\u1FB0\u1FB1\u1FB2\u1FB3\u1FB4\u1FB6\u1FB7\u1FBE\u1FC2\u1FC3\u1FC4\u1FC6\u1FC7\u1FD0\u1FD1\u1FD2\u1FD3\u1FD6\u1FD7\u1FE0\u1FE1\u1FE2\u1FE3\u1FE4\u1FE5\u1FE6\u1FE7\u1FF2\u1FF3\u1FF4\u1FF6\u1FF7\u2071\u207F\u210A\u210E\u210F\u2113\u212F\u2134\u2139\u213C\u213D\u2146\u2147\u2148\u2149\u214E\u2184\u2C30\u2C31\u2C32\u2C33\u2C34\u2C35\u2C36\u2C37\u2C38\u2C39\u2C3A\u2C3B\u2C3C\u2C3D\u2C3E\u2C3F\u2C40\u2C41\u2C42\u2C43\u2C44\u2C45\u2C46\u2C47\u2C48\u2C49\u2C4A\u2C4B\u2C4C\u2C4D\u2C4E\u2C4F\u2C50\u2C51\u2C52\u2C53\u2C54\u2C55\u2C56\u2C57\u2C58\u2C59\u2C5A\u2C5B\u2C5C\u2C5D\u2C5E\u2C61\u2C65\u2C66\u2C68\u2C6A\u2C6C\u2C71\u2C73\u2C74\u2C76\u2C77\u2C78\u2C79\u2C7A\u2C7B\u2C7C\u2C81\u2C83\u2C85\u2C87\u2C89\u2C8B\u2C8D\u2C8F\u2C91\u2C93\u2C95\u2C97\u2C99\u2C9B\u2C9D\u2C9F\u2CA1\u2CA3\u2CA5\u2CA7\u2CA9\u2CAB\u2CAD\u2CAF\u2CB1\u2CB3\u2CB5\u2CB7\u2CB9\u2CBB\u2CBD\u2CBF\u2CC1\u2CC3\u2CC5\u2CC7\u2CC9\u2CCB\u2CCD\u2CCF\u2CD1\u2CD3\u2CD5\u2CD7\u2CD9\u2CDB\u2CDD\u2CDF\u2CE1\u2CE3\u2CE4\u2D00\u2D01\u2D02\u2D03\u2D04\u2D05\u2D06\u2D07\u2D08\u2D09\u2D0A\u2D0B\u2D0C\u2D0D\u2D0E\u2D0F\u2D10\u2D11\u2D12\u2D13\u2D14\u2D15\u2D16\u2D17\u2D18\u2D19\u2D1A\u2D1B\u2D1C\u2D1D\u2D1E\u2D1F\u2D20\u2D21\u2D22\u2D23\u2D24\u2D25\uA641\uA643\uA645\uA647\uA649\uA64B\uA64D\uA64F\uA651\uA653\uA655\uA657\uA659\uA65B\uA65D\uA65F\uA663\uA665\uA667\uA669\uA66B\uA66D\uA681\uA683\uA685\uA687\uA689\uA68B\uA68D\uA68F\uA691\uA693\uA695\uA697\uA723\uA725\uA727\uA729\uA72B\uA72D\uA72F\uA730\uA731\uA733\uA735\uA737\uA739\uA73B\uA73D\uA73F\uA741\uA743\uA745\uA747\uA749\uA74B\uA74D\uA74F\uA751\uA753\uA755\uA757\uA759\uA75B\uA75D\uA75F\uA761\uA763\uA765\uA767\uA769\uA76B\uA76D\uA76F\uA771\uA772\uA773\uA774\uA775\uA776\uA777\uA778\uA77A\uA77C\uA77F\uA781\uA783\uA785\uA787\uA78C\uFB00\uFB01\uFB02\uFB03\uFB04\uFB05\uFB06\uFB13\uFB14\uFB15\uFB16\uFB17\uFF41\uFF42\uFF43\uFF44\uFF45\uFF46\uFF47\uFF48\uFF49\uFF4A\uFF4B\uFF4C\uFF4D\uFF4E\uFF4F\uFF50\uFF51\uFF52\uFF53\uFF54\uFF55\uFF56\uFF57\uFF58\uFF59\uFF5A]/) !== null) {
5577 var result0 = input.charAt(pos);
5578 pos++;
5579 } else {
5580 var result0 = null;
5581 if (reportMatchFailures) {
5582 matchFailed("[abcdefghijklmnopqrstuvwxyz\\xAA\\xB5\\xBA\\xDF\\xE0\\xE1\\xE2\\xE3\\xE4\\xE5\\xE6\\xE7\\xE8\\xE9\\xEA\\xEB\\xEC\\xED\\xEE\\xEF\\xF0\\xF1\\xF2\\xF3\\xF4\\xF5\\xF6\\xF8\\xF9\\xFA\\xFB\\xFC\\xFD\\xFE\\xFF\\u0101\\u0103\\u0105\\u0107\\u0109\\u010B\\u010D\\u010F\\u0111\\u0113\\u0115\\u0117\\u0119\\u011B\\u011D\\u011F\\u0121\\u0123\\u0125\\u0127\\u0129\\u012B\\u012D\\u012F\\u0131\\u0133\\u0135\\u0137\\u0138\\u013A\\u013C\\u013E\\u0140\\u0142\\u0144\\u0146\\u0148\\u0149\\u014B\\u014D\\u014F\\u0151\\u0153\\u0155\\u0157\\u0159\\u015B\\u015D\\u015F\\u0161\\u0163\\u0165\\u0167\\u0169\\u016B\\u016D\\u016F\\u0171\\u0173\\u0175\\u0177\\u017A\\u017C\\u017E\\u017F\\u0180\\u0183\\u0185\\u0188\\u018C\\u018D\\u0192\\u0195\\u0199\\u019A\\u019B\\u019E\\u01A1\\u01A3\\u01A5\\u01A8\\u01AA\\u01AB\\u01AD\\u01B0\\u01B4\\u01B6\\u01B9\\u01BA\\u01BD\\u01BE\\u01BF\\u01C6\\u01C9\\u01CC\\u01CE\\u01D0\\u01D2\\u01D4\\u01D6\\u01D8\\u01DA\\u01DC\\u01DD\\u01DF\\u01E1\\u01E3\\u01E5\\u01E7\\u01E9\\u01EB\\u01ED\\u01EF\\u01F0\\u01F3\\u01F5\\u01F9\\u01FB\\u01FD\\u01FF\\u0201\\u0203\\u0205\\u0207\\u0209\\u020B\\u020D\\u020F\\u0211\\u0213\\u0215\\u0217\\u0219\\u021B\\u021D\\u021F\\u0221\\u0223\\u0225\\u0227\\u0229\\u022B\\u022D\\u022F\\u0231\\u0233\\u0234\\u0235\\u0236\\u0237\\u0238\\u0239\\u023C\\u023F\\u0240\\u0242\\u0247\\u0249\\u024B\\u024D\\u024F\\u0250\\u0251\\u0252\\u0253\\u0254\\u0255\\u0256\\u0257\\u0258\\u0259\\u025A\\u025B\\u025C\\u025D\\u025E\\u025F\\u0260\\u0261\\u0262\\u0263\\u0264\\u0265\\u0266\\u0267\\u0268\\u0269\\u026A\\u026B\\u026C\\u026D\\u026E\\u026F\\u0270\\u0271\\u0272\\u0273\\u0274\\u0275\\u0276\\u0277\\u0278\\u0279\\u027A\\u027B\\u027C\\u027D\\u027E\\u027F\\u0280\\u0281\\u0282\\u0283\\u0284\\u0285\\u0286\\u0287\\u0288\\u0289\\u028A\\u028B\\u028C\\u028D\\u028E\\u028F\\u0290\\u0291\\u0292\\u0293\\u0295\\u0296\\u0297\\u0298\\u0299\\u029A\\u029B\\u029C\\u029D\\u029E\\u029F\\u02A0\\u02A1\\u02A2\\u02A3\\u02A4\\u02A5\\u02A6\\u02A7\\u02A8\\u02A9\\u02AA\\u02AB\\u02AC\\u02AD\\u02AE\\u02AF\\u0371\\u0373\\u0377\\u037B\\u037C\\u037D\\u0390\\u03AC\\u03AD\\u03AE\\u03AF\\u03B0\\u03B1\\u03B2\\u03B3\\u03B4\\u03B5\\u03B6\\u03B7\\u03B8\\u03B9\\u03BA\\u03BB\\u03BC\\u03BD\\u03BE\\u03BF\\u03C0\\u03C1\\u03C2\\u03C3\\u03C4\\u03C5\\u03C6\\u03C7\\u03C8\\u03C9\\u03CA\\u03CB\\u03CC\\u03CD\\u03CE\\u03D0\\u03D1\\u03D5\\u03D6\\u03D7\\u03D9\\u03DB\\u03DD\\u03DF\\u03E1\\u03E3\\u03E5\\u03E7\\u03E9\\u03EB\\u03ED\\u03EF\\u03F0\\u03F1\\u03F2\\u03F3\\u03F5\\u03F8\\u03FB\\u03FC\\u0430\\u0431\\u0432\\u0433\\u0434\\u0435\\u0436\\u0437\\u0438\\u0439\\u043A\\u043B\\u043C\\u043D\\u043E\\u043F\\u0440\\u0441\\u0442\\u0443\\u0444\\u0445\\u0446\\u0447\\u0448\\u0449\\u044A\\u044B\\u044C\\u044D\\u044E\\u044F\\u0450\\u0451\\u0452\\u0453\\u0454\\u0455\\u0456\\u0457\\u0458\\u0459\\u045A\\u045B\\u045C\\u045D\\u045E\\u045F\\u0461\\u0463\\u0465\\u0467\\u0469\\u046B\\u046D\\u046F\\u0471\\u0473\\u0475\\u0477\\u0479\\u047B\\u047D\\u047F\\u0481\\u048B\\u048D\\u048F\\u0491\\u0493\\u0495\\u0497\\u0499\\u049B\\u049D\\u049F\\u04A1\\u04A3\\u04A5\\u04A7\\u04A9\\u04AB\\u04AD\\u04AF\\u04B1\\u04B3\\u04B5\\u04B7\\u04B9\\u04BB\\u04BD\\u04BF\\u04C2\\u04C4\\u04C6\\u04C8\\u04CA\\u04CC\\u04CE\\u04CF\\u04D1\\u04D3\\u04D5\\u04D7\\u04D9\\u04DB\\u04DD\\u04DF\\u04E1\\u04E3\\u04E5\\u04E7\\u04E9\\u04EB\\u04ED\\u04EF\\u04F1\\u04F3\\u04F5\\u04F7\\u04F9\\u04FB\\u04FD\\u04FF\\u0501\\u0503\\u0505\\u0507\\u0509\\u050B\\u050D\\u050F\\u0511\\u0513\\u0515\\u0517\\u0519\\u051B\\u051D\\u051F\\u0521\\u0523\\u0561\\u0562\\u0563\\u0564\\u0565\\u0566\\u0567\\u0568\\u0569\\u056A\\u056B\\u056C\\u056D\\u056E\\u056F\\u0570\\u0571\\u0572\\u0573\\u0574\\u0575\\u0576\\u0577\\u0578\\u0579\\u057A\\u057B\\u057C\\u057D\\u057E\\u057F\\u0580\\u0581\\u0582\\u0583\\u0584\\u0585\\u0586\\u0587\\u1D00\\u1D01\\u1D02\\u1D03\\u1D04\\u1D05\\u1D06\\u1D07\\u1D08\\u1D09\\u1D0A\\u1D0B\\u1D0C\\u1D0D\\u1D0E\\u1D0F\\u1D10\\u1D11\\u1D12\\u1D13\\u1D14\\u1D15\\u1D16\\u1D17\\u1D18\\u1D19\\u1D1A\\u1D1B\\u1D1C\\u1D1D\\u1D1E\\u1D1F\\u1D20\\u1D21\\u1D22\\u1D23\\u1D24\\u1D25\\u1D26\\u1D27\\u1D28\\u1D29\\u1D2A\\u1D2B\\u1D62\\u1D63\\u1D64\\u1D65\\u1D66\\u1D67\\u1D68\\u1D69\\u1D6A\\u1D6B\\u1D6C\\u1D6D\\u1D6E\\u1D6F\\u1D70\\u1D71\\u1D72\\u1D73\\u1D74\\u1D75\\u1D76\\u1D77\\u1D79\\u1D7A\\u1D7B\\u1D7C\\u1D7D\\u1D7E\\u1D7F\\u1D80\\u1D81\\u1D82\\u1D83\\u1D84\\u1D85\\u1D86\\u1D87\\u1D88\\u1D89\\u1D8A\\u1D8B\\u1D8C\\u1D8D\\u1D8E\\u1D8F\\u1D90\\u1D91\\u1D92\\u1D93\\u1D94\\u1D95\\u1D96\\u1D97\\u1D98\\u1D99\\u1D9A\\u1E01\\u1E03\\u1E05\\u1E07\\u1E09\\u1E0B\\u1E0D\\u1E0F\\u1E11\\u1E13\\u1E15\\u1E17\\u1E19\\u1E1B\\u1E1D\\u1E1F\\u1E21\\u1E23\\u1E25\\u1E27\\u1E29\\u1E2B\\u1E2D\\u1E2F\\u1E31\\u1E33\\u1E35\\u1E37\\u1E39\\u1E3B\\u1E3D\\u1E3F\\u1E41\\u1E43\\u1E45\\u1E47\\u1E49\\u1E4B\\u1E4D\\u1E4F\\u1E51\\u1E53\\u1E55\\u1E57\\u1E59\\u1E5B\\u1E5D\\u1E5F\\u1E61\\u1E63\\u1E65\\u1E67\\u1E69\\u1E6B\\u1E6D\\u1E6F\\u1E71\\u1E73\\u1E75\\u1E77\\u1E79\\u1E7B\\u1E7D\\u1E7F\\u1E81\\u1E83\\u1E85\\u1E87\\u1E89\\u1E8B\\u1E8D\\u1E8F\\u1E91\\u1E93\\u1E95\\u1E96\\u1E97\\u1E98\\u1E99\\u1E9A\\u1E9B\\u1E9C\\u1E9D\\u1E9F\\u1EA1\\u1EA3\\u1EA5\\u1EA7\\u1EA9\\u1EAB\\u1EAD\\u1EAF\\u1EB1\\u1EB3\\u1EB5\\u1EB7\\u1EB9\\u1EBB\\u1EBD\\u1EBF\\u1EC1\\u1EC3\\u1EC5\\u1EC7\\u1EC9\\u1ECB\\u1ECD\\u1ECF\\u1ED1\\u1ED3\\u1ED5\\u1ED7\\u1ED9\\u1EDB\\u1EDD\\u1EDF\\u1EE1\\u1EE3\\u1EE5\\u1EE7\\u1EE9\\u1EEB\\u1EED\\u1EEF\\u1EF1\\u1EF3\\u1EF5\\u1EF7\\u1EF9\\u1EFB\\u1EFD\\u1EFF\\u1F00\\u1F01\\u1F02\\u1F03\\u1F04\\u1F05\\u1F06\\u1F07\\u1F10\\u1F11\\u1F12\\u1F13\\u1F14\\u1F15\\u1F20\\u1F21\\u1F22\\u1F23\\u1F24\\u1F25\\u1F26\\u1F27\\u1F30\\u1F31\\u1F32\\u1F33\\u1F34\\u1F35\\u1F36\\u1F37\\u1F40\\u1F41\\u1F42\\u1F43\\u1F44\\u1F45\\u1F50\\u1F51\\u1F52\\u1F53\\u1F54\\u1F55\\u1F56\\u1F57\\u1F60\\u1F61\\u1F62\\u1F63\\u1F64\\u1F65\\u1F66\\u1F67\\u1F70\\u1F71\\u1F72\\u1F73\\u1F74\\u1F75\\u1F76\\u1F77\\u1F78\\u1F79\\u1F7A\\u1F7B\\u1F7C\\u1F7D\\u1F80\\u1F81\\u1F82\\u1F83\\u1F84\\u1F85\\u1F86\\u1F87\\u1F90\\u1F91\\u1F92\\u1F93\\u1F94\\u1F95\\u1F96\\u1F97\\u1FA0\\u1FA1\\u1FA2\\u1FA3\\u1FA4\\u1FA5\\u1FA6\\u1FA7\\u1FB0\\u1FB1\\u1FB2\\u1FB3\\u1FB4\\u1FB6\\u1FB7\\u1FBE\\u1FC2\\u1FC3\\u1FC4\\u1FC6\\u1FC7\\u1FD0\\u1FD1\\u1FD2\\u1FD3\\u1FD6\\u1FD7\\u1FE0\\u1FE1\\u1FE2\\u1FE3\\u1FE4\\u1FE5\\u1FE6\\u1FE7\\u1FF2\\u1FF3\\u1FF4\\u1FF6\\u1FF7\\u2071\\u207F\\u210A\\u210E\\u210F\\u2113\\u212F\\u2134\\u2139\\u213C\\u213D\\u2146\\u2147\\u2148\\u2149\\u214E\\u2184\\u2C30\\u2C31\\u2C32\\u2C33\\u2C34\\u2C35\\u2C36\\u2C37\\u2C38\\u2C39\\u2C3A\\u2C3B\\u2C3C\\u2C3D\\u2C3E\\u2C3F\\u2C40\\u2C41\\u2C42\\u2C43\\u2C44\\u2C45\\u2C46\\u2C47\\u2C48\\u2C49\\u2C4A\\u2C4B\\u2C4C\\u2C4D\\u2C4E\\u2C4F\\u2C50\\u2C51\\u2C52\\u2C53\\u2C54\\u2C55\\u2C56\\u2C57\\u2C58\\u2C59\\u2C5A\\u2C5B\\u2C5C\\u2C5D\\u2C5E\\u2C61\\u2C65\\u2C66\\u2C68\\u2C6A\\u2C6C\\u2C71\\u2C73\\u2C74\\u2C76\\u2C77\\u2C78\\u2C79\\u2C7A\\u2C7B\\u2C7C\\u2C81\\u2C83\\u2C85\\u2C87\\u2C89\\u2C8B\\u2C8D\\u2C8F\\u2C91\\u2C93\\u2C95\\u2C97\\u2C99\\u2C9B\\u2C9D\\u2C9F\\u2CA1\\u2CA3\\u2CA5\\u2CA7\\u2CA9\\u2CAB\\u2CAD\\u2CAF\\u2CB1\\u2CB3\\u2CB5\\u2CB7\\u2CB9\\u2CBB\\u2CBD\\u2CBF\\u2CC1\\u2CC3\\u2CC5\\u2CC7\\u2CC9\\u2CCB\\u2CCD\\u2CCF\\u2CD1\\u2CD3\\u2CD5\\u2CD7\\u2CD9\\u2CDB\\u2CDD\\u2CDF\\u2CE1\\u2CE3\\u2CE4\\u2D00\\u2D01\\u2D02\\u2D03\\u2D04\\u2D05\\u2D06\\u2D07\\u2D08\\u2D09\\u2D0A\\u2D0B\\u2D0C\\u2D0D\\u2D0E\\u2D0F\\u2D10\\u2D11\\u2D12\\u2D13\\u2D14\\u2D15\\u2D16\\u2D17\\u2D18\\u2D19\\u2D1A\\u2D1B\\u2D1C\\u2D1D\\u2D1E\\u2D1F\\u2D20\\u2D21\\u2D22\\u2D23\\u2D24\\u2D25\\uA641\\uA643\\uA645\\uA647\\uA649\\uA64B\\uA64D\\uA64F\\uA651\\uA653\\uA655\\uA657\\uA659\\uA65B\\uA65D\\uA65F\\uA663\\uA665\\uA667\\uA669\\uA66B\\uA66D\\uA681\\uA683\\uA685\\uA687\\uA689\\uA68B\\uA68D\\uA68F\\uA691\\uA693\\uA695\\uA697\\uA723\\uA725\\uA727\\uA729\\uA72B\\uA72D\\uA72F\\uA730\\uA731\\uA733\\uA735\\uA737\\uA739\\uA73B\\uA73D\\uA73F\\uA741\\uA743\\uA745\\uA747\\uA749\\uA74B\\uA74D\\uA74F\\uA751\\uA753\\uA755\\uA757\\uA759\\uA75B\\uA75D\\uA75F\\uA761\\uA763\\uA765\\uA767\\uA769\\uA76B\\uA76D\\uA76F\\uA771\\uA772\\uA773\\uA774\\uA775\\uA776\\uA777\\uA778\\uA77A\\uA77C\\uA77F\\uA781\\uA783\\uA785\\uA787\\uA78C\\uFB00\\uFB01\\uFB02\\uFB03\\uFB04\\uFB05\\uFB06\\uFB13\\uFB14\\uFB15\\uFB16\\uFB17\\uFF41\\uFF42\\uFF43\\uFF44\\uFF45\\uFF46\\uFF47\\uFF48\\uFF49\\uFF4A\\uFF4B\\uFF4C\\uFF4D\\uFF4E\\uFF4F\\uFF50\\uFF51\\uFF52\\uFF53\\uFF54\\uFF55\\uFF56\\uFF57\\uFF58\\uFF59\\uFF5A]");
5583 }
5584 }
5585
5586
5587
5588 cache[cacheKey] = {
5589 nextPos: pos,
5590 result: result0
5591 };
5592 return result0;
5593 }
5594
5595 function parse_Lm() {
5596 var cacheKey = 'Lm@' + pos;
5597 var cachedResult = cache[cacheKey];
5598 if (cachedResult) {
5599 pos = cachedResult.nextPos;
5600 return cachedResult.result;
5601 }
5602
5603
5604 if (input.substr(pos).match(/^[\u02B0\u02B1\u02B2\u02B3\u02B4\u02B5\u02B6\u02B7\u02B8\u02B9\u02BA\u02BB\u02BC\u02BD\u02BE\u02BF\u02C0\u02C1\u02C6\u02C7\u02C8\u02C9\u02CA\u02CB\u02CC\u02CD\u02CE\u02CF\u02D0\u02D1\u02E0\u02E1\u02E2\u02E3\u02E4\u02EC\u02EE\u0374\u037A\u0559\u0640\u06E5\u06E6\u07F4\u07F5\u07FA\u0971\u0E46\u0EC6\u10FC\u17D7\u1843\u1C78\u1C79\u1C7A\u1C7B\u1C7C\u1C7D\u1D2C\u1D2D\u1D2E\u1D2F\u1D30\u1D31\u1D32\u1D33\u1D34\u1D35\u1D36\u1D37\u1D38\u1D39\u1D3A\u1D3B\u1D3C\u1D3D\u1D3E\u1D3F\u1D40\u1D41\u1D42\u1D43\u1D44\u1D45\u1D46\u1D47\u1D48\u1D49\u1D4A\u1D4B\u1D4C\u1D4D\u1D4E\u1D4F\u1D50\u1D51\u1D52\u1D53\u1D54\u1D55\u1D56\u1D57\u1D58\u1D59\u1D5A\u1D5B\u1D5C\u1D5D\u1D5E\u1D5F\u1D60\u1D61\u1D78\u1D9B\u1D9C\u1D9D\u1D9E\u1D9F\u1DA0\u1DA1\u1DA2\u1DA3\u1DA4\u1DA5\u1DA6\u1DA7\u1DA8\u1DA9\u1DAA\u1DAB\u1DAC\u1DAD\u1DAE\u1DAF\u1DB0\u1DB1\u1DB2\u1DB3\u1DB4\u1DB5\u1DB6\u1DB7\u1DB8\u1DB9\u1DBA\u1DBB\u1DBC\u1DBD\u1DBE\u1DBF\u2090\u2091\u2092\u2093\u2094\u2C7D\u2D6F\u2E2F\u3005\u3031\u3032\u3033\u3034\u3035\u303B\u309D\u309E\u30FC\u30FD\u30FE\uA015\uA60C\uA67F\uA717\uA718\uA719\uA71A\uA71B\uA71C\uA71D\uA71E\uA71F\uA770\uA788\uFF70\uFF9E\uFF9F]/) !== null) {
5605 var result0 = input.charAt(pos);
5606 pos++;
5607 } else {
5608 var result0 = null;
5609 if (reportMatchFailures) {
5610 matchFailed("[\\u02B0\\u02B1\\u02B2\\u02B3\\u02B4\\u02B5\\u02B6\\u02B7\\u02B8\\u02B9\\u02BA\\u02BB\\u02BC\\u02BD\\u02BE\\u02BF\\u02C0\\u02C1\\u02C6\\u02C7\\u02C8\\u02C9\\u02CA\\u02CB\\u02CC\\u02CD\\u02CE\\u02CF\\u02D0\\u02D1\\u02E0\\u02E1\\u02E2\\u02E3\\u02E4\\u02EC\\u02EE\\u0374\\u037A\\u0559\\u0640\\u06E5\\u06E6\\u07F4\\u07F5\\u07FA\\u0971\\u0E46\\u0EC6\\u10FC\\u17D7\\u1843\\u1C78\\u1C79\\u1C7A\\u1C7B\\u1C7C\\u1C7D\\u1D2C\\u1D2D\\u1D2E\\u1D2F\\u1D30\\u1D31\\u1D32\\u1D33\\u1D34\\u1D35\\u1D36\\u1D37\\u1D38\\u1D39\\u1D3A\\u1D3B\\u1D3C\\u1D3D\\u1D3E\\u1D3F\\u1D40\\u1D41\\u1D42\\u1D43\\u1D44\\u1D45\\u1D46\\u1D47\\u1D48\\u1D49\\u1D4A\\u1D4B\\u1D4C\\u1D4D\\u1D4E\\u1D4F\\u1D50\\u1D51\\u1D52\\u1D53\\u1D54\\u1D55\\u1D56\\u1D57\\u1D58\\u1D59\\u1D5A\\u1D5B\\u1D5C\\u1D5D\\u1D5E\\u1D5F\\u1D60\\u1D61\\u1D78\\u1D9B\\u1D9C\\u1D9D\\u1D9E\\u1D9F\\u1DA0\\u1DA1\\u1DA2\\u1DA3\\u1DA4\\u1DA5\\u1DA6\\u1DA7\\u1DA8\\u1DA9\\u1DAA\\u1DAB\\u1DAC\\u1DAD\\u1DAE\\u1DAF\\u1DB0\\u1DB1\\u1DB2\\u1DB3\\u1DB4\\u1DB5\\u1DB6\\u1DB7\\u1DB8\\u1DB9\\u1DBA\\u1DBB\\u1DBC\\u1DBD\\u1DBE\\u1DBF\\u2090\\u2091\\u2092\\u2093\\u2094\\u2C7D\\u2D6F\\u2E2F\\u3005\\u3031\\u3032\\u3033\\u3034\\u3035\\u303B\\u309D\\u309E\\u30FC\\u30FD\\u30FE\\uA015\\uA60C\\uA67F\\uA717\\uA718\\uA719\\uA71A\\uA71B\\uA71C\\uA71D\\uA71E\\uA71F\\uA770\\uA788\\uFF70\\uFF9E\\uFF9F]");
5611 }
5612 }
5613
5614
5615
5616 cache[cacheKey] = {
5617 nextPos: pos,
5618 result: result0
5619 };
5620 return result0;
5621 }
5622
5623 function parse_Lo() {
5624 var cacheKey = 'Lo@' + pos;
5625 var cachedResult = cache[cacheKey];
5626 if (cachedResult) {
5627 pos = cachedResult.nextPos;
5628 return cachedResult.result;
5629 }
5630
5631
5632 if (input.substr(pos).match(/^[\u01BB\u01C0\u01C1\u01C2\u01C3\u0294\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7\u05E8\u05E9\u05EA\u05F0\u05F1\u05F2\u0621\u0622\u0623\u0624\u0625\u0626\u0627\u0628\u0629\u062A\u062B\u062C\u062D\u062E\u062F\u0630\u0631\u0632\u0633\u0634\u0635\u0636\u0637\u0638\u0639\u063A\u063B\u063C\u063D\u063E\u063F\u0641\u0642\u0643\u0644\u0645\u0646\u0647\u0648\u0649\u064A\u066E\u066F\u0671\u0672\u0673\u0674\u0675\u0676\u0677\u0678\u0679\u067A\u067B\u067C\u067D\u067E\u067F\u0680\u0681\u0682\u0683\u0684\u0685\u0686\u0687\u0688\u0689\u068A\u068B\u068C\u068D\u068E\u068F\u0690\u0691\u0692\u0693\u0694\u0695\u0696\u0697\u0698\u0699\u069A\u069B\u069C\u069D\u069E\u069F\u06A0\u06A1\u06A2\u06A3\u06A4\u06A5\u06A6\u06A7\u06A8\u06A9\u06AA\u06AB\u06AC\u06AD\u06AE\u06AF\u06B0\u06B1\u06B2\u06B3\u06B4\u06B5\u06B6\u06B7\u06B8\u06B9\u06BA\u06BB\u06BC\u06BD\u06BE\u06BF\u06C0\u06C1\u06C2\u06C3\u06C4\u06C5\u06C6\u06C7\u06C8\u06C9\u06CA\u06CB\u06CC\u06CD\u06CE\u06CF\u06D0\u06D1\u06D2\u06D3\u06D5\u06EE\u06EF\u06FA\u06FB\u06FC\u06FF\u0710\u0712\u0713\u0714\u0715\u0716\u0717\u0718\u0719\u071A\u071B\u071C\u071D\u071E\u071F\u0720\u0721\u0722\u0723\u0724\u0725\u0726\u0727\u0728\u0729\u072A\u072B\u072C\u072D\u072E\u072F\u074D\u074E\u074F\u0750\u0751\u0752\u0753\u0754\u0755\u0756\u0757\u0758\u0759\u075A\u075B\u075C\u075D\u075E\u075F\u0760\u0761\u0762\u0763\u0764\u0765\u0766\u0767\u0768\u0769\u076A\u076B\u076C\u076D\u076E\u076F\u0770\u0771\u0772\u0773\u0774\u0775\u0776\u0777\u0778\u0779\u077A\u077B\u077C\u077D\u077E\u077F\u0780\u0781\u0782\u0783\u0784\u0785\u0786\u0787\u0788\u0789\u078A\u078B\u078C\u078D\u078E\u078F\u0790\u0791\u0792\u0793\u0794\u0795\u0796\u0797\u0798\u0799\u079A\u079B\u079C\u079D\u079E\u079F\u07A0\u07A1\u07A2\u07A3\u07A4\u07A5\u07B1\u07CA\u07CB\u07CC\u07CD\u07CE\u07CF\u07D0\u07D1\u07D2\u07D3\u07D4\u07D5\u07D6\u07D7\u07D8\u07D9\u07DA\u07DB\u07DC\u07DD\u07DE\u07DF\u07E0\u07E1\u07E2\u07E3\u07E4\u07E5\u07E6\u07E7\u07E8\u07E9\u07EA\u0904\u0905\u0906\u0907\u0908\u0909\u090A\u090B\u090C\u090D\u090E\u090F\u0910\u0911\u0912\u0913\u0914\u0915\u0916\u0917\u0918\u0919\u091A\u091B\u091C\u091D\u091E\u091F\u0920\u0921\u0922\u0923\u0924\u0925\u0926\u0927\u0928\u0929\u092A\u092B\u092C\u092D\u092E\u092F\u0930\u0931\u0932\u0933\u0934\u0935\u0936\u0937\u0938\u0939\u093D\u0950\u0958\u0959\u095A\u095B\u095C\u095D\u095E\u095F\u0960\u0961\u0972\u097B\u097C\u097D\u097E\u097F\u0985\u0986\u0987\u0988\u0989\u098A\u098B\u098C\u098F\u0990\u0993\u0994\u0995\u0996\u0997\u0998\u0999\u099A\u099B\u099C\u099D\u099E\u099F\u09A0\u09A1\u09A2\u09A3\u09A4\u09A5\u09A6\u09A7\u09A8\u09AA\u09AB\u09AC\u09AD\u09AE\u09AF\u09B0\u09B2\u09B6\u09B7\u09B8\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF\u09E0\u09E1\u09F0\u09F1\u0A05\u0A06\u0A07\u0A08\u0A09\u0A0A\u0A0F\u0A10\u0A13\u0A14\u0A15\u0A16\u0A17\u0A18\u0A19\u0A1A\u0A1B\u0A1C\u0A1D\u0A1E\u0A1F\u0A20\u0A21\u0A22\u0A23\u0A24\u0A25\u0A26\u0A27\u0A28\u0A2A\u0A2B\u0A2C\u0A2D\u0A2E\u0A2F\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59\u0A5A\u0A5B\u0A5C\u0A5E\u0A72\u0A73\u0A74\u0A85\u0A86\u0A87\u0A88\u0A89\u0A8A\u0A8B\u0A8C\u0A8D\u0A8F\u0A90\u0A91\u0A93\u0A94\u0A95\u0A96\u0A97\u0A98\u0A99\u0A9A\u0A9B\u0A9C\u0A9D\u0A9E\u0A9F\u0AA0\u0AA1\u0AA2\u0AA3\u0AA4\u0AA5\u0AA6\u0AA7\u0AA8\u0AAA\u0AAB\u0AAC\u0AAD\u0AAE\u0AAF\u0AB0\u0AB2\u0AB3\u0AB5\u0AB6\u0AB7\u0AB8\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05\u0B06\u0B07\u0B08\u0B09\u0B0A\u0B0B\u0B0C\u0B0F\u0B10\u0B13\u0B14\u0B15\u0B16\u0B17\u0B18\u0B19\u0B1A\u0B1B\u0B1C\u0B1D\u0B1E\u0B1F\u0B20\u0B21\u0B22\u0B23\u0B24\u0B25\u0B26\u0B27\u0B28\u0B2A\u0B2B\u0B2C\u0B2D\u0B2E\u0B2F\u0B30\u0B32\u0B33\u0B35\u0B36\u0B37\u0B38\u0B39\u0B3D\u0B5C\u0B5D\u0B5F\u0B60\u0B61\u0B71\u0B83\u0B85\u0B86\u0B87\u0B88\u0B89\u0B8A\u0B8E\u0B8F\u0B90\u0B92\u0B93\u0B94\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8\u0BA9\u0BAA\u0BAE\u0BAF\u0BB0\u0BB1\u0BB2\u0BB3\u0BB4\u0BB5\u0BB6\u0BB7\u0BB8\u0BB9\u0BD0\u0C05\u0C06\u0C07\u0C08\u0C09\u0C0A\u0C0B\u0C0C\u0C0E\u0C0F\u0C10\u0C12\u0C13\u0C14\u0C15\u0C16\u0C17\u0C18\u0C19\u0C1A\u0C1B\u0C1C\u0C1D\u0C1E\u0C1F\u0C20\u0C21\u0C22\u0C23\u0C24\u0C25\u0C26\u0C27\u0C28\u0C2A\u0C2B\u0C2C\u0C2D\u0C2E\u0C2F\u0C30\u0C31\u0C32\u0C33\u0C35\u0C36\u0C37\u0C38\u0C39\u0C3D\u0C58\u0C59\u0C60\u0C61\u0C85\u0C86\u0C87\u0C88\u0C89\u0C8A\u0C8B\u0C8C\u0C8E\u0C8F\u0C90\u0C92\u0C93\u0C94\u0C95\u0C96\u0C97\u0C98\u0C99\u0C9A\u0C9B\u0C9C\u0C9D\u0C9E\u0C9F\u0CA0\u0CA1\u0CA2\u0CA3\u0CA4\u0CA5\u0CA6\u0CA7\u0CA8\u0CAA\u0CAB\u0CAC\u0CAD\u0CAE\u0CAF\u0CB0\u0CB1\u0CB2\u0CB3\u0CB5\u0CB6\u0CB7\u0CB8\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0D05\u0D06\u0D07\u0D08\u0D09\u0D0A\u0D0B\u0D0C\u0D0E\u0D0F\u0D10\u0D12\u0D13\u0D14\u0D15\u0D16\u0D17\u0D18\u0D19\u0D1A\u0D1B\u0D1C\u0D1D\u0D1E\u0D1F\u0D20\u0D21\u0D22\u0D23\u0D24\u0D25\u0D26\u0D27\u0D28\u0D2A\u0D2B\u0D2C\u0D2D\u0D2E\u0D2F\u0D30\u0D31\u0D32\u0D33\u0D34\u0D35\u0D36\u0D37\u0D38\u0D39\u0D3D\u0D60\u0D61\u0D7A\u0D7B\u0D7C\u0D7D\u0D7E\u0D7F\u0D85\u0D86\u0D87\u0D88\u0D89\u0D8A\u0D8B\u0D8C\u0D8D\u0D8E\u0D8F\u0D90\u0D91\u0D92\u0D93\u0D94\u0D95\u0D96\u0D9A\u0D9B\u0D9C\u0D9D\u0D9E\u0D9F\u0DA0\u0DA1\u0DA2\u0DA3\u0DA4\u0DA5\u0DA6\u0DA7\u0DA8\u0DA9\u0DAA\u0DAB\u0DAC\u0DAD\u0DAE\u0DAF\u0DB0\u0DB1\u0DB3\u0DB4\u0DB5\u0DB6\u0DB7\u0DB8\u0DB9\u0DBA\u0DBB\u0DBD\u0DC0\u0DC1\u0DC2\u0DC3\u0DC4\u0DC5\u0DC6\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E32\u0E33\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94\u0E95\u0E96\u0E97\u0E99\u0E9A\u0E9B\u0E9C\u0E9D\u0E9E\u0E9F\u0EA1\u0EA2\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD\u0EAE\u0EAF\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0\u0EC1\u0EC2\u0EC3\u0EC4\u0EDC\u0EDD\u0F00\u0F40\u0F41\u0F42\u0F43\u0F44\u0F45\u0F46\u0F47\u0F49\u0F4A\u0F4B\u0F4C\u0F4D\u0F4E\u0F4F\u0F50\u0F51\u0F52\u0F53\u0F54\u0F55\u0F56\u0F57\u0F58\u0F59\u0F5A\u0F5B\u0F5C\u0F5D\u0F5E\u0F5F\u0F60\u0F61\u0F62\u0F63\u0F64\u0F65\u0F66\u0F67\u0F68\u0F69\u0F6A\u0F6B\u0F6C\u0F88\u0F89\u0F8A\u0F8B\u1000\u1001\u1002\u1003\u1004\u1005\u1006\u1007\u1008\u1009\u100A\u100B\u100C\u100D\u100E\u100F\u1010\u1011\u1012\u1013\u1014\u1015\u1016\u1017\u1018\u1019\u101A\u101B\u101C\u101D\u101E\u101F\u1020\u1021\u1022\u1023\u1024\u1025\u1026\u1027\u1028\u1029\u102A\u103F\u1050\u1051\u1052\u1053\u1054\u1055\u105A\u105B\u105C\u105D\u1061\u1065\u1066\u106E\u106F\u1070\u1075\u1076\u1077\u1078\u1079\u107A\u107B\u107C\u107D\u107E\u107F\u1080\u1081\u108E\u10D0\u10D1\u10D2\u10D3\u10D4\u10D5\u10D6\u10D7\u10D8\u10D9\u10DA\u10DB\u10DC\u10DD\u10DE\u10DF\u10E0\u10E1\u10E2\u10E3\u10E4\u10E5\u10E6\u10E7\u10E8\u10E9\u10EA\u10EB\u10EC\u10ED\u10EE\u10EF\u10F0\u10F1\u10F2\u10F3\u10F4\u10F5\u10F6\u10F7\u10F8\u10F9\u10FA\u1100\u1101\u1102\u1103\u1104\u1105\u1106\u1107\u1108\u1109\u110A\u110B\u110C\u110D\u110E\u110F\u1110\u1111\u1112\u1113\u1114\u1115\u1116\u1117\u1118\u1119\u111A\u111B\u111C\u111D\u111E\u111F\u1120\u1121\u1122\u1123\u1124\u1125\u1126\u1127\u1128\u1129\u112A\u112B\u112C\u112D\u112E\u112F\u1130\u1131\u1132\u1133\u1134\u1135\u1136\u1137\u1138\u1139\u113A\u113B\u113C\u113D\u113E\u113F\u1140\u1141\u1142\u1143\u1144\u1145\u1146\u1147\u1148\u1149\u114A\u114B\u114C\u114D\u114E\u114F\u1150\u1151\u1152\u1153\u1154\u1155\u1156\u1157\u1158\u1159\u115F\u1160\u1161\u1162\u1163\u1164\u1165\u1166\u1167\u1168\u1169\u116A\u116B\u116C\u116D\u116E\u116F\u1170\u1171\u1172\u1173\u1174\u1175\u1176\u1177\u1178\u1179\u117A\u117B\u117C\u117D\u117E\u117F\u1180\u1181\u1182\u1183\u1184\u1185\u1186\u1187\u1188\u1189\u118A\u118B\u118C\u118D\u118E\u118F\u1190\u1191\u1192\u1193\u1194\u1195\u1196\u1197\u1198\u1199\u119A\u119B\u119C\u119D\u119E\u119F\u11A0\u11A1\u11A2\u11A8\u11A9\u11AA\u11AB\u11AC\u11AD\u11AE\u11AF\u11B0\u11B1\u11B2\u11B3\u11B4\u11B5\u11B6\u11B7\u11B8\u11B9\u11BA\u11BB\u11BC\u11BD\u11BE\u11BF\u11C0\u11C1\u11C2\u11C3\u11C4\u11C5\u11C6\u11C7\u11C8\u11C9\u11CA\u11CB\u11CC\u11CD\u11CE\u11CF\u11D0\u11D1\u11D2\u11D3\u11D4\u11D5\u11D6\u11D7\u11D8\u11D9\u11DA\u11DB\u11DC\u11DD\u11DE\u11DF\u11E0\u11E1\u11E2\u11E3\u11E4\u11E5\u11E6\u11E7\u11E8\u11E9\u11EA\u11EB\u11EC\u11ED\u11EE\u11EF\u11F0\u11F1\u11F2\u11F3\u11F4\u11F5\u11F6\u11F7\u11F8\u11F9\u1200\u1201\u1202\u1203\u1204\u1205\u1206\u1207\u1208\u1209\u120A\u120B\u120C\u120D\u120E\u120F\u1210\u1211\u1212\u1213\u1214\u1215\u1216\u1217\u1218\u1219\u121A\u121B\u121C\u121D\u121E\u121F\u1220\u1221\u1222\u1223\u1224\u1225\u1226\u1227\u1228\u1229\u122A\u122B\u122C\u122D\u122E\u122F\u1230\u1231\u1232\u1233\u1234\u1235\u1236\u1237\u1238\u1239\u123A\u123B\u123C\u123D\u123E\u123F\u1240\u1241\u1242\u1243\u1244\u1245\u1246\u1247\u1248\u124A\u124B\u124C\u124D\u1250\u1251\u1252\u1253\u1254\u1255\u1256\u1258\u125A\u125B\u125C\u125D\u1260\u1261\u1262\u1263\u1264\u1265\u1266\u1267\u1268\u1269\u126A\u126B\u126C\u126D\u126E\u126F\u1270\u1271\u1272\u1273\u1274\u1275\u1276\u1277\u1278\u1279\u127A\u127B\u127C\u127D\u127E\u127F\u1280\u1281\u1282\u1283\u1284\u1285\u1286\u1287\u1288\u128A\u128B\u128C\u128D\u1290\u1291\u1292\u1293\u1294\u1295\u1296\u1297\u1298\u1299\u129A\u129B\u129C\u129D\u129E\u129F\u12A0\u12A1\u12A2\u12A3\u12A4\u12A5\u12A6\u12A7\u12A8\u12A9\u12AA\u12AB\u12AC\u12AD\u12AE\u12AF\u12B0\u12B2\u12B3\u12B4\u12B5\u12B8\u12B9\u12BA\u12BB\u12BC\u12BD\u12BE\u12C0\u12C2\u12C3\u12C4\u12C5\u12C8\u12C9\u12CA\u12CB\u12CC\u12CD\u12CE\u12CF\u12D0\u12D1\u12D2\u12D3\u12D4\u12D5\u12D6\u12D8\u12D9\u12DA\u12DB\u12DC\u12DD\u12DE\u12DF\u12E0\u12E1\u12E2\u12E3\u12E4\u12E5\u12E6\u12E7\u12E8\u12E9\u12EA\u12EB\u12EC\u12ED\u12EE\u12EF\u12F0\u12F1\u12F2\u12F3\u12F4\u12F5\u12F6\u12F7\u12F8\u12F9\u12FA\u12FB\u12FC\u12FD\u12FE\u12FF\u1300\u1301\u1302\u1303\u1304\u1305\u1306\u1307\u1308\u1309\u130A\u130B\u130C\u130D\u130E\u130F\u1310\u1312\u1313\u1314\u1315\u1318\u1319\u131A\u131B\u131C\u131D\u131E\u131F\u1320\u1321\u1322\u1323\u1324\u1325\u1326\u1327\u1328\u1329\u132A\u132B\u132C\u132D\u132E\u132F\u1330\u1331\u1332\u1333\u1334\u1335\u1336\u1337\u1338\u1339\u133A\u133B\u133C\u133D\u133E\u133F\u1340\u1341\u1342\u1343\u1344\u1345\u1346\u1347\u1348\u1349\u134A\u134B\u134C\u134D\u134E\u134F\u1350\u1351\u1352\u1353\u1354\u1355\u1356\u1357\u1358\u1359\u135A\u1380\u1381\u1382\u1383\u1384\u1385\u1386\u1387\u1388\u1389\u138A\u138B\u138C\u138D\u138E\u138F\u13A0\u13A1\u13A2\u13A3\u13A4\u13A5\u13A6\u13A7\u13A8\u13A9\u13AA\u13AB\u13AC\u13AD\u13AE\u13AF\u13B0\u13B1\u13B2\u13B3\u13B4\u13B5\u13B6\u13B7\u13B8\u13B9\u13BA\u13BB\u13BC\u13BD\u13BE\u13BF\u13C0\u13C1\u13C2\u13C3\u13C4\u13C5\u13C6\u13C7\u13C8\u13C9\u13CA\u13CB\u13CC\u13CD\u13CE\u13CF\u13D0\u13D1\u13D2\u13D3\u13D4\u13D5\u13D6\u13D7\u13D8\u13D9\u13DA\u13DB\u13DC\u13DD\u13DE\u13DF\u13E0\u13E1\u13E2\u13E3\u13E4\u13E5\u13E6\u13E7\u13E8\u13E9\u13EA\u13EB\u13EC\u13ED\u13EE\u13EF\u13F0\u13F1\u13F2\u13F3\u13F4\u1401\u1402\u1403\u1404\u1405\u1406\u1407\u1408\u1409\u140A\u140B\u140C\u140D\u140E\u140F\u1410\u1411\u1412\u1413\u1414\u1415\u1416\u1417\u1418\u1419\u141A\u141B\u141C\u141D\u141E\u141F\u1420\u1421\u1422\u1423\u1424\u1425\u1426\u1427\u1428\u1429\u142A\u142B\u142C\u142D\u142E\u142F\u1430\u1431\u1432\u1433\u1434\u1435\u1436\u1437\u1438\u1439\u143A\u143B\u143C\u143D\u143E\u143F\u1440\u1441\u1442\u1443\u1444\u1445\u1446\u1447\u1448\u1449\u144A\u144B\u144C\u144D\u144E\u144F\u1450\u1451\u1452\u1453\u1454\u1455\u1456\u1457\u1458\u1459\u145A\u145B\u145C\u145D\u145E\u145F\u1460\u1461\u1462\u1463\u1464\u1465\u1466\u1467\u1468\u1469\u146A\u146B\u146C\u146D\u146E\u146F\u1470\u1471\u1472\u1473\u1474\u1475\u1476\u1477\u1478\u1479\u147A\u147B\u147C\u147D\u147E\u147F\u1480\u1481\u1482\u1483\u1484\u1485\u1486\u1487\u1488\u1489\u148A\u148B\u148C\u148D\u148E\u148F\u1490\u1491\u1492\u1493\u1494\u1495\u1496\u1497\u1498\u1499\u149A\u149B\u149C\u149D\u149E\u149F\u14A0\u14A1\u14A2\u14A3\u14A4\u14A5\u14A6\u14A7\u14A8\u14A9\u14AA\u14AB\u14AC\u14AD\u14AE\u14AF\u14B0\u14B1\u14B2\u14B3\u14B4\u14B5\u14B6\u14B7\u14B8\u14B9\u14BA\u14BB\u14BC\u14BD\u14BE\u14BF\u14C0\u14C1\u14C2\u14C3\u14C4\u14C5\u14C6\u14C7\u14C8\u14C9\u14CA\u14CB\u14CC\u14CD\u14CE\u14CF\u14D0\u14D1\u14D2\u14D3\u14D4\u14D5\u14D6\u14D7\u14D8\u14D9\u14DA\u14DB\u14DC\u14DD\u14DE\u14DF\u14E0\u14E1\u14E2\u14E3\u14E4\u14E5\u14E6\u14E7\u14E8\u14E9\u14EA\u14EB\u14EC\u14ED\u14EE\u14EF\u14F0\u14F1\u14F2\u14F3\u14F4\u14F5\u14F6\u14F7\u14F8\u14F9\u14FA\u14FB\u14FC\u14FD\u14FE\u14FF\u1500\u1501\u1502\u1503\u1504\u1505\u1506\u1507\u1508\u1509\u150A\u150B\u150C\u150D\u150E\u150F\u1510\u1511\u1512\u1513\u1514\u1515\u1516\u1517\u1518\u1519\u151A\u151B\u151C\u151D\u151E\u151F\u1520\u1521\u1522\u1523\u1524\u1525\u1526\u1527\u1528\u1529\u152A\u152B\u152C\u152D\u152E\u152F\u1530\u1531\u1532\u1533\u1534\u1535\u1536\u1537\u1538\u1539\u153A\u153B\u153C\u153D\u153E\u153F\u1540\u1541\u1542\u1543\u1544\u1545\u1546\u1547\u1548\u1549\u154A\u154B\u154C\u154D\u154E\u154F\u1550\u1551\u1552\u1553\u1554\u1555\u1556\u1557\u1558\u1559\u155A\u155B\u155C\u155D\u155E\u155F\u1560\u1561\u1562\u1563\u1564\u1565\u1566\u1567\u1568\u1569\u156A\u156B\u156C\u156D\u156E\u156F\u1570\u1571\u1572\u1573\u1574\u1575\u1576\u1577\u1578\u1579\u157A\u157B\u157C\u157D\u157E\u157F\u1580\u1581\u1582\u1583\u1584\u1585\u1586\u1587\u1588\u1589\u158A\u158B\u158C\u158D\u158E\u158F\u1590\u1591\u1592\u1593\u1594\u1595\u1596\u1597\u1598\u1599\u159A\u159B\u159C\u159D\u159E\u159F\u15A0\u15A1\u15A2\u15A3\u15A4\u15A5\u15A6\u15A7\u15A8\u15A9\u15AA\u15AB\u15AC\u15AD\u15AE\u15AF\u15B0\u15B1\u15B2\u15B3\u15B4\u15B5\u15B6\u15B7\u15B8\u15B9\u15BA\u15BB\u15BC\u15BD\u15BE\u15BF\u15C0\u15C1\u15C2\u15C3\u15C4\u15C5\u15C6\u15C7\u15C8\u15C9\u15CA\u15CB\u15CC\u15CD\u15CE\u15CF\u15D0\u15D1\u15D2\u15D3\u15D4\u15D5\u15D6\u15D7\u15D8\u15D9\u15DA\u15DB\u15DC\u15DD\u15DE\u15DF\u15E0\u15E1\u15E2\u15E3\u15E4\u15E5\u15E6\u15E7\u15E8\u15E9\u15EA\u15EB\u15EC\u15ED\u15EE\u15EF\u15F0\u15F1\u15F2\u15F3\u15F4\u15F5\u15F6\u15F7\u15F8\u15F9\u15FA\u15FB\u15FC\u15FD\u15FE\u15FF\u1600\u1601\u1602\u1603\u1604\u1605\u1606\u1607\u1608\u1609\u160A\u160B\u160C\u160D\u160E\u160F\u1610\u1611\u1612\u1613\u1614\u1615\u1616\u1617\u1618\u1619\u161A\u161B\u161C\u161D\u161E\u161F\u1620\u1621\u1622\u1623\u1624\u1625\u1626\u1627\u1628\u1629\u162A\u162B\u162C\u162D\u162E\u162F\u1630\u1631\u1632\u1633\u1634\u1635\u1636\u1637\u1638\u1639\u163A\u163B\u163C\u163D\u163E\u163F\u1640\u1641\u1642\u1643\u1644\u1645\u1646\u1647\u1648\u1649\u164A\u164B\u164C\u164D\u164E\u164F\u1650\u1651\u1652\u1653\u1654\u1655\u1656\u1657\u1658\u1659\u165A\u165B\u165C\u165D\u165E\u165F\u1660\u1661\u1662\u1663\u1664\u1665\u1666\u1667\u1668\u1669\u166A\u166B\u166C\u166F\u1670\u1671\u1672\u1673\u1674\u1675\u1676\u1681\u1682\u1683\u1684\u1685\u1686\u1687\u1688\u1689\u168A\u168B\u168C\u168D\u168E\u168F\u1690\u1691\u1692\u1693\u1694\u1695\u1696\u1697\u1698\u1699\u169A\u16A0\u16A1\u16A2\u16A3\u16A4\u16A5\u16A6\u16A7\u16A8\u16A9\u16AA\u16AB\u16AC\u16AD\u16AE\u16AF\u16B0\u16B1\u16B2\u16B3\u16B4\u16B5\u16B6\u16B7\u16B8\u16B9\u16BA\u16BB\u16BC\u16BD\u16BE\u16BF\u16C0\u16C1\u16C2\u16C3\u16C4\u16C5\u16C6\u16C7\u16C8\u16C9\u16CA\u16CB\u16CC\u16CD\u16CE\u16CF\u16D0\u16D1\u16D2\u16D3\u16D4\u16D5\u16D6\u16D7\u16D8\u16D9\u16DA\u16DB\u16DC\u16DD\u16DE\u16DF\u16E0\u16E1\u16E2\u16E3\u16E4\u16E5\u16E6\u16E7\u16E8\u16E9\u16EA\u1700\u1701\u1702\u1703\u1704\u1705\u1706\u1707\u1708\u1709\u170A\u170B\u170C\u170E\u170F\u1710\u1711\u1720\u1721\u1722\u1723\u1724\u1725\u1726\u1727\u1728\u1729\u172A\u172B\u172C\u172D\u172E\u172F\u1730\u1731\u1740\u1741\u1742\u1743\u1744\u1745\u1746\u1747\u1748\u1749\u174A\u174B\u174C\u174D\u174E\u174F\u1750\u1751\u1760\u1761\u1762\u1763\u1764\u1765\u1766\u1767\u1768\u1769\u176A\u176B\u176C\u176E\u176F\u1770\u1780\u1781\u1782\u1783\u1784\u1785\u1786\u1787\u1788\u1789\u178A\u178B\u178C\u178D\u178E\u178F\u1790\u1791\u1792\u1793\u1794\u1795\u1796\u1797\u1798\u1799\u179A\u179B\u179C\u179D\u179E\u179F\u17A0\u17A1\u17A2\u17A3\u17A4\u17A5\u17A6\u17A7\u17A8\u17A9\u17AA\u17AB\u17AC\u17AD\u17AE\u17AF\u17B0\u17B1\u17B2\u17B3\u17DC\u1820\u1821\u1822\u1823\u1824\u1825\u1826\u1827\u1828\u1829\u182A\u182B\u182C\u182D\u182E\u182F\u1830\u1831\u1832\u1833\u1834\u1835\u1836\u1837\u1838\u1839\u183A\u183B\u183C\u183D\u183E\u183F\u1840\u1841\u1842\u1844\u1845\u1846\u1847\u1848\u1849\u184A\u184B\u184C\u184D\u184E\u184F\u1850\u1851\u1852\u1853\u1854\u1855\u1856\u1857\u1858\u1859\u185A\u185B\u185C\u185D\u185E\u185F\u1860\u1861\u1862\u1863\u1864\u1865\u1866\u1867\u1868\u1869\u186A\u186B\u186C\u186D\u186E\u186F\u1870\u1871\u1872\u1873\u1874\u1875\u1876\u1877\u1880\u1881\u1882\u1883\u1884\u1885\u1886\u1887\u1888\u1889\u188A\u188B\u188C\u188D\u188E\u188F\u1890\u1891\u1892\u1893\u1894\u1895\u1896\u1897\u1898\u1899\u189A\u189B\u189C\u189D\u189E\u189F\u18A0\u18A1\u18A2\u18A3\u18A4\u18A5\u18A6\u18A7\u18A8\u18AA\u1900\u1901\u1902\u1903\u1904\u1905\u1906\u1907\u1908\u1909\u190A\u190B\u190C\u190D\u190E\u190F\u1910\u1911\u1912\u1913\u1914\u1915\u1916\u1917\u1918\u1919\u191A\u191B\u191C\u1950\u1951\u1952\u1953\u1954\u1955\u1956\u1957\u1958\u1959\u195A\u195B\u195C\u195D\u195E\u195F\u1960\u1961\u1962\u1963\u1964\u1965\u1966\u1967\u1968\u1969\u196A\u196B\u196C\u196D\u1970\u1971\u1972\u1973\u1974\u1980\u1981\u1982\u1983\u1984\u1985\u1986\u1987\u1988\u1989\u198A\u198B\u198C\u198D\u198E\u198F\u1990\u1991\u1992\u1993\u1994\u1995\u1996\u1997\u1998\u1999\u199A\u199B\u199C\u199D\u199E\u199F\u19A0\u19A1\u19A2\u19A3\u19A4\u19A5\u19A6\u19A7\u19A8\u19A9\u19C1\u19C2\u19C3\u19C4\u19C5\u19C6\u19C7\u1A00\u1A01\u1A02\u1A03\u1A04\u1A05\u1A06\u1A07\u1A08\u1A09\u1A0A\u1A0B\u1A0C\u1A0D\u1A0E\u1A0F\u1A10\u1A11\u1A12\u1A13\u1A14\u1A15\u1A16\u1B05\u1B06\u1B07\u1B08\u1B09\u1B0A\u1B0B\u1B0C\u1B0D\u1B0E\u1B0F\u1B10\u1B11\u1B12\u1B13\u1B14\u1B15\u1B16\u1B17\u1B18\u1B19\u1B1A\u1B1B\u1B1C\u1B1D\u1B1E\u1B1F\u1B20\u1B21\u1B22\u1B23\u1B24\u1B25\u1B26\u1B27\u1B28\u1B29\u1B2A\u1B2B\u1B2C\u1B2D\u1B2E\u1B2F\u1B30\u1B31\u1B32\u1B33\u1B45\u1B46\u1B47\u1B48\u1B49\u1B4A\u1B4B\u1B83\u1B84\u1B85\u1B86\u1B87\u1B88\u1B89\u1B8A\u1B8B\u1B8C\u1B8D\u1B8E\u1B8F\u1B90\u1B91\u1B92\u1B93\u1B94\u1B95\u1B96\u1B97\u1B98\u1B99\u1B9A\u1B9B\u1B9C\u1B9D\u1B9E\u1B9F\u1BA0\u1BAE\u1BAF\u1C00\u1C01\u1C02\u1C03\u1C04\u1C05\u1C06\u1C07\u1C08\u1C09\u1C0A\u1C0B\u1C0C\u1C0D\u1C0E\u1C0F\u1C10\u1C11\u1C12\u1C13\u1C14\u1C15\u1C16\u1C17\u1C18\u1C19\u1C1A\u1C1B\u1C1C\u1C1D\u1C1E\u1C1F\u1C20\u1C21\u1C22\u1C23\u1C4D\u1C4E\u1C4F\u1C5A\u1C5B\u1C5C\u1C5D\u1C5E\u1C5F\u1C60\u1C61\u1C62\u1C63\u1C64\u1C65\u1C66\u1C67\u1C68\u1C69\u1C6A\u1C6B\u1C6C\u1C6D\u1C6E\u1C6F\u1C70\u1C71\u1C72\u1C73\u1C74\u1C75\u1C76\u1C77\u2135\u2136\u2137\u2138\u2D30\u2D31\u2D32\u2D33\u2D34\u2D35\u2D36\u2D37\u2D38\u2D39\u2D3A\u2D3B\u2D3C\u2D3D\u2D3E\u2D3F\u2D40\u2D41\u2D42\u2D43\u2D44\u2D45\u2D46\u2D47\u2D48\u2D49\u2D4A\u2D4B\u2D4C\u2D4D\u2D4E\u2D4F\u2D50\u2D51\u2D52\u2D53\u2D54\u2D55\u2D56\u2D57\u2D58\u2D59\u2D5A\u2D5B\u2D5C\u2D5D\u2D5E\u2D5F\u2D60\u2D61\u2D62\u2D63\u2D64\u2D65\u2D80\u2D81\u2D82\u2D83\u2D84\u2D85\u2D86\u2D87\u2D88\u2D89\u2D8A\u2D8B\u2D8C\u2D8D\u2D8E\u2D8F\u2D90\u2D91\u2D92\u2D93\u2D94\u2D95\u2D96\u2DA0\u2DA1\u2DA2\u2DA3\u2DA4\u2DA5\u2DA6\u2DA8\u2DA9\u2DAA\u2DAB\u2DAC\u2DAD\u2DAE\u2DB0\u2DB1\u2DB2\u2DB3\u2DB4\u2DB5\u2DB6\u2DB8\u2DB9\u2DBA\u2DBB\u2DBC\u2DBD\u2DBE\u2DC0\u2DC1\u2DC2\u2DC3\u2DC4\u2DC5\u2DC6\u2DC8\u2DC9\u2DCA\u2DCB\u2DCC\u2DCD\u2DCE\u2DD0\u2DD1\u2DD2\u2DD3\u2DD4\u2DD5\u2DD6\u2DD8\u2DD9\u2DDA\u2DDB\u2DDC\u2DDD\u2DDE\u3006\u303C\u3041\u3042\u3043\u3044\u3045\u3046\u3047\u3048\u3049\u304A\u304B\u304C\u304D\u304E\u304F\u3050\u3051\u3052\u3053\u3054\u3055\u3056\u3057\u3058\u3059\u305A\u305B\u305C\u305D\u305E\u305F\u3060\u3061\u3062\u3063\u3064\u3065\u3066\u3067\u3068\u3069\u306A\u306B\u306C\u306D\u306E\u306F\u3070\u3071\u3072\u3073\u3074\u3075\u3076\u3077\u3078\u3079\u307A\u307B\u307C\u307D\u307E\u307F\u3080\u3081\u3082\u3083\u3084\u3085\u3086\u3087\u3088\u3089\u308A\u308B\u308C\u308D\u308E\u308F\u3090\u3091\u3092\u3093\u3094\u3095\u3096\u309F\u30A1\u30A2\u30A3\u30A4\u30A5\u30A6\u30A7\u30A8\u30A9\u30AA\u30AB\u30AC\u30AD\u30AE\u30AF\u30B0\u30B1\u30B2\u30B3\u30B4\u30B5\u30B6\u30B7\u30B8\u30B9\u30BA\u30BB\u30BC\u30BD\u30BE\u30BF\u30C0\u30C1\u30C2\u30C3\u30C4\u30C5\u30C6\u30C7\u30C8\u30C9\u30CA\u30CB\u30CC\u30CD\u30CE\u30CF\u30D0\u30D1\u30D2\u30D3\u30D4\u30D5\u30D6\u30D7\u30D8\u30D9\u30DA\u30DB\u30DC\u30DD\u30DE\u30DF\u30E0\u30E1\u30E2\u30E3\u30E4\u30E5\u30E6\u30E7\u30E8\u30E9\u30EA\u30EB\u30EC\u30ED\u30EE\u30EF\u30F0\u30F1\u30F2\u30F3\u30F4\u30F5\u30F6\u30F7\u30F8\u30F9\u30FA\u30FF\u3105\u3106\u3107\u3108\u3109\u310A\u310B\u310C\u310D\u310E\u310F\u3110\u3111\u3112\u3113\u3114\u3115\u3116\u3117\u3118\u3119\u311A\u311B\u311C\u311D\u311E\u311F\u3120\u3121\u3122\u3123\u3124\u3125\u3126\u3127\u3128\u3129\u312A\u312B\u312C\u312D\u3131\u3132\u3133\u3134\u3135\u3136\u3137\u3138\u3139\u313A\u313B\u313C\u313D\u313E\u313F\u3140\u3141\u3142\u3143\u3144\u3145\u3146\u3147\u3148\u3149\u314A\u314B\u314C\u314D\u314E\u314F\u3150\u3151\u3152\u3153\u3154\u3155\u3156\u3157\u3158\u3159\u315A\u315B\u315C\u315D\u315E\u315F\u3160\u3161\u3162\u3163\u3164\u3165\u3166\u3167\u3168\u3169\u316A\u316B\u316C\u316D\u316E\u316F\u3170\u3171\u3172\u3173\u3174\u3175\u3176\u3177\u3178\u3179\u317A\u317B\u317C\u317D\u317E\u317F\u3180\u3181\u3182\u3183\u3184\u3185\u3186\u3187\u3188\u3189\u318A\u318B\u318C\u318D\u318E\u31A0\u31A1\u31A2\u31A3\u31A4\u31A5\u31A6\u31A7\u31A8\u31A9\u31AA\u31AB\u31AC\u31AD\u31AE\u31AF\u31B0\u31B1\u31B2\u31B3\u31B4\u31B5\u31B6\u31B7\u31F0\u31F1\u31F2\u31F3\u31F4\u31F5\u31F6\u31F7\u31F8\u31F9\u31FA\u31FB\u31FC\u31FD\u31FE\u31FF\u3400\u4DB5\u4E00\u9FC3\uA000\uA001\uA002\uA003\uA004\uA005\uA006\uA007\uA008\uA009\uA00A\uA00B\uA00C\uA00D\uA00E\uA00F\uA010\uA011\uA012\uA013\uA014\uA016\uA017\uA018\uA019\uA01A\uA01B\uA01C\uA01D\uA01E\uA01F\uA020\uA021\uA022\uA023\uA024\uA025\uA026\uA027\uA028\uA029\uA02A\uA02B\uA02C\uA02D\uA02E\uA02F\uA030\uA031\uA032\uA033\uA034\uA035\uA036\uA037\uA038\uA039\uA03A\uA03B\uA03C\uA03D\uA03E\uA03F\uA040\uA041\uA042\uA043\uA044\uA045\uA046\uA047\uA048\uA049\uA04A\uA04B\uA04C\uA04D\uA04E\uA04F\uA050\uA051\uA052\uA053\uA054\uA055\uA056\uA057\uA058\uA059\uA05A\uA05B\uA05C\uA05D\uA05E\uA05F\uA060\uA061\uA062\uA063\uA064\uA065\uA066\uA067\uA068\uA069\uA06A\uA06B\uA06C\uA06D\uA06E\uA06F\uA070\uA071\uA072\uA073\uA074\uA075\uA076\uA077\uA078\uA079\uA07A\uA07B\uA07C\uA07D\uA07E\uA07F\uA080\uA081\uA082\uA083\uA084\uA085\uA086\uA087\uA088\uA089\uA08A\uA08B\uA08C\uA08D\uA08E\uA08F\uA090\uA091\uA092\uA093\uA094\uA095\uA096\uA097\uA098\uA099\uA09A\uA09B\uA09C\uA09D\uA09E\uA09F\uA0A0\uA0A1\uA0A2\uA0A3\uA0A4\uA0A5\uA0A6\uA0A7\uA0A8\uA0A9\uA0AA\uA0AB\uA0AC\uA0AD\uA0AE\uA0AF\uA0B0\uA0B1\uA0B2\uA0B3\uA0B4\uA0B5\uA0B6\uA0B7\uA0B8\uA0B9\uA0BA\uA0BB\uA0BC\uA0BD\uA0BE\uA0BF\uA0C0\uA0C1\uA0C2\uA0C3\uA0C4\uA0C5\uA0C6\uA0C7\uA0C8\uA0C9\uA0CA\uA0CB\uA0CC\uA0CD\uA0CE\uA0CF\uA0D0\uA0D1\uA0D2\uA0D3\uA0D4\uA0D5\uA0D6\uA0D7\uA0D8\uA0D9\uA0DA\uA0DB\uA0DC\uA0DD\uA0DE\uA0DF\uA0E0\uA0E1\uA0E2\uA0E3\uA0E4\uA0E5\uA0E6\uA0E7\uA0E8\uA0E9\uA0EA\uA0EB\uA0EC\uA0ED\uA0EE\uA0EF\uA0F0\uA0F1\uA0F2\uA0F3\uA0F4\uA0F5\uA0F6\uA0F7\uA0F8\uA0F9\uA0FA\uA0FB\uA0FC\uA0FD\uA0FE\uA0FF\uA100\uA101\uA102\uA103\uA104\uA105\uA106\uA107\uA108\uA109\uA10A\uA10B\uA10C\uA10D\uA10E\uA10F\uA110\uA111\uA112\uA113\uA114\uA115\uA116\uA117\uA118\uA119\uA11A\uA11B\uA11C\uA11D\uA11E\uA11F\uA120\uA121\uA122\uA123\uA124\uA125\uA126\uA127\uA128\uA129\uA12A\uA12B\uA12C\uA12D\uA12E\uA12F\uA130\uA131\uA132\uA133\uA134\uA135\uA136\uA137\uA138\uA139\uA13A\uA13B\uA13C\uA13D\uA13E\uA13F\uA140\uA141\uA142\uA143\uA144\uA145\uA146\uA147\uA148\uA149\uA14A\uA14B\uA14C\uA14D\uA14E\uA14F\uA150\uA151\uA152\uA153\uA154\uA155\uA156\uA157\uA158\uA159\uA15A\uA15B\uA15C\uA15D\uA15E\uA15F\uA160\uA161\uA162\uA163\uA164\uA165\uA166\uA167\uA168\uA169\uA16A\uA16B\uA16C\uA16D\uA16E\uA16F\uA170\uA171\uA172\uA173\uA174\uA175\uA176\uA177\uA178\uA179\uA17A\uA17B\uA17C\uA17D\uA17E\uA17F\uA180\uA181\uA182\uA183\uA184\uA185\uA186\uA187\uA188\uA189\uA18A\uA18B\uA18C\uA18D\uA18E\uA18F\uA190\uA191\uA192\uA193\uA194\uA195\uA196\uA197\uA198\uA199\uA19A\uA19B\uA19C\uA19D\uA19E\uA19F\uA1A0\uA1A1\uA1A2\uA1A3\uA1A4\uA1A5\uA1A6\uA1A7\uA1A8\uA1A9\uA1AA\uA1AB\uA1AC\uA1AD\uA1AE\uA1AF\uA1B0\uA1B1\uA1B2\uA1B3\uA1B4\uA1B5\uA1B6\uA1B7\uA1B8\uA1B9\uA1BA\uA1BB\uA1BC\uA1BD\uA1BE\uA1BF\uA1C0\uA1C1\uA1C2\uA1C3\uA1C4\uA1C5\uA1C6\uA1C7\uA1C8\uA1C9\uA1CA\uA1CB\uA1CC\uA1CD\uA1CE\uA1CF\uA1D0\uA1D1\uA1D2\uA1D3\uA1D4\uA1D5\uA1D6\uA1D7\uA1D8\uA1D9\uA1DA\uA1DB\uA1DC\uA1DD\uA1DE\uA1DF\uA1E0\uA1E1\uA1E2\uA1E3\uA1E4\uA1E5\uA1E6\uA1E7\uA1E8\uA1E9\uA1EA\uA1EB\uA1EC\uA1ED\uA1EE\uA1EF\uA1F0\uA1F1\uA1F2\uA1F3\uA1F4\uA1F5\uA1F6\uA1F7\uA1F8\uA1F9\uA1FA\uA1FB\uA1FC\uA1FD\uA1FE\uA1FF\uA200\uA201\uA202\uA203\uA204\uA205\uA206\uA207\uA208\uA209\uA20A\uA20B\uA20C\uA20D\uA20E\uA20F\uA210\uA211\uA212\uA213\uA214\uA215\uA216\uA217\uA218\uA219\uA21A\uA21B\uA21C\uA21D\uA21E\uA21F\uA220\uA221\uA222\uA223\uA224\uA225\uA226\uA227\uA228\uA229\uA22A\uA22B\uA22C\uA22D\uA22E\uA22F\uA230\uA231\uA232\uA233\uA234\uA235\uA236\uA237\uA238\uA239\uA23A\uA23B\uA23C\uA23D\uA23E\uA23F\uA240\uA241\uA242\uA243\uA244\uA245\uA246\uA247\uA248\uA249\uA24A\uA24B\uA24C\uA24D\uA24E\uA24F\uA250\uA251\uA252\uA253\uA254\uA255\uA256\uA257\uA258\uA259\uA25A\uA25B\uA25C\uA25D\uA25E\uA25F\uA260\uA261\uA262\uA263\uA264\uA265\uA266\uA267\uA268\uA269\uA26A\uA26B\uA26C\uA26D\uA26E\uA26F\uA270\uA271\uA272\uA273\uA274\uA275\uA276\uA277\uA278\uA279\uA27A\uA27B\uA27C\uA27D\uA27E\uA27F\uA280\uA281\uA282\uA283\uA284\uA285\uA286\uA287\uA288\uA289\uA28A\uA28B\uA28C\uA28D\uA28E\uA28F\uA290\uA291\uA292\uA293\uA294\uA295\uA296\uA297\uA298\uA299\uA29A\uA29B\uA29C\uA29D\uA29E\uA29F\uA2A0\uA2A1\uA2A2\uA2A3\uA2A4\uA2A5\uA2A6\uA2A7\uA2A8\uA2A9\uA2AA\uA2AB\uA2AC\uA2AD\uA2AE\uA2AF\uA2B0\uA2B1\uA2B2\uA2B3\uA2B4\uA2B5\uA2B6\uA2B7\uA2B8\uA2B9\uA2BA\uA2BB\uA2BC\uA2BD\uA2BE\uA2BF\uA2C0\uA2C1\uA2C2\uA2C3\uA2C4\uA2C5\uA2C6\uA2C7\uA2C8\uA2C9\uA2CA\uA2CB\uA2CC\uA2CD\uA2CE\uA2CF\uA2D0\uA2D1\uA2D2\uA2D3\uA2D4\uA2D5\uA2D6\uA2D7\uA2D8\uA2D9\uA2DA\uA2DB\uA2DC\uA2DD\uA2DE\uA2DF\uA2E0\uA2E1\uA2E2\uA2E3\uA2E4\uA2E5\uA2E6\uA2E7\uA2E8\uA2E9\uA2EA\uA2EB\uA2EC\uA2ED\uA2EE\uA2EF\uA2F0\uA2F1\uA2F2\uA2F3\uA2F4\uA2F5\uA2F6\uA2F7\uA2F8\uA2F9\uA2FA\uA2FB\uA2FC\uA2FD\uA2FE\uA2FF\uA300\uA301\uA302\uA303\uA304\uA305\uA306\uA307\uA308\uA309\uA30A\uA30B\uA30C\uA30D\uA30E\uA30F\uA310\uA311\uA312\uA313\uA314\uA315\uA316\uA317\uA318\uA319\uA31A\uA31B\uA31C\uA31D\uA31E\uA31F\uA320\uA321\uA322\uA323\uA324\uA325\uA326\uA327\uA328\uA329\uA32A\uA32B\uA32C\uA32D\uA32E\uA32F\uA330\uA331\uA332\uA333\uA334\uA335\uA336\uA337\uA338\uA339\uA33A\uA33B\uA33C\uA33D\uA33E\uA33F\uA340\uA341\uA342\uA343\uA344\uA345\uA346\uA347\uA348\uA349\uA34A\uA34B\uA34C\uA34D\uA34E\uA34F\uA350\uA351\uA352\uA353\uA354\uA355\uA356\uA357\uA358\uA359\uA35A\uA35B\uA35C\uA35D\uA35E\uA35F\uA360\uA361\uA362\uA363\uA364\uA365\uA366\uA367\uA368\uA369\uA36A\uA36B\uA36C\uA36D\uA36E\uA36F\uA370\uA371\uA372\uA373\uA374\uA375\uA376\uA377\uA378\uA379\uA37A\uA37B\uA37C\uA37D\uA37E\uA37F\uA380\uA381\uA382\uA383\uA384\uA385\uA386\uA387\uA388\uA389\uA38A\uA38B\uA38C\uA38D\uA38E\uA38F\uA390\uA391\uA392\uA393\uA394\uA395\uA396\uA397\uA398\uA399\uA39A\uA39B\uA39C\uA39D\uA39E\uA39F\uA3A0\uA3A1\uA3A2\uA3A3\uA3A4\uA3A5\uA3A6\uA3A7\uA3A8\uA3A9\uA3AA\uA3AB\uA3AC\uA3AD\uA3AE\uA3AF\uA3B0\uA3B1\uA3B2\uA3B3\uA3B4\uA3B5\uA3B6\uA3B7\uA3B8\uA3B9\uA3BA\uA3BB\uA3BC\uA3BD\uA3BE\uA3BF\uA3C0\uA3C1\uA3C2\uA3C3\uA3C4\uA3C5\uA3C6\uA3C7\uA3C8\uA3C9\uA3CA\uA3CB\uA3CC\uA3CD\uA3CE\uA3CF\uA3D0\uA3D1\uA3D2\uA3D3\uA3D4\uA3D5\uA3D6\uA3D7\uA3D8\uA3D9\uA3DA\uA3DB\uA3DC\uA3DD\uA3DE\uA3DF\uA3E0\uA3E1\uA3E2\uA3E3\uA3E4\uA3E5\uA3E6\uA3E7\uA3E8\uA3E9\uA3EA\uA3EB\uA3EC\uA3ED\uA3EE\uA3EF\uA3F0\uA3F1\uA3F2\uA3F3\uA3F4\uA3F5\uA3F6\uA3F7\uA3F8\uA3F9\uA3FA\uA3FB\uA3FC\uA3FD\uA3FE\uA3FF\uA400\uA401\uA402\uA403\uA404\uA405\uA406\uA407\uA408\uA409\uA40A\uA40B\uA40C\uA40D\uA40E\uA40F\uA410\uA411\uA412\uA413\uA414\uA415\uA416\uA417\uA418\uA419\uA41A\uA41B\uA41C\uA41D\uA41E\uA41F\uA420\uA421\uA422\uA423\uA424\uA425\uA426\uA427\uA428\uA429\uA42A\uA42B\uA42C\uA42D\uA42E\uA42F\uA430\uA431\uA432\uA433\uA434\uA435\uA436\uA437\uA438\uA439\uA43A\uA43B\uA43C\uA43D\uA43E\uA43F\uA440\uA441\uA442\uA443\uA444\uA445\uA446\uA447\uA448\uA449\uA44A\uA44B\uA44C\uA44D\uA44E\uA44F\uA450\uA451\uA452\uA453\uA454\uA455\uA456\uA457\uA458\uA459\uA45A\uA45B\uA45C\uA45D\uA45E\uA45F\uA460\uA461\uA462\uA463\uA464\uA465\uA466\uA467\uA468\uA469\uA46A\uA46B\uA46C\uA46D\uA46E\uA46F\uA470\uA471\uA472\uA473\uA474\uA475\uA476\uA477\uA478\uA479\uA47A\uA47B\uA47C\uA47D\uA47E\uA47F\uA480\uA481\uA482\uA483\uA484\uA485\uA486\uA487\uA488\uA489\uA48A\uA48B\uA48C\uA500\uA501\uA502\uA503\uA504\uA505\uA506\uA507\uA508\uA509\uA50A\uA50B\uA50C\uA50D\uA50E\uA50F\uA510\uA511\uA512\uA513\uA514\uA515\uA516\uA517\uA518\uA519\uA51A\uA51B\uA51C\uA51D\uA51E\uA51F\uA520\uA521\uA522\uA523\uA524\uA525\uA526\uA527\uA528\uA529\uA52A\uA52B\uA52C\uA52D\uA52E\uA52F\uA530\uA531\uA532\uA533\uA534\uA535\uA536\uA537\uA538\uA539\uA53A\uA53B\uA53C\uA53D\uA53E\uA53F\uA540\uA541\uA542\uA543\uA544\uA545\uA546\uA547\uA548\uA549\uA54A\uA54B\uA54C\uA54D\uA54E\uA54F\uA550\uA551\uA552\uA553\uA554\uA555\uA556\uA557\uA558\uA559\uA55A\uA55B\uA55C\uA55D\uA55E\uA55F\uA560\uA561\uA562\uA563\uA564\uA565\uA566\uA567\uA568\uA569\uA56A\uA56B\uA56C\uA56D\uA56E\uA56F\uA570\uA571\uA572\uA573\uA574\uA575\uA576\uA577\uA578\uA579\uA57A\uA57B\uA57C\uA57D\uA57E\uA57F\uA580\uA581\uA582\uA583\uA584\uA585\uA586\uA587\uA588\uA589\uA58A\uA58B\uA58C\uA58D\uA58E\uA58F\uA590\uA591\uA592\uA593\uA594\uA595\uA596\uA597\uA598\uA599\uA59A\uA59B\uA59C\uA59D\uA59E\uA59F\uA5A0\uA5A1\uA5A2\uA5A3\uA5A4\uA5A5\uA5A6\uA5A7\uA5A8\uA5A9\uA5AA\uA5AB\uA5AC\uA5AD\uA5AE\uA5AF\uA5B0\uA5B1\uA5B2\uA5B3\uA5B4\uA5B5\uA5B6\uA5B7\uA5B8\uA5B9\uA5BA\uA5BB\uA5BC\uA5BD\uA5BE\uA5BF\uA5C0\uA5C1\uA5C2\uA5C3\uA5C4\uA5C5\uA5C6\uA5C7\uA5C8\uA5C9\uA5CA\uA5CB\uA5CC\uA5CD\uA5CE\uA5CF\uA5D0\uA5D1\uA5D2\uA5D3\uA5D4\uA5D5\uA5D6\uA5D7\uA5D8\uA5D9\uA5DA\uA5DB\uA5DC\uA5DD\uA5DE\uA5DF\uA5E0\uA5E1\uA5E2\uA5E3\uA5E4\uA5E5\uA5E6\uA5E7\uA5E8\uA5E9\uA5EA\uA5EB\uA5EC\uA5ED\uA5EE\uA5EF\uA5F0\uA5F1\uA5F2\uA5F3\uA5F4\uA5F5\uA5F6\uA5F7\uA5F8\uA5F9\uA5FA\uA5FB\uA5FC\uA5FD\uA5FE\uA5FF\uA600\uA601\uA602\uA603\uA604\uA605\uA606\uA607\uA608\uA609\uA60A\uA60B\uA610\uA611\uA612\uA613\uA614\uA615\uA616\uA617\uA618\uA619\uA61A\uA61B\uA61C\uA61D\uA61E\uA61F\uA62A\uA62B\uA66E\uA7FB\uA7FC\uA7FD\uA7FE\uA7FF\uA800\uA801\uA803\uA804\uA805\uA807\uA808\uA809\uA80A\uA80C\uA80D\uA80E\uA80F\uA810\uA811\uA812\uA813\uA814\uA815\uA816\uA817\uA818\uA819\uA81A\uA81B\uA81C\uA81D\uA81E\uA81F\uA820\uA821\uA822\uA840\uA841\uA842\uA843\uA844\uA845\uA846\uA847\uA848\uA849\uA84A\uA84B\uA84C\uA84D\uA84E\uA84F\uA850\uA851\uA852\uA853\uA854\uA855\uA856\uA857\uA858\uA859\uA85A\uA85B\uA85C\uA85D\uA85E\uA85F\uA860\uA861\uA862\uA863\uA864\uA865\uA866\uA867\uA868\uA869\uA86A\uA86B\uA86C\uA86D\uA86E\uA86F\uA870\uA871\uA872\uA873\uA882\uA883\uA884\uA885\uA886\uA887\uA888\uA889\uA88A\uA88B\uA88C\uA88D\uA88E\uA88F\uA890\uA891\uA892\uA893\uA894\uA895\uA896\uA897\uA898\uA899\uA89A\uA89B\uA89C\uA89D\uA89E\uA89F\uA8A0\uA8A1\uA8A2\uA8A3\uA8A4\uA8A5\uA8A6\uA8A7\uA8A8\uA8A9\uA8AA\uA8AB\uA8AC\uA8AD\uA8AE\uA8AF\uA8B0\uA8B1\uA8B2\uA8B3\uA90A\uA90B\uA90C\uA90D\uA90E\uA90F\uA910\uA911\uA912\uA913\uA914\uA915\uA916\uA917\uA918\uA919\uA91A\uA91B\uA91C\uA91D\uA91E\uA91F\uA920\uA921\uA922\uA923\uA924\uA925\uA930\uA931\uA932\uA933\uA934\uA935\uA936\uA937\uA938\uA939\uA93A\uA93B\uA93C\uA93D\uA93E\uA93F\uA940\uA941\uA942\uA943\uA944\uA945\uA946\uAA00\uAA01\uAA02\uAA03\uAA04\uAA05\uAA06\uAA07\uAA08\uAA09\uAA0A\uAA0B\uAA0C\uAA0D\uAA0E\uAA0F\uAA10\uAA11\uAA12\uAA13\uAA14\uAA15\uAA16\uAA17\uAA18\uAA19\uAA1A\uAA1B\uAA1C\uAA1D\uAA1E\uAA1F\uAA20\uAA21\uAA22\uAA23\uAA24\uAA25\uAA26\uAA27\uAA28\uAA40\uAA41\uAA42\uAA44\uAA45\uAA46\uAA47\uAA48\uAA49\uAA4A\uAA4B\uAC00\uD7A3\uF900\uF901\uF902\uF903\uF904\uF905\uF906\uF907\uF908\uF909\uF90A\uF90B\uF90C\uF90D\uF90E\uF90F\uF910\uF911\uF912\uF913\uF914\uF915\uF916\uF917\uF918\uF919\uF91A\uF91B\uF91C\uF91D\uF91E\uF91F\uF920\uF921\uF922\uF923\uF924\uF925\uF926\uF927\uF928\uF929\uF92A\uF92B\uF92C\uF92D\uF92E\uF92F\uF930\uF931\uF932\uF933\uF934\uF935\uF936\uF937\uF938\uF939\uF93A\uF93B\uF93C\uF93D\uF93E\uF93F\uF940\uF941\uF942\uF943\uF944\uF945\uF946\uF947\uF948\uF949\uF94A\uF94B\uF94C\uF94D\uF94E\uF94F\uF950\uF951\uF952\uF953\uF954\uF955\uF956\uF957\uF958\uF959\uF95A\uF95B\uF95C\uF95D\uF95E\uF95F\uF960\uF961\uF962\uF963\uF964\uF965\uF966\uF967\uF968\uF969\uF96A\uF96B\uF96C\uF96D\uF96E\uF96F\uF970\uF971\uF972\uF973\uF974\uF975\uF976\uF977\uF978\uF979\uF97A\uF97B\uF97C\uF97D\uF97E\uF97F\uF980\uF981\uF982\uF983\uF984\uF985\uF986\uF987\uF988\uF989\uF98A\uF98B\uF98C\uF98D\uF98E\uF98F\uF990\uF991\uF992\uF993\uF994\uF995\uF996\uF997\uF998\uF999\uF99A\uF99B\uF99C\uF99D\uF99E\uF99F\uF9A0\uF9A1\uF9A2\uF9A3\uF9A4\uF9A5\uF9A6\uF9A7\uF9A8\uF9A9\uF9AA\uF9AB\uF9AC\uF9AD\uF9AE\uF9AF\uF9B0\uF9B1\uF9B2\uF9B3\uF9B4\uF9B5\uF9B6\uF9B7\uF9B8\uF9B9\uF9BA\uF9BB\uF9BC\uF9BD\uF9BE\uF9BF\uF9C0\uF9C1\uF9C2\uF9C3\uF9C4\uF9C5\uF9C6\uF9C7\uF9C8\uF9C9\uF9CA\uF9CB\uF9CC\uF9CD\uF9CE\uF9CF\uF9D0\uF9D1\uF9D2\uF9D3\uF9D4\uF9D5\uF9D6\uF9D7\uF9D8\uF9D9\uF9DA\uF9DB\uF9DC\uF9DD\uF9DE\uF9DF\uF9E0\uF9E1\uF9E2\uF9E3\uF9E4\uF9E5\uF9E6\uF9E7\uF9E8\uF9E9\uF9EA\uF9EB\uF9EC\uF9ED\uF9EE\uF9EF\uF9F0\uF9F1\uF9F2\uF9F3\uF9F4\uF9F5\uF9F6\uF9F7\uF9F8\uF9F9\uF9FA\uF9FB\uF9FC\uF9FD\uF9FE\uF9FF\uFA00\uFA01\uFA02\uFA03\uFA04\uFA05\uFA06\uFA07\uFA08\uFA09\uFA0A\uFA0B\uFA0C\uFA0D\uFA0E\uFA0F\uFA10\uFA11\uFA12\uFA13\uFA14\uFA15\uFA16\uFA17\uFA18\uFA19\uFA1A\uFA1B\uFA1C\uFA1D\uFA1E\uFA1F\uFA20\uFA21\uFA22\uFA23\uFA24\uFA25\uFA26\uFA27\uFA28\uFA29\uFA2A\uFA2B\uFA2C\uFA2D\uFA30\uFA31\uFA32\uFA33\uFA34\uFA35\uFA36\uFA37\uFA38\uFA39\uFA3A\uFA3B\uFA3C\uFA3D\uFA3E\uFA3F\uFA40\uFA41\uFA42\uFA43\uFA44\uFA45\uFA46\uFA47\uFA48\uFA49\uFA4A\uFA4B\uFA4C\uFA4D\uFA4E\uFA4F\uFA50\uFA51\uFA52\uFA53\uFA54\uFA55\uFA56\uFA57\uFA58\uFA59\uFA5A\uFA5B\uFA5C\uFA5D\uFA5E\uFA5F\uFA60\uFA61\uFA62\uFA63\uFA64\uFA65\uFA66\uFA67\uFA68\uFA69\uFA6A\uFA70\uFA71\uFA72\uFA73\uFA74\uFA75\uFA76\uFA77\uFA78\uFA79\uFA7A\uFA7B\uFA7C\uFA7D\uFA7E\uFA7F\uFA80\uFA81\uFA82\uFA83\uFA84\uFA85\uFA86\uFA87\uFA88\uFA89\uFA8A\uFA8B\uFA8C\uFA8D\uFA8E\uFA8F\uFA90\uFA91\uFA92\uFA93\uFA94\uFA95\uFA96\uFA97\uFA98\uFA99\uFA9A\uFA9B\uFA9C\uFA9D\uFA9E\uFA9F\uFAA0\uFAA1\uFAA2\uFAA3\uFAA4\uFAA5\uFAA6\uFAA7\uFAA8\uFAA9\uFAAA\uFAAB\uFAAC\uFAAD\uFAAE\uFAAF\uFAB0\uFAB1\uFAB2\uFAB3\uFAB4\uFAB5\uFAB6\uFAB7\uFAB8\uFAB9\uFABA\uFABB\uFABC\uFABD\uFABE\uFABF\uFAC0\uFAC1\uFAC2\uFAC3\uFAC4\uFAC5\uFAC6\uFAC7\uFAC8\uFAC9\uFACA\uFACB\uFACC\uFACD\uFACE\uFACF\uFAD0\uFAD1\uFAD2\uFAD3\uFAD4\uFAD5\uFAD6\uFAD7\uFAD8\uFAD9\uFB1D\uFB1F\uFB20\uFB21\uFB22\uFB23\uFB24\uFB25\uFB26\uFB27\uFB28\uFB2A\uFB2B\uFB2C\uFB2D\uFB2E\uFB2F\uFB30\uFB31\uFB32\uFB33\uFB34\uFB35\uFB36\uFB38\uFB39\uFB3A\uFB3B\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46\uFB47\uFB48\uFB49\uFB4A\uFB4B\uFB4C\uFB4D\uFB4E\uFB4F\uFB50\uFB51\uFB52\uFB53\uFB54\uFB55\uFB56\uFB57\uFB58\uFB59\uFB5A\uFB5B\uFB5C\uFB5D\uFB5E\uFB5F\uFB60\uFB61\uFB62\uFB63\uFB64\uFB65\uFB66\uFB67\uFB68\uFB69\uFB6A\uFB6B\uFB6C\uFB6D\uFB6E\uFB6F\uFB70\uFB71\uFB72\uFB73\uFB74\uFB75\uFB76\uFB77\uFB78\uFB79\uFB7A\uFB7B\uFB7C\uFB7D\uFB7E\uFB7F\uFB80\uFB81\uFB82\uFB83\uFB84\uFB85\uFB86\uFB87\uFB88\uFB89\uFB8A\uFB8B\uFB8C\uFB8D\uFB8E\uFB8F\uFB90\uFB91\uFB92\uFB93\uFB94\uFB95\uFB96\uFB97\uFB98\uFB99\uFB9A\uFB9B\uFB9C\uFB9D\uFB9E\uFB9F\uFBA0\uFBA1\uFBA2\uFBA3\uFBA4\uFBA5\uFBA6\uFBA7\uFBA8\uFBA9\uFBAA\uFBAB\uFBAC\uFBAD\uFBAE\uFBAF\uFBB0\uFBB1\uFBD3\uFBD4\uFBD5\uFBD6\uFBD7\uFBD8\uFBD9\uFBDA\uFBDB\uFBDC\uFBDD\uFBDE\uFBDF\uFBE0\uFBE1\uFBE2\uFBE3\uFBE4\uFBE5\uFBE6\uFBE7\uFBE8\uFBE9\uFBEA\uFBEB\uFBEC\uFBED\uFBEE\uFBEF\uFBF0\uFBF1\uFBF2\uFBF3\uFBF4\uFBF5\uFBF6\uFBF7\uFBF8\uFBF9\uFBFA\uFBFB\uFBFC\uFBFD\uFBFE\uFBFF\uFC00\uFC01\uFC02\uFC03\uFC04\uFC05\uFC06\uFC07\uFC08\uFC09\uFC0A\uFC0B\uFC0C\uFC0D\uFC0E\uFC0F\uFC10\uFC11\uFC12\uFC13\uFC14\uFC15\uFC16\uFC17\uFC18\uFC19\uFC1A\uFC1B\uFC1C\uFC1D\uFC1E\uFC1F\uFC20\uFC21\uFC22\uFC23\uFC24\uFC25\uFC26\uFC27\uFC28\uFC29\uFC2A\uFC2B\uFC2C\uFC2D\uFC2E\uFC2F\uFC30\uFC31\uFC32\uFC33\uFC34\uFC35\uFC36\uFC37\uFC38\uFC39\uFC3A\uFC3B\uFC3C\uFC3D\uFC3E\uFC3F\uFC40\uFC41\uFC42\uFC43\uFC44\uFC45\uFC46\uFC47\uFC48\uFC49\uFC4A\uFC4B\uFC4C\uFC4D\uFC4E\uFC4F\uFC50\uFC51\uFC52\uFC53\uFC54\uFC55\uFC56\uFC57\uFC58\uFC59\uFC5A\uFC5B\uFC5C\uFC5D\uFC5E\uFC5F\uFC60\uFC61\uFC62\uFC63\uFC64\uFC65\uFC66\uFC67\uFC68\uFC69\uFC6A\uFC6B\uFC6C\uFC6D\uFC6E\uFC6F\uFC70\uFC71\uFC72\uFC73\uFC74\uFC75\uFC76\uFC77\uFC78\uFC79\uFC7A\uFC7B\uFC7C\uFC7D\uFC7E\uFC7F\uFC80\uFC81\uFC82\uFC83\uFC84\uFC85\uFC86\uFC87\uFC88\uFC89\uFC8A\uFC8B\uFC8C\uFC8D\uFC8E\uFC8F\uFC90\uFC91\uFC92\uFC93\uFC94\uFC95\uFC96\uFC97\uFC98\uFC99\uFC9A\uFC9B\uFC9C\uFC9D\uFC9E\uFC9F\uFCA0\uFCA1\uFCA2\uFCA3\uFCA4\uFCA5\uFCA6\uFCA7\uFCA8\uFCA9\uFCAA\uFCAB\uFCAC\uFCAD\uFCAE\uFCAF\uFCB0\uFCB1\uFCB2\uFCB3\uFCB4\uFCB5\uFCB6\uFCB7\uFCB8\uFCB9\uFCBA\uFCBB\uFCBC\uFCBD\uFCBE\uFCBF\uFCC0\uFCC1\uFCC2\uFCC3\uFCC4\uFCC5\uFCC6\uFCC7\uFCC8\uFCC9\uFCCA\uFCCB\uFCCC\uFCCD\uFCCE\uFCCF\uFCD0\uFCD1\uFCD2\uFCD3\uFCD4\uFCD5\uFCD6\uFCD7\uFCD8\uFCD9\uFCDA\uFCDB\uFCDC\uFCDD\uFCDE\uFCDF\uFCE0\uFCE1\uFCE2\uFCE3\uFCE4\uFCE5\uFCE6\uFCE7\uFCE8\uFCE9\uFCEA\uFCEB\uFCEC\uFCED\uFCEE\uFCEF\uFCF0\uFCF1\uFCF2\uFCF3\uFCF4\uFCF5\uFCF6\uFCF7\uFCF8\uFCF9\uFCFA\uFCFB\uFCFC\uFCFD\uFCFE\uFCFF\uFD00\uFD01\uFD02\uFD03\uFD04\uFD05\uFD06\uFD07\uFD08\uFD09\uFD0A\uFD0B\uFD0C\uFD0D\uFD0E\uFD0F\uFD10\uFD11\uFD12\uFD13\uFD14\uFD15\uFD16\uFD17\uFD18\uFD19\uFD1A\uFD1B\uFD1C\uFD1D\uFD1E\uFD1F\uFD20\uFD21\uFD22\uFD23\uFD24\uFD25\uFD26\uFD27\uFD28\uFD29\uFD2A\uFD2B\uFD2C\uFD2D\uFD2E\uFD2F\uFD30\uFD31\uFD32\uFD33\uFD34\uFD35\uFD36\uFD37\uFD38\uFD39\uFD3A\uFD3B\uFD3C\uFD3D\uFD50\uFD51\uFD52\uFD53\uFD54\uFD55\uFD56\uFD57\uFD58\uFD59\uFD5A\uFD5B\uFD5C\uFD5D\uFD5E\uFD5F\uFD60\uFD61\uFD62\uFD63\uFD64\uFD65\uFD66\uFD67\uFD68\uFD69\uFD6A\uFD6B\uFD6C\uFD6D\uFD6E\uFD6F\uFD70\uFD71\uFD72\uFD73\uFD74\uFD75\uFD76\uFD77\uFD78\uFD79\uFD7A\uFD7B\uFD7C\uFD7D\uFD7E\uFD7F\uFD80\uFD81\uFD82\uFD83\uFD84\uFD85\uFD86\uFD87\uFD88\uFD89\uFD8A\uFD8B\uFD8C\uFD8D\uFD8E\uFD8F\uFD92\uFD93\uFD94\uFD95\uFD96\uFD97\uFD98\uFD99\uFD9A\uFD9B\uFD9C\uFD9D\uFD9E\uFD9F\uFDA0\uFDA1\uFDA2\uFDA3\uFDA4\uFDA5\uFDA6\uFDA7\uFDA8\uFDA9\uFDAA\uFDAB\uFDAC\uFDAD\uFDAE\uFDAF\uFDB0\uFDB1\uFDB2\uFDB3\uFDB4\uFDB5\uFDB6\uFDB7\uFDB8\uFDB9\uFDBA\uFDBB\uFDBC\uFDBD\uFDBE\uFDBF\uFDC0\uFDC1\uFDC2\uFDC3\uFDC4\uFDC5\uFDC6\uFDC7\uFDF0\uFDF1\uFDF2\uFDF3\uFDF4\uFDF5\uFDF6\uFDF7\uFDF8\uFDF9\uFDFA\uFDFB\uFE70\uFE71\uFE72\uFE73\uFE74\uFE76\uFE77\uFE78\uFE79\uFE7A\uFE7B\uFE7C\uFE7D\uFE7E\uFE7F\uFE80\uFE81\uFE82\uFE83\uFE84\uFE85\uFE86\uFE87\uFE88\uFE89\uFE8A\uFE8B\uFE8C\uFE8D\uFE8E\uFE8F\uFE90\uFE91\uFE92\uFE93\uFE94\uFE95\uFE96\uFE97\uFE98\uFE99\uFE9A\uFE9B\uFE9C\uFE9D\uFE9E\uFE9F\uFEA0\uFEA1\uFEA2\uFEA3\uFEA4\uFEA5\uFEA6\uFEA7\uFEA8\uFEA9\uFEAA\uFEAB\uFEAC\uFEAD\uFEAE\uFEAF\uFEB0\uFEB1\uFEB2\uFEB3\uFEB4\uFEB5\uFEB6\uFEB7\uFEB8\uFEB9\uFEBA\uFEBB\uFEBC\uFEBD\uFEBE\uFEBF\uFEC0\uFEC1\uFEC2\uFEC3\uFEC4\uFEC5\uFEC6\uFEC7\uFEC8\uFEC9\uFECA\uFECB\uFECC\uFECD\uFECE\uFECF\uFED0\uFED1\uFED2\uFED3\uFED4\uFED5\uFED6\uFED7\uFED8\uFED9\uFEDA\uFEDB\uFEDC\uFEDD\uFEDE\uFEDF\uFEE0\uFEE1\uFEE2\uFEE3\uFEE4\uFEE5\uFEE6\uFEE7\uFEE8\uFEE9\uFEEA\uFEEB\uFEEC\uFEED\uFEEE\uFEEF\uFEF0\uFEF1\uFEF2\uFEF3\uFEF4\uFEF5\uFEF6\uFEF7\uFEF8\uFEF9\uFEFA\uFEFB\uFEFC\uFF66\uFF67\uFF68\uFF69\uFF6A\uFF6B\uFF6C\uFF6D\uFF6E\uFF6F\uFF71\uFF72\uFF73\uFF74\uFF75\uFF76\uFF77\uFF78\uFF79\uFF7A\uFF7B\uFF7C\uFF7D\uFF7E\uFF7F\uFF80\uFF81\uFF82\uFF83\uFF84\uFF85\uFF86\uFF87\uFF88\uFF89\uFF8A\uFF8B\uFF8C\uFF8D\uFF8E\uFF8F\uFF90\uFF91\uFF92\uFF93\uFF94\uFF95\uFF96\uFF97\uFF98\uFF99\uFF9A\uFF9B\uFF9C\uFF9D\uFFA0\uFFA1\uFFA2\uFFA3\uFFA4\uFFA5\uFFA6\uFFA7\uFFA8\uFFA9\uFFAA\uFFAB\uFFAC\uFFAD\uFFAE\uFFAF\uFFB0\uFFB1\uFFB2\uFFB3\uFFB4\uFFB5\uFFB6\uFFB7\uFFB8\uFFB9\uFFBA\uFFBB\uFFBC\uFFBD\uFFBE\uFFC2\uFFC3\uFFC4\uFFC5\uFFC6\uFFC7\uFFCA\uFFCB\uFFCC\uFFCD\uFFCE\uFFCF\uFFD2\uFFD3\uFFD4\uFFD5\uFFD6\uFFD7\uFFDA\uFFDB\uFFDC]/) !== null) {
5633 var result0 = input.charAt(pos);
5634 pos++;
5635 } else {
5636 var result0 = null;
5637 if (reportMatchFailures) {
5638 matchFailed("[\\u01BB\\u01C0\\u01C1\\u01C2\\u01C3\\u0294\\u05D0\\u05D1\\u05D2\\u05D3\\u05D4\\u05D5\\u05D6\\u05D7\\u05D8\\u05D9\\u05DA\\u05DB\\u05DC\\u05DD\\u05DE\\u05DF\\u05E0\\u05E1\\u05E2\\u05E3\\u05E4\\u05E5\\u05E6\\u05E7\\u05E8\\u05E9\\u05EA\\u05F0\\u05F1\\u05F2\\u0621\\u0622\\u0623\\u0624\\u0625\\u0626\\u0627\\u0628\\u0629\\u062A\\u062B\\u062C\\u062D\\u062E\\u062F\\u0630\\u0631\\u0632\\u0633\\u0634\\u0635\\u0636\\u0637\\u0638\\u0639\\u063A\\u063B\\u063C\\u063D\\u063E\\u063F\\u0641\\u0642\\u0643\\u0644\\u0645\\u0646\\u0647\\u0648\\u0649\\u064A\\u066E\\u066F\\u0671\\u0672\\u0673\\u0674\\u0675\\u0676\\u0677\\u0678\\u0679\\u067A\\u067B\\u067C\\u067D\\u067E\\u067F\\u0680\\u0681\\u0682\\u0683\\u0684\\u0685\\u0686\\u0687\\u0688\\u0689\\u068A\\u068B\\u068C\\u068D\\u068E\\u068F\\u0690\\u0691\\u0692\\u0693\\u0694\\u0695\\u0696\\u0697\\u0698\\u0699\\u069A\\u069B\\u069C\\u069D\\u069E\\u069F\\u06A0\\u06A1\\u06A2\\u06A3\\u06A4\\u06A5\\u06A6\\u06A7\\u06A8\\u06A9\\u06AA\\u06AB\\u06AC\\u06AD\\u06AE\\u06AF\\u06B0\\u06B1\\u06B2\\u06B3\\u06B4\\u06B5\\u06B6\\u06B7\\u06B8\\u06B9\\u06BA\\u06BB\\u06BC\\u06BD\\u06BE\\u06BF\\u06C0\\u06C1\\u06C2\\u06C3\\u06C4\\u06C5\\u06C6\\u06C7\\u06C8\\u06C9\\u06CA\\u06CB\\u06CC\\u06CD\\u06CE\\u06CF\\u06D0\\u06D1\\u06D2\\u06D3\\u06D5\\u06EE\\u06EF\\u06FA\\u06FB\\u06FC\\u06FF\\u0710\\u0712\\u0713\\u0714\\u0715\\u0716\\u0717\\u0718\\u0719\\u071A\\u071B\\u071C\\u071D\\u071E\\u071F\\u0720\\u0721\\u0722\\u0723\\u0724\\u0725\\u0726\\u0727\\u0728\\u0729\\u072A\\u072B\\u072C\\u072D\\u072E\\u072F\\u074D\\u074E\\u074F\\u0750\\u0751\\u0752\\u0753\\u0754\\u0755\\u0756\\u0757\\u0758\\u0759\\u075A\\u075B\\u075C\\u075D\\u075E\\u075F\\u0760\\u0761\\u0762\\u0763\\u0764\\u0765\\u0766\\u0767\\u0768\\u0769\\u076A\\u076B\\u076C\\u076D\\u076E\\u076F\\u0770\\u0771\\u0772\\u0773\\u0774\\u0775\\u0776\\u0777\\u0778\\u0779\\u077A\\u077B\\u077C\\u077D\\u077E\\u077F\\u0780\\u0781\\u0782\\u0783\\u0784\\u0785\\u0786\\u0787\\u0788\\u0789\\u078A\\u078B\\u078C\\u078D\\u078E\\u078F\\u0790\\u0791\\u0792\\u0793\\u0794\\u0795\\u0796\\u0797\\u0798\\u0799\\u079A\\u079B\\u079C\\u079D\\u079E\\u079F\\u07A0\\u07A1\\u07A2\\u07A3\\u07A4\\u07A5\\u07B1\\u07CA\\u07CB\\u07CC\\u07CD\\u07CE\\u07CF\\u07D0\\u07D1\\u07D2\\u07D3\\u07D4\\u07D5\\u07D6\\u07D7\\u07D8\\u07D9\\u07DA\\u07DB\\u07DC\\u07DD\\u07DE\\u07DF\\u07E0\\u07E1\\u07E2\\u07E3\\u07E4\\u07E5\\u07E6\\u07E7\\u07E8\\u07E9\\u07EA\\u0904\\u0905\\u0906\\u0907\\u0908\\u0909\\u090A\\u090B\\u090C\\u090D\\u090E\\u090F\\u0910\\u0911\\u0912\\u0913\\u0914\\u0915\\u0916\\u0917\\u0918\\u0919\\u091A\\u091B\\u091C\\u091D\\u091E\\u091F\\u0920\\u0921\\u0922\\u0923\\u0924\\u0925\\u0926\\u0927\\u0928\\u0929\\u092A\\u092B\\u092C\\u092D\\u092E\\u092F\\u0930\\u0931\\u0932\\u0933\\u0934\\u0935\\u0936\\u0937\\u0938\\u0939\\u093D\\u0950\\u0958\\u0959\\u095A\\u095B\\u095C\\u095D\\u095E\\u095F\\u0960\\u0961\\u0972\\u097B\\u097C\\u097D\\u097E\\u097F\\u0985\\u0986\\u0987\\u0988\\u0989\\u098A\\u098B\\u098C\\u098F\\u0990\\u0993\\u0994\\u0995\\u0996\\u0997\\u0998\\u0999\\u099A\\u099B\\u099C\\u099D\\u099E\\u099F\\u09A0\\u09A1\\u09A2\\u09A3\\u09A4\\u09A5\\u09A6\\u09A7\\u09A8\\u09AA\\u09AB\\u09AC\\u09AD\\u09AE\\u09AF\\u09B0\\u09B2\\u09B6\\u09B7\\u09B8\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF\\u09E0\\u09E1\\u09F0\\u09F1\\u0A05\\u0A06\\u0A07\\u0A08\\u0A09\\u0A0A\\u0A0F\\u0A10\\u0A13\\u0A14\\u0A15\\u0A16\\u0A17\\u0A18\\u0A19\\u0A1A\\u0A1B\\u0A1C\\u0A1D\\u0A1E\\u0A1F\\u0A20\\u0A21\\u0A22\\u0A23\\u0A24\\u0A25\\u0A26\\u0A27\\u0A28\\u0A2A\\u0A2B\\u0A2C\\u0A2D\\u0A2E\\u0A2F\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59\\u0A5A\\u0A5B\\u0A5C\\u0A5E\\u0A72\\u0A73\\u0A74\\u0A85\\u0A86\\u0A87\\u0A88\\u0A89\\u0A8A\\u0A8B\\u0A8C\\u0A8D\\u0A8F\\u0A90\\u0A91\\u0A93\\u0A94\\u0A95\\u0A96\\u0A97\\u0A98\\u0A99\\u0A9A\\u0A9B\\u0A9C\\u0A9D\\u0A9E\\u0A9F\\u0AA0\\u0AA1\\u0AA2\\u0AA3\\u0AA4\\u0AA5\\u0AA6\\u0AA7\\u0AA8\\u0AAA\\u0AAB\\u0AAC\\u0AAD\\u0AAE\\u0AAF\\u0AB0\\u0AB2\\u0AB3\\u0AB5\\u0AB6\\u0AB7\\u0AB8\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0B05\\u0B06\\u0B07\\u0B08\\u0B09\\u0B0A\\u0B0B\\u0B0C\\u0B0F\\u0B10\\u0B13\\u0B14\\u0B15\\u0B16\\u0B17\\u0B18\\u0B19\\u0B1A\\u0B1B\\u0B1C\\u0B1D\\u0B1E\\u0B1F\\u0B20\\u0B21\\u0B22\\u0B23\\u0B24\\u0B25\\u0B26\\u0B27\\u0B28\\u0B2A\\u0B2B\\u0B2C\\u0B2D\\u0B2E\\u0B2F\\u0B30\\u0B32\\u0B33\\u0B35\\u0B36\\u0B37\\u0B38\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F\\u0B60\\u0B61\\u0B71\\u0B83\\u0B85\\u0B86\\u0B87\\u0B88\\u0B89\\u0B8A\\u0B8E\\u0B8F\\u0B90\\u0B92\\u0B93\\u0B94\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8\\u0BA9\\u0BAA\\u0BAE\\u0BAF\\u0BB0\\u0BB1\\u0BB2\\u0BB3\\u0BB4\\u0BB5\\u0BB6\\u0BB7\\u0BB8\\u0BB9\\u0BD0\\u0C05\\u0C06\\u0C07\\u0C08\\u0C09\\u0C0A\\u0C0B\\u0C0C\\u0C0E\\u0C0F\\u0C10\\u0C12\\u0C13\\u0C14\\u0C15\\u0C16\\u0C17\\u0C18\\u0C19\\u0C1A\\u0C1B\\u0C1C\\u0C1D\\u0C1E\\u0C1F\\u0C20\\u0C21\\u0C22\\u0C23\\u0C24\\u0C25\\u0C26\\u0C27\\u0C28\\u0C2A\\u0C2B\\u0C2C\\u0C2D\\u0C2E\\u0C2F\\u0C30\\u0C31\\u0C32\\u0C33\\u0C35\\u0C36\\u0C37\\u0C38\\u0C39\\u0C3D\\u0C58\\u0C59\\u0C60\\u0C61\\u0C85\\u0C86\\u0C87\\u0C88\\u0C89\\u0C8A\\u0C8B\\u0C8C\\u0C8E\\u0C8F\\u0C90\\u0C92\\u0C93\\u0C94\\u0C95\\u0C96\\u0C97\\u0C98\\u0C99\\u0C9A\\u0C9B\\u0C9C\\u0C9D\\u0C9E\\u0C9F\\u0CA0\\u0CA1\\u0CA2\\u0CA3\\u0CA4\\u0CA5\\u0CA6\\u0CA7\\u0CA8\\u0CAA\\u0CAB\\u0CAC\\u0CAD\\u0CAE\\u0CAF\\u0CB0\\u0CB1\\u0CB2\\u0CB3\\u0CB5\\u0CB6\\u0CB7\\u0CB8\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0D05\\u0D06\\u0D07\\u0D08\\u0D09\\u0D0A\\u0D0B\\u0D0C\\u0D0E\\u0D0F\\u0D10\\u0D12\\u0D13\\u0D14\\u0D15\\u0D16\\u0D17\\u0D18\\u0D19\\u0D1A\\u0D1B\\u0D1C\\u0D1D\\u0D1E\\u0D1F\\u0D20\\u0D21\\u0D22\\u0D23\\u0D24\\u0D25\\u0D26\\u0D27\\u0D28\\u0D2A\\u0D2B\\u0D2C\\u0D2D\\u0D2E\\u0D2F\\u0D30\\u0D31\\u0D32\\u0D33\\u0D34\\u0D35\\u0D36\\u0D37\\u0D38\\u0D39\\u0D3D\\u0D60\\u0D61\\u0D7A\\u0D7B\\u0D7C\\u0D7D\\u0D7E\\u0D7F\\u0D85\\u0D86\\u0D87\\u0D88\\u0D89\\u0D8A\\u0D8B\\u0D8C\\u0D8D\\u0D8E\\u0D8F\\u0D90\\u0D91\\u0D92\\u0D93\\u0D94\\u0D95\\u0D96\\u0D9A\\u0D9B\\u0D9C\\u0D9D\\u0D9E\\u0D9F\\u0DA0\\u0DA1\\u0DA2\\u0DA3\\u0DA4\\u0DA5\\u0DA6\\u0DA7\\u0DA8\\u0DA9\\u0DAA\\u0DAB\\u0DAC\\u0DAD\\u0DAE\\u0DAF\\u0DB0\\u0DB1\\u0DB3\\u0DB4\\u0DB5\\u0DB6\\u0DB7\\u0DB8\\u0DB9\\u0DBA\\u0DBB\\u0DBD\\u0DC0\\u0DC1\\u0DC2\\u0DC3\\u0DC4\\u0DC5\\u0DC6\\u0E01\\u0E02\\u0E03\\u0E04\\u0E05\\u0E06\\u0E07\\u0E08\\u0E09\\u0E0A\\u0E0B\\u0E0C\\u0E0D\\u0E0E\\u0E0F\\u0E10\\u0E11\\u0E12\\u0E13\\u0E14\\u0E15\\u0E16\\u0E17\\u0E18\\u0E19\\u0E1A\\u0E1B\\u0E1C\\u0E1D\\u0E1E\\u0E1F\\u0E20\\u0E21\\u0E22\\u0E23\\u0E24\\u0E25\\u0E26\\u0E27\\u0E28\\u0E29\\u0E2A\\u0E2B\\u0E2C\\u0E2D\\u0E2E\\u0E2F\\u0E30\\u0E32\\u0E33\\u0E40\\u0E41\\u0E42\\u0E43\\u0E44\\u0E45\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94\\u0E95\\u0E96\\u0E97\\u0E99\\u0E9A\\u0E9B\\u0E9C\\u0E9D\\u0E9E\\u0E9F\\u0EA1\\u0EA2\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD\\u0EAE\\u0EAF\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0\\u0EC1\\u0EC2\\u0EC3\\u0EC4\\u0EDC\\u0EDD\\u0F00\\u0F40\\u0F41\\u0F42\\u0F43\\u0F44\\u0F45\\u0F46\\u0F47\\u0F49\\u0F4A\\u0F4B\\u0F4C\\u0F4D\\u0F4E\\u0F4F\\u0F50\\u0F51\\u0F52\\u0F53\\u0F54\\u0F55\\u0F56\\u0F57\\u0F58\\u0F59\\u0F5A\\u0F5B\\u0F5C\\u0F5D\\u0F5E\\u0F5F\\u0F60\\u0F61\\u0F62\\u0F63\\u0F64\\u0F65\\u0F66\\u0F67\\u0F68\\u0F69\\u0F6A\\u0F6B\\u0F6C\\u0F88\\u0F89\\u0F8A\\u0F8B\\u1000\\u1001\\u1002\\u1003\\u1004\\u1005\\u1006\\u1007\\u1008\\u1009\\u100A\\u100B\\u100C\\u100D\\u100E\\u100F\\u1010\\u1011\\u1012\\u1013\\u1014\\u1015\\u1016\\u1017\\u1018\\u1019\\u101A\\u101B\\u101C\\u101D\\u101E\\u101F\\u1020\\u1021\\u1022\\u1023\\u1024\\u1025\\u1026\\u1027\\u1028\\u1029\\u102A\\u103F\\u1050\\u1051\\u1052\\u1053\\u1054\\u1055\\u105A\\u105B\\u105C\\u105D\\u1061\\u1065\\u1066\\u106E\\u106F\\u1070\\u1075\\u1076\\u1077\\u1078\\u1079\\u107A\\u107B\\u107C\\u107D\\u107E\\u107F\\u1080\\u1081\\u108E\\u10D0\\u10D1\\u10D2\\u10D3\\u10D4\\u10D5\\u10D6\\u10D7\\u10D8\\u10D9\\u10DA\\u10DB\\u10DC\\u10DD\\u10DE\\u10DF\\u10E0\\u10E1\\u10E2\\u10E3\\u10E4\\u10E5\\u10E6\\u10E7\\u10E8\\u10E9\\u10EA\\u10EB\\u10EC\\u10ED\\u10EE\\u10EF\\u10F0\\u10F1\\u10F2\\u10F3\\u10F4\\u10F5\\u10F6\\u10F7\\u10F8\\u10F9\\u10FA\\u1100\\u1101\\u1102\\u1103\\u1104\\u1105\\u1106\\u1107\\u1108\\u1109\\u110A\\u110B\\u110C\\u110D\\u110E\\u110F\\u1110\\u1111\\u1112\\u1113\\u1114\\u1115\\u1116\\u1117\\u1118\\u1119\\u111A\\u111B\\u111C\\u111D\\u111E\\u111F\\u1120\\u1121\\u1122\\u1123\\u1124\\u1125\\u1126\\u1127\\u1128\\u1129\\u112A\\u112B\\u112C\\u112D\\u112E\\u112F\\u1130\\u1131\\u1132\\u1133\\u1134\\u1135\\u1136\\u1137\\u1138\\u1139\\u113A\\u113B\\u113C\\u113D\\u113E\\u113F\\u1140\\u1141\\u1142\\u1143\\u1144\\u1145\\u1146\\u1147\\u1148\\u1149\\u114A\\u114B\\u114C\\u114D\\u114E\\u114F\\u1150\\u1151\\u1152\\u1153\\u1154\\u1155\\u1156\\u1157\\u1158\\u1159\\u115F\\u1160\\u1161\\u1162\\u1163\\u1164\\u1165\\u1166\\u1167\\u1168\\u1169\\u116A\\u116B\\u116C\\u116D\\u116E\\u116F\\u1170\\u1171\\u1172\\u1173\\u1174\\u1175\\u1176\\u1177\\u1178\\u1179\\u117A\\u117B\\u117C\\u117D\\u117E\\u117F\\u1180\\u1181\\u1182\\u1183\\u1184\\u1185\\u1186\\u1187\\u1188\\u1189\\u118A\\u118B\\u118C\\u118D\\u118E\\u118F\\u1190\\u1191\\u1192\\u1193\\u1194\\u1195\\u1196\\u1197\\u1198\\u1199\\u119A\\u119B\\u119C\\u119D\\u119E\\u119F\\u11A0\\u11A1\\u11A2\\u11A8\\u11A9\\u11AA\\u11AB\\u11AC\\u11AD\\u11AE\\u11AF\\u11B0\\u11B1\\u11B2\\u11B3\\u11B4\\u11B5\\u11B6\\u11B7\\u11B8\\u11B9\\u11BA\\u11BB\\u11BC\\u11BD\\u11BE\\u11BF\\u11C0\\u11C1\\u11C2\\u11C3\\u11C4\\u11C5\\u11C6\\u11C7\\u11C8\\u11C9\\u11CA\\u11CB\\u11CC\\u11CD\\u11CE\\u11CF\\u11D0\\u11D1\\u11D2\\u11D3\\u11D4\\u11D5\\u11D6\\u11D7\\u11D8\\u11D9\\u11DA\\u11DB\\u11DC\\u11DD\\u11DE\\u11DF\\u11E0\\u11E1\\u11E2\\u11E3\\u11E4\\u11E5\\u11E6\\u11E7\\u11E8\\u11E9\\u11EA\\u11EB\\u11EC\\u11ED\\u11EE\\u11EF\\u11F0\\u11F1\\u11F2\\u11F3\\u11F4\\u11F5\\u11F6\\u11F7\\u11F8\\u11F9\\u1200\\u1201\\u1202\\u1203\\u1204\\u1205\\u1206\\u1207\\u1208\\u1209\\u120A\\u120B\\u120C\\u120D\\u120E\\u120F\\u1210\\u1211\\u1212\\u1213\\u1214\\u1215\\u1216\\u1217\\u1218\\u1219\\u121A\\u121B\\u121C\\u121D\\u121E\\u121F\\u1220\\u1221\\u1222\\u1223\\u1224\\u1225\\u1226\\u1227\\u1228\\u1229\\u122A\\u122B\\u122C\\u122D\\u122E\\u122F\\u1230\\u1231\\u1232\\u1233\\u1234\\u1235\\u1236\\u1237\\u1238\\u1239\\u123A\\u123B\\u123C\\u123D\\u123E\\u123F\\u1240\\u1241\\u1242\\u1243\\u1244\\u1245\\u1246\\u1247\\u1248\\u124A\\u124B\\u124C\\u124D\\u1250\\u1251\\u1252\\u1253\\u1254\\u1255\\u1256\\u1258\\u125A\\u125B\\u125C\\u125D\\u1260\\u1261\\u1262\\u1263\\u1264\\u1265\\u1266\\u1267\\u1268\\u1269\\u126A\\u126B\\u126C\\u126D\\u126E\\u126F\\u1270\\u1271\\u1272\\u1273\\u1274\\u1275\\u1276\\u1277\\u1278\\u1279\\u127A\\u127B\\u127C\\u127D\\u127E\\u127F\\u1280\\u1281\\u1282\\u1283\\u1284\\u1285\\u1286\\u1287\\u1288\\u128A\\u128B\\u128C\\u128D\\u1290\\u1291\\u1292\\u1293\\u1294\\u1295\\u1296\\u1297\\u1298\\u1299\\u129A\\u129B\\u129C\\u129D\\u129E\\u129F\\u12A0\\u12A1\\u12A2\\u12A3\\u12A4\\u12A5\\u12A6\\u12A7\\u12A8\\u12A9\\u12AA\\u12AB\\u12AC\\u12AD\\u12AE\\u12AF\\u12B0\\u12B2\\u12B3\\u12B4\\u12B5\\u12B8\\u12B9\\u12BA\\u12BB\\u12BC\\u12BD\\u12BE\\u12C0\\u12C2\\u12C3\\u12C4\\u12C5\\u12C8\\u12C9\\u12CA\\u12CB\\u12CC\\u12CD\\u12CE\\u12CF\\u12D0\\u12D1\\u12D2\\u12D3\\u12D4\\u12D5\\u12D6\\u12D8\\u12D9\\u12DA\\u12DB\\u12DC\\u12DD\\u12DE\\u12DF\\u12E0\\u12E1\\u12E2\\u12E3\\u12E4\\u12E5\\u12E6\\u12E7\\u12E8\\u12E9\\u12EA\\u12EB\\u12EC\\u12ED\\u12EE\\u12EF\\u12F0\\u12F1\\u12F2\\u12F3\\u12F4\\u12F5\\u12F6\\u12F7\\u12F8\\u12F9\\u12FA\\u12FB\\u12FC\\u12FD\\u12FE\\u12FF\\u1300\\u1301\\u1302\\u1303\\u1304\\u1305\\u1306\\u1307\\u1308\\u1309\\u130A\\u130B\\u130C\\u130D\\u130E\\u130F\\u1310\\u1312\\u1313\\u1314\\u1315\\u1318\\u1319\\u131A\\u131B\\u131C\\u131D\\u131E\\u131F\\u1320\\u1321\\u1322\\u1323\\u1324\\u1325\\u1326\\u1327\\u1328\\u1329\\u132A\\u132B\\u132C\\u132D\\u132E\\u132F\\u1330\\u1331\\u1332\\u1333\\u1334\\u1335\\u1336\\u1337\\u1338\\u1339\\u133A\\u133B\\u133C\\u133D\\u133E\\u133F\\u1340\\u1341\\u1342\\u1343\\u1344\\u1345\\u1346\\u1347\\u1348\\u1349\\u134A\\u134B\\u134C\\u134D\\u134E\\u134F\\u1350\\u1351\\u1352\\u1353\\u1354\\u1355\\u1356\\u1357\\u1358\\u1359\\u135A\\u1380\\u1381\\u1382\\u1383\\u1384\\u1385\\u1386\\u1387\\u1388\\u1389\\u138A\\u138B\\u138C\\u138D\\u138E\\u138F\\u13A0\\u13A1\\u13A2\\u13A3\\u13A4\\u13A5\\u13A6\\u13A7\\u13A8\\u13A9\\u13AA\\u13AB\\u13AC\\u13AD\\u13AE\\u13AF\\u13B0\\u13B1\\u13B2\\u13B3\\u13B4\\u13B5\\u13B6\\u13B7\\u13B8\\u13B9\\u13BA\\u13BB\\u13BC\\u13BD\\u13BE\\u13BF\\u13C0\\u13C1\\u13C2\\u13C3\\u13C4\\u13C5\\u13C6\\u13C7\\u13C8\\u13C9\\u13CA\\u13CB\\u13CC\\u13CD\\u13CE\\u13CF\\u13D0\\u13D1\\u13D2\\u13D3\\u13D4\\u13D5\\u13D6\\u13D7\\u13D8\\u13D9\\u13DA\\u13DB\\u13DC\\u13DD\\u13DE\\u13DF\\u13E0\\u13E1\\u13E2\\u13E3\\u13E4\\u13E5\\u13E6\\u13E7\\u13E8\\u13E9\\u13EA\\u13EB\\u13EC\\u13ED\\u13EE\\u13EF\\u13F0\\u13F1\\u13F2\\u13F3\\u13F4\\u1401\\u1402\\u1403\\u1404\\u1405\\u1406\\u1407\\u1408\\u1409\\u140A\\u140B\\u140C\\u140D\\u140E\\u140F\\u1410\\u1411\\u1412\\u1413\\u1414\\u1415\\u1416\\u1417\\u1418\\u1419\\u141A\\u141B\\u141C\\u141D\\u141E\\u141F\\u1420\\u1421\\u1422\\u1423\\u1424\\u1425\\u1426\\u1427\\u1428\\u1429\\u142A\\u142B\\u142C\\u142D\\u142E\\u142F\\u1430\\u1431\\u1432\\u1433\\u1434\\u1435\\u1436\\u1437\\u1438\\u1439\\u143A\\u143B\\u143C\\u143D\\u143E\\u143F\\u1440\\u1441\\u1442\\u1443\\u1444\\u1445\\u1446\\u1447\\u1448\\u1449\\u144A\\u144B\\u144C\\u144D\\u144E\\u144F\\u1450\\u1451\\u1452\\u1453\\u1454\\u1455\\u1456\\u1457\\u1458\\u1459\\u145A\\u145B\\u145C\\u145D\\u145E\\u145F\\u1460\\u1461\\u1462\\u1463\\u1464\\u1465\\u1466\\u1467\\u1468\\u1469\\u146A\\u146B\\u146C\\u146D\\u146E\\u146F\\u1470\\u1471\\u1472\\u1473\\u1474\\u1475\\u1476\\u1477\\u1478\\u1479\\u147A\\u147B\\u147C\\u147D\\u147E\\u147F\\u1480\\u1481\\u1482\\u1483\\u1484\\u1485\\u1486\\u1487\\u1488\\u1489\\u148A\\u148B\\u148C\\u148D\\u148E\\u148F\\u1490\\u1491\\u1492\\u1493\\u1494\\u1495\\u1496\\u1497\\u1498\\u1499\\u149A\\u149B\\u149C\\u149D\\u149E\\u149F\\u14A0\\u14A1\\u14A2\\u14A3\\u14A4\\u14A5\\u14A6\\u14A7\\u14A8\\u14A9\\u14AA\\u14AB\\u14AC\\u14AD\\u14AE\\u14AF\\u14B0\\u14B1\\u14B2\\u14B3\\u14B4\\u14B5\\u14B6\\u14B7\\u14B8\\u14B9\\u14BA\\u14BB\\u14BC\\u14BD\\u14BE\\u14BF\\u14C0\\u14C1\\u14C2\\u14C3\\u14C4\\u14C5\\u14C6\\u14C7\\u14C8\\u14C9\\u14CA\\u14CB\\u14CC\\u14CD\\u14CE\\u14CF\\u14D0\\u14D1\\u14D2\\u14D3\\u14D4\\u14D5\\u14D6\\u14D7\\u14D8\\u14D9\\u14DA\\u14DB\\u14DC\\u14DD\\u14DE\\u14DF\\u14E0\\u14E1\\u14E2\\u14E3\\u14E4\\u14E5\\u14E6\\u14E7\\u14E8\\u14E9\\u14EA\\u14EB\\u14EC\\u14ED\\u14EE\\u14EF\\u14F0\\u14F1\\u14F2\\u14F3\\u14F4\\u14F5\\u14F6\\u14F7\\u14F8\\u14F9\\u14FA\\u14FB\\u14FC\\u14FD\\u14FE\\u14FF\\u1500\\u1501\\u1502\\u1503\\u1504\\u1505\\u1506\\u1507\\u1508\\u1509\\u150A\\u150B\\u150C\\u150D\\u150E\\u150F\\u1510\\u1511\\u1512\\u1513\\u1514\\u1515\\u1516\\u1517\\u1518\\u1519\\u151A\\u151B\\u151C\\u151D\\u151E\\u151F\\u1520\\u1521\\u1522\\u1523\\u1524\\u1525\\u1526\\u1527\\u1528\\u1529\\u152A\\u152B\\u152C\\u152D\\u152E\\u152F\\u1530\\u1531\\u1532\\u1533\\u1534\\u1535\\u1536\\u1537\\u1538\\u1539\\u153A\\u153B\\u153C\\u153D\\u153E\\u153F\\u1540\\u1541\\u1542\\u1543\\u1544\\u1545\\u1546\\u1547\\u1548\\u1549\\u154A\\u154B\\u154C\\u154D\\u154E\\u154F\\u1550\\u1551\\u1552\\u1553\\u1554\\u1555\\u1556\\u1557\\u1558\\u1559\\u155A\\u155B\\u155C\\u155D\\u155E\\u155F\\u1560\\u1561\\u1562\\u1563\\u1564\\u1565\\u1566\\u1567\\u1568\\u1569\\u156A\\u156B\\u156C\\u156D\\u156E\\u156F\\u1570\\u1571\\u1572\\u1573\\u1574\\u1575\\u1576\\u1577\\u1578\\u1579\\u157A\\u157B\\u157C\\u157D\\u157E\\u157F\\u1580\\u1581\\u1582\\u1583\\u1584\\u1585\\u1586\\u1587\\u1588\\u1589\\u158A\\u158B\\u158C\\u158D\\u158E\\u158F\\u1590\\u1591\\u1592\\u1593\\u1594\\u1595\\u1596\\u1597\\u1598\\u1599\\u159A\\u159B\\u159C\\u159D\\u159E\\u159F\\u15A0\\u15A1\\u15A2\\u15A3\\u15A4\\u15A5\\u15A6\\u15A7\\u15A8\\u15A9\\u15AA\\u15AB\\u15AC\\u15AD\\u15AE\\u15AF\\u15B0\\u15B1\\u15B2\\u15B3\\u15B4\\u15B5\\u15B6\\u15B7\\u15B8\\u15B9\\u15BA\\u15BB\\u15BC\\u15BD\\u15BE\\u15BF\\u15C0\\u15C1\\u15C2\\u15C3\\u15C4\\u15C5\\u15C6\\u15C7\\u15C8\\u15C9\\u15CA\\u15CB\\u15CC\\u15CD\\u15CE\\u15CF\\u15D0\\u15D1\\u15D2\\u15D3\\u15D4\\u15D5\\u15D6\\u15D7\\u15D8\\u15D9\\u15DA\\u15DB\\u15DC\\u15DD\\u15DE\\u15DF\\u15E0\\u15E1\\u15E2\\u15E3\\u15E4\\u15E5\\u15E6\\u15E7\\u15E8\\u15E9\\u15EA\\u15EB\\u15EC\\u15ED\\u15EE\\u15EF\\u15F0\\u15F1\\u15F2\\u15F3\\u15F4\\u15F5\\u15F6\\u15F7\\u15F8\\u15F9\\u15FA\\u15FB\\u15FC\\u15FD\\u15FE\\u15FF\\u1600\\u1601\\u1602\\u1603\\u1604\\u1605\\u1606\\u1607\\u1608\\u1609\\u160A\\u160B\\u160C\\u160D\\u160E\\u160F\\u1610\\u1611\\u1612\\u1613\\u1614\\u1615\\u1616\\u1617\\u1618\\u1619\\u161A\\u161B\\u161C\\u161D\\u161E\\u161F\\u1620\\u1621\\u1622\\u1623\\u1624\\u1625\\u1626\\u1627\\u1628\\u1629\\u162A\\u162B\\u162C\\u162D\\u162E\\u162F\\u1630\\u1631\\u1632\\u1633\\u1634\\u1635\\u1636\\u1637\\u1638\\u1639\\u163A\\u163B\\u163C\\u163D\\u163E\\u163F\\u1640\\u1641\\u1642\\u1643\\u1644\\u1645\\u1646\\u1647\\u1648\\u1649\\u164A\\u164B\\u164C\\u164D\\u164E\\u164F\\u1650\\u1651\\u1652\\u1653\\u1654\\u1655\\u1656\\u1657\\u1658\\u1659\\u165A\\u165B\\u165C\\u165D\\u165E\\u165F\\u1660\\u1661\\u1662\\u1663\\u1664\\u1665\\u1666\\u1667\\u1668\\u1669\\u166A\\u166B\\u166C\\u166F\\u1670\\u1671\\u1672\\u1673\\u1674\\u1675\\u1676\\u1681\\u1682\\u1683\\u1684\\u1685\\u1686\\u1687\\u1688\\u1689\\u168A\\u168B\\u168C\\u168D\\u168E\\u168F\\u1690\\u1691\\u1692\\u1693\\u1694\\u1695\\u1696\\u1697\\u1698\\u1699\\u169A\\u16A0\\u16A1\\u16A2\\u16A3\\u16A4\\u16A5\\u16A6\\u16A7\\u16A8\\u16A9\\u16AA\\u16AB\\u16AC\\u16AD\\u16AE\\u16AF\\u16B0\\u16B1\\u16B2\\u16B3\\u16B4\\u16B5\\u16B6\\u16B7\\u16B8\\u16B9\\u16BA\\u16BB\\u16BC\\u16BD\\u16BE\\u16BF\\u16C0\\u16C1\\u16C2\\u16C3\\u16C4\\u16C5\\u16C6\\u16C7\\u16C8\\u16C9\\u16CA\\u16CB\\u16CC\\u16CD\\u16CE\\u16CF\\u16D0\\u16D1\\u16D2\\u16D3\\u16D4\\u16D5\\u16D6\\u16D7\\u16D8\\u16D9\\u16DA\\u16DB\\u16DC\\u16DD\\u16DE\\u16DF\\u16E0\\u16E1\\u16E2\\u16E3\\u16E4\\u16E5\\u16E6\\u16E7\\u16E8\\u16E9\\u16EA\\u1700\\u1701\\u1702\\u1703\\u1704\\u1705\\u1706\\u1707\\u1708\\u1709\\u170A\\u170B\\u170C\\u170E\\u170F\\u1710\\u1711\\u1720\\u1721\\u1722\\u1723\\u1724\\u1725\\u1726\\u1727\\u1728\\u1729\\u172A\\u172B\\u172C\\u172D\\u172E\\u172F\\u1730\\u1731\\u1740\\u1741\\u1742\\u1743\\u1744\\u1745\\u1746\\u1747\\u1748\\u1749\\u174A\\u174B\\u174C\\u174D\\u174E\\u174F\\u1750\\u1751\\u1760\\u1761\\u1762\\u1763\\u1764\\u1765\\u1766\\u1767\\u1768\\u1769\\u176A\\u176B\\u176C\\u176E\\u176F\\u1770\\u1780\\u1781\\u1782\\u1783\\u1784\\u1785\\u1786\\u1787\\u1788\\u1789\\u178A\\u178B\\u178C\\u178D\\u178E\\u178F\\u1790\\u1791\\u1792\\u1793\\u1794\\u1795\\u1796\\u1797\\u1798\\u1799\\u179A\\u179B\\u179C\\u179D\\u179E\\u179F\\u17A0\\u17A1\\u17A2\\u17A3\\u17A4\\u17A5\\u17A6\\u17A7\\u17A8\\u17A9\\u17AA\\u17AB\\u17AC\\u17AD\\u17AE\\u17AF\\u17B0\\u17B1\\u17B2\\u17B3\\u17DC\\u1820\\u1821\\u1822\\u1823\\u1824\\u1825\\u1826\\u1827\\u1828\\u1829\\u182A\\u182B\\u182C\\u182D\\u182E\\u182F\\u1830\\u1831\\u1832\\u1833\\u1834\\u1835\\u1836\\u1837\\u1838\\u1839\\u183A\\u183B\\u183C\\u183D\\u183E\\u183F\\u1840\\u1841\\u1842\\u1844\\u1845\\u1846\\u1847\\u1848\\u1849\\u184A\\u184B\\u184C\\u184D\\u184E\\u184F\\u1850\\u1851\\u1852\\u1853\\u1854\\u1855\\u1856\\u1857\\u1858\\u1859\\u185A\\u185B\\u185C\\u185D\\u185E\\u185F\\u1860\\u1861\\u1862\\u1863\\u1864\\u1865\\u1866\\u1867\\u1868\\u1869\\u186A\\u186B\\u186C\\u186D\\u186E\\u186F\\u1870\\u1871\\u1872\\u1873\\u1874\\u1875\\u1876\\u1877\\u1880\\u1881\\u1882\\u1883\\u1884\\u1885\\u1886\\u1887\\u1888\\u1889\\u188A\\u188B\\u188C\\u188D\\u188E\\u188F\\u1890\\u1891\\u1892\\u1893\\u1894\\u1895\\u1896\\u1897\\u1898\\u1899\\u189A\\u189B\\u189C\\u189D\\u189E\\u189F\\u18A0\\u18A1\\u18A2\\u18A3\\u18A4\\u18A5\\u18A6\\u18A7\\u18A8\\u18AA\\u1900\\u1901\\u1902\\u1903\\u1904\\u1905\\u1906\\u1907\\u1908\\u1909\\u190A\\u190B\\u190C\\u190D\\u190E\\u190F\\u1910\\u1911\\u1912\\u1913\\u1914\\u1915\\u1916\\u1917\\u1918\\u1919\\u191A\\u191B\\u191C\\u1950\\u1951\\u1952\\u1953\\u1954\\u1955\\u1956\\u1957\\u1958\\u1959\\u195A\\u195B\\u195C\\u195D\\u195E\\u195F\\u1960\\u1961\\u1962\\u1963\\u1964\\u1965\\u1966\\u1967\\u1968\\u1969\\u196A\\u196B\\u196C\\u196D\\u1970\\u1971\\u1972\\u1973\\u1974\\u1980\\u1981\\u1982\\u1983\\u1984\\u1985\\u1986\\u1987\\u1988\\u1989\\u198A\\u198B\\u198C\\u198D\\u198E\\u198F\\u1990\\u1991\\u1992\\u1993\\u1994\\u1995\\u1996\\u1997\\u1998\\u1999\\u199A\\u199B\\u199C\\u199D\\u199E\\u199F\\u19A0\\u19A1\\u19A2\\u19A3\\u19A4\\u19A5\\u19A6\\u19A7\\u19A8\\u19A9\\u19C1\\u19C2\\u19C3\\u19C4\\u19C5\\u19C6\\u19C7\\u1A00\\u1A01\\u1A02\\u1A03\\u1A04\\u1A05\\u1A06\\u1A07\\u1A08\\u1A09\\u1A0A\\u1A0B\\u1A0C\\u1A0D\\u1A0E\\u1A0F\\u1A10\\u1A11\\u1A12\\u1A13\\u1A14\\u1A15\\u1A16\\u1B05\\u1B06\\u1B07\\u1B08\\u1B09\\u1B0A\\u1B0B\\u1B0C\\u1B0D\\u1B0E\\u1B0F\\u1B10\\u1B11\\u1B12\\u1B13\\u1B14\\u1B15\\u1B16\\u1B17\\u1B18\\u1B19\\u1B1A\\u1B1B\\u1B1C\\u1B1D\\u1B1E\\u1B1F\\u1B20\\u1B21\\u1B22\\u1B23\\u1B24\\u1B25\\u1B26\\u1B27\\u1B28\\u1B29\\u1B2A\\u1B2B\\u1B2C\\u1B2D\\u1B2E\\u1B2F\\u1B30\\u1B31\\u1B32\\u1B33\\u1B45\\u1B46\\u1B47\\u1B48\\u1B49\\u1B4A\\u1B4B\\u1B83\\u1B84\\u1B85\\u1B86\\u1B87\\u1B88\\u1B89\\u1B8A\\u1B8B\\u1B8C\\u1B8D\\u1B8E\\u1B8F\\u1B90\\u1B91\\u1B92\\u1B93\\u1B94\\u1B95\\u1B96\\u1B97\\u1B98\\u1B99\\u1B9A\\u1B9B\\u1B9C\\u1B9D\\u1B9E\\u1B9F\\u1BA0\\u1BAE\\u1BAF\\u1C00\\u1C01\\u1C02\\u1C03\\u1C04\\u1C05\\u1C06\\u1C07\\u1C08\\u1C09\\u1C0A\\u1C0B\\u1C0C\\u1C0D\\u1C0E\\u1C0F\\u1C10\\u1C11\\u1C12\\u1C13\\u1C14\\u1C15\\u1C16\\u1C17\\u1C18\\u1C19\\u1C1A\\u1C1B\\u1C1C\\u1C1D\\u1C1E\\u1C1F\\u1C20\\u1C21\\u1C22\\u1C23\\u1C4D\\u1C4E\\u1C4F\\u1C5A\\u1C5B\\u1C5C\\u1C5D\\u1C5E\\u1C5F\\u1C60\\u1C61\\u1C62\\u1C63\\u1C64\\u1C65\\u1C66\\u1C67\\u1C68\\u1C69\\u1C6A\\u1C6B\\u1C6C\\u1C6D\\u1C6E\\u1C6F\\u1C70\\u1C71\\u1C72\\u1C73\\u1C74\\u1C75\\u1C76\\u1C77\\u2135\\u2136\\u2137\\u2138\\u2D30\\u2D31\\u2D32\\u2D33\\u2D34\\u2D35\\u2D36\\u2D37\\u2D38\\u2D39\\u2D3A\\u2D3B\\u2D3C\\u2D3D\\u2D3E\\u2D3F\\u2D40\\u2D41\\u2D42\\u2D43\\u2D44\\u2D45\\u2D46\\u2D47\\u2D48\\u2D49\\u2D4A\\u2D4B\\u2D4C\\u2D4D\\u2D4E\\u2D4F\\u2D50\\u2D51\\u2D52\\u2D53\\u2D54\\u2D55\\u2D56\\u2D57\\u2D58\\u2D59\\u2D5A\\u2D5B\\u2D5C\\u2D5D\\u2D5E\\u2D5F\\u2D60\\u2D61\\u2D62\\u2D63\\u2D64\\u2D65\\u2D80\\u2D81\\u2D82\\u2D83\\u2D84\\u2D85\\u2D86\\u2D87\\u2D88\\u2D89\\u2D8A\\u2D8B\\u2D8C\\u2D8D\\u2D8E\\u2D8F\\u2D90\\u2D91\\u2D92\\u2D93\\u2D94\\u2D95\\u2D96\\u2DA0\\u2DA1\\u2DA2\\u2DA3\\u2DA4\\u2DA5\\u2DA6\\u2DA8\\u2DA9\\u2DAA\\u2DAB\\u2DAC\\u2DAD\\u2DAE\\u2DB0\\u2DB1\\u2DB2\\u2DB3\\u2DB4\\u2DB5\\u2DB6\\u2DB8\\u2DB9\\u2DBA\\u2DBB\\u2DBC\\u2DBD\\u2DBE\\u2DC0\\u2DC1\\u2DC2\\u2DC3\\u2DC4\\u2DC5\\u2DC6\\u2DC8\\u2DC9\\u2DCA\\u2DCB\\u2DCC\\u2DCD\\u2DCE\\u2DD0\\u2DD1\\u2DD2\\u2DD3\\u2DD4\\u2DD5\\u2DD6\\u2DD8\\u2DD9\\u2DDA\\u2DDB\\u2DDC\\u2DDD\\u2DDE\\u3006\\u303C\\u3041\\u3042\\u3043\\u3044\\u3045\\u3046\\u3047\\u3048\\u3049\\u304A\\u304B\\u304C\\u304D\\u304E\\u304F\\u3050\\u3051\\u3052\\u3053\\u3054\\u3055\\u3056\\u3057\\u3058\\u3059\\u305A\\u305B\\u305C\\u305D\\u305E\\u305F\\u3060\\u3061\\u3062\\u3063\\u3064\\u3065\\u3066\\u3067\\u3068\\u3069\\u306A\\u306B\\u306C\\u306D\\u306E\\u306F\\u3070\\u3071\\u3072\\u3073\\u3074\\u3075\\u3076\\u3077\\u3078\\u3079\\u307A\\u307B\\u307C\\u307D\\u307E\\u307F\\u3080\\u3081\\u3082\\u3083\\u3084\\u3085\\u3086\\u3087\\u3088\\u3089\\u308A\\u308B\\u308C\\u308D\\u308E\\u308F\\u3090\\u3091\\u3092\\u3093\\u3094\\u3095\\u3096\\u309F\\u30A1\\u30A2\\u30A3\\u30A4\\u30A5\\u30A6\\u30A7\\u30A8\\u30A9\\u30AA\\u30AB\\u30AC\\u30AD\\u30AE\\u30AF\\u30B0\\u30B1\\u30B2\\u30B3\\u30B4\\u30B5\\u30B6\\u30B7\\u30B8\\u30B9\\u30BA\\u30BB\\u30BC\\u30BD\\u30BE\\u30BF\\u30C0\\u30C1\\u30C2\\u30C3\\u30C4\\u30C5\\u30C6\\u30C7\\u30C8\\u30C9\\u30CA\\u30CB\\u30CC\\u30CD\\u30CE\\u30CF\\u30D0\\u30D1\\u30D2\\u30D3\\u30D4\\u30D5\\u30D6\\u30D7\\u30D8\\u30D9\\u30DA\\u30DB\\u30DC\\u30DD\\u30DE\\u30DF\\u30E0\\u30E1\\u30E2\\u30E3\\u30E4\\u30E5\\u30E6\\u30E7\\u30E8\\u30E9\\u30EA\\u30EB\\u30EC\\u30ED\\u30EE\\u30EF\\u30F0\\u30F1\\u30F2\\u30F3\\u30F4\\u30F5\\u30F6\\u30F7\\u30F8\\u30F9\\u30FA\\u30FF\\u3105\\u3106\\u3107\\u3108\\u3109\\u310A\\u310B\\u310C\\u310D\\u310E\\u310F\\u3110\\u3111\\u3112\\u3113\\u3114\\u3115\\u3116\\u3117\\u3118\\u3119\\u311A\\u311B\\u311C\\u311D\\u311E\\u311F\\u3120\\u3121\\u3122\\u3123\\u3124\\u3125\\u3126\\u3127\\u3128\\u3129\\u312A\\u312B\\u312C\\u312D\\u3131\\u3132\\u3133\\u3134\\u3135\\u3136\\u3137\\u3138\\u3139\\u313A\\u313B\\u313C\\u313D\\u313E\\u313F\\u3140\\u3141\\u3142\\u3143\\u3144\\u3145\\u3146\\u3147\\u3148\\u3149\\u314A\\u314B\\u314C\\u314D\\u314E\\u314F\\u3150\\u3151\\u3152\\u3153\\u3154\\u3155\\u3156\\u3157\\u3158\\u3159\\u315A\\u315B\\u315C\\u315D\\u315E\\u315F\\u3160\\u3161\\u3162\\u3163\\u3164\\u3165\\u3166\\u3167\\u3168\\u3169\\u316A\\u316B\\u316C\\u316D\\u316E\\u316F\\u3170\\u3171\\u3172\\u3173\\u3174\\u3175\\u3176\\u3177\\u3178\\u3179\\u317A\\u317B\\u317C\\u317D\\u317E\\u317F\\u3180\\u3181\\u3182\\u3183\\u3184\\u3185\\u3186\\u3187\\u3188\\u3189\\u318A\\u318B\\u318C\\u318D\\u318E\\u31A0\\u31A1\\u31A2\\u31A3\\u31A4\\u31A5\\u31A6\\u31A7\\u31A8\\u31A9\\u31AA\\u31AB\\u31AC\\u31AD\\u31AE\\u31AF\\u31B0\\u31B1\\u31B2\\u31B3\\u31B4\\u31B5\\u31B6\\u31B7\\u31F0\\u31F1\\u31F2\\u31F3\\u31F4\\u31F5\\u31F6\\u31F7\\u31F8\\u31F9\\u31FA\\u31FB\\u31FC\\u31FD\\u31FE\\u31FF\\u3400\\u4DB5\\u4E00\\u9FC3\\uA000\\uA001\\uA002\\uA003\\uA004\\uA005\\uA006\\uA007\\uA008\\uA009\\uA00A\\uA00B\\uA00C\\uA00D\\uA00E\\uA00F\\uA010\\uA011\\uA012\\uA013\\uA014\\uA016\\uA017\\uA018\\uA019\\uA01A\\uA01B\\uA01C\\uA01D\\uA01E\\uA01F\\uA020\\uA021\\uA022\\uA023\\uA024\\uA025\\uA026\\uA027\\uA028\\uA029\\uA02A\\uA02B\\uA02C\\uA02D\\uA02E\\uA02F\\uA030\\uA031\\uA032\\uA033\\uA034\\uA035\\uA036\\uA037\\uA038\\uA039\\uA03A\\uA03B\\uA03C\\uA03D\\uA03E\\uA03F\\uA040\\uA041\\uA042\\uA043\\uA044\\uA045\\uA046\\uA047\\uA048\\uA049\\uA04A\\uA04B\\uA04C\\uA04D\\uA04E\\uA04F\\uA050\\uA051\\uA052\\uA053\\uA054\\uA055\\uA056\\uA057\\uA058\\uA059\\uA05A\\uA05B\\uA05C\\uA05D\\uA05E\\uA05F\\uA060\\uA061\\uA062\\uA063\\uA064\\uA065\\uA066\\uA067\\uA068\\uA069\\uA06A\\uA06B\\uA06C\\uA06D\\uA06E\\uA06F\\uA070\\uA071\\uA072\\uA073\\uA074\\uA075\\uA076\\uA077\\uA078\\uA079\\uA07A\\uA07B\\uA07C\\uA07D\\uA07E\\uA07F\\uA080\\uA081\\uA082\\uA083\\uA084\\uA085\\uA086\\uA087\\uA088\\uA089\\uA08A\\uA08B\\uA08C\\uA08D\\uA08E\\uA08F\\uA090\\uA091\\uA092\\uA093\\uA094\\uA095\\uA096\\uA097\\uA098\\uA099\\uA09A\\uA09B\\uA09C\\uA09D\\uA09E\\uA09F\\uA0A0\\uA0A1\\uA0A2\\uA0A3\\uA0A4\\uA0A5\\uA0A6\\uA0A7\\uA0A8\\uA0A9\\uA0AA\\uA0AB\\uA0AC\\uA0AD\\uA0AE\\uA0AF\\uA0B0\\uA0B1\\uA0B2\\uA0B3\\uA0B4\\uA0B5\\uA0B6\\uA0B7\\uA0B8\\uA0B9\\uA0BA\\uA0BB\\uA0BC\\uA0BD\\uA0BE\\uA0BF\\uA0C0\\uA0C1\\uA0C2\\uA0C3\\uA0C4\\uA0C5\\uA0C6\\uA0C7\\uA0C8\\uA0C9\\uA0CA\\uA0CB\\uA0CC\\uA0CD\\uA0CE\\uA0CF\\uA0D0\\uA0D1\\uA0D2\\uA0D3\\uA0D4\\uA0D5\\uA0D6\\uA0D7\\uA0D8\\uA0D9\\uA0DA\\uA0DB\\uA0DC\\uA0DD\\uA0DE\\uA0DF\\uA0E0\\uA0E1\\uA0E2\\uA0E3\\uA0E4\\uA0E5\\uA0E6\\uA0E7\\uA0E8\\uA0E9\\uA0EA\\uA0EB\\uA0EC\\uA0ED\\uA0EE\\uA0EF\\uA0F0\\uA0F1\\uA0F2\\uA0F3\\uA0F4\\uA0F5\\uA0F6\\uA0F7\\uA0F8\\uA0F9\\uA0FA\\uA0FB\\uA0FC\\uA0FD\\uA0FE\\uA0FF\\uA100\\uA101\\uA102\\uA103\\uA104\\uA105\\uA106\\uA107\\uA108\\uA109\\uA10A\\uA10B\\uA10C\\uA10D\\uA10E\\uA10F\\uA110\\uA111\\uA112\\uA113\\uA114\\uA115\\uA116\\uA117\\uA118\\uA119\\uA11A\\uA11B\\uA11C\\uA11D\\uA11E\\uA11F\\uA120\\uA121\\uA122\\uA123\\uA124\\uA125\\uA126\\uA127\\uA128\\uA129\\uA12A\\uA12B\\uA12C\\uA12D\\uA12E\\uA12F\\uA130\\uA131\\uA132\\uA133\\uA134\\uA135\\uA136\\uA137\\uA138\\uA139\\uA13A\\uA13B\\uA13C\\uA13D\\uA13E\\uA13F\\uA140\\uA141\\uA142\\uA143\\uA144\\uA145\\uA146\\uA147\\uA148\\uA149\\uA14A\\uA14B\\uA14C\\uA14D\\uA14E\\uA14F\\uA150\\uA151\\uA152\\uA153\\uA154\\uA155\\uA156\\uA157\\uA158\\uA159\\uA15A\\uA15B\\uA15C\\uA15D\\uA15E\\uA15F\\uA160\\uA161\\uA162\\uA163\\uA164\\uA165\\uA166\\uA167\\uA168\\uA169\\uA16A\\uA16B\\uA16C\\uA16D\\uA16E\\uA16F\\uA170\\uA171\\uA172\\uA173\\uA174\\uA175\\uA176\\uA177\\uA178\\uA179\\uA17A\\uA17B\\uA17C\\uA17D\\uA17E\\uA17F\\uA180\\uA181\\uA182\\uA183\\uA184\\uA185\\uA186\\uA187\\uA188\\uA189\\uA18A\\uA18B\\uA18C\\uA18D\\uA18E\\uA18F\\uA190\\uA191\\uA192\\uA193\\uA194\\uA195\\uA196\\uA197\\uA198\\uA199\\uA19A\\uA19B\\uA19C\\uA19D\\uA19E\\uA19F\\uA1A0\\uA1A1\\uA1A2\\uA1A3\\uA1A4\\uA1A5\\uA1A6\\uA1A7\\uA1A8\\uA1A9\\uA1AA\\uA1AB\\uA1AC\\uA1AD\\uA1AE\\uA1AF\\uA1B0\\uA1B1\\uA1B2\\uA1B3\\uA1B4\\uA1B5\\uA1B6\\uA1B7\\uA1B8\\uA1B9\\uA1BA\\uA1BB\\uA1BC\\uA1BD\\uA1BE\\uA1BF\\uA1C0\\uA1C1\\uA1C2\\uA1C3\\uA1C4\\uA1C5\\uA1C6\\uA1C7\\uA1C8\\uA1C9\\uA1CA\\uA1CB\\uA1CC\\uA1CD\\uA1CE\\uA1CF\\uA1D0\\uA1D1\\uA1D2\\uA1D3\\uA1D4\\uA1D5\\uA1D6\\uA1D7\\uA1D8\\uA1D9\\uA1DA\\uA1DB\\uA1DC\\uA1DD\\uA1DE\\uA1DF\\uA1E0\\uA1E1\\uA1E2\\uA1E3\\uA1E4\\uA1E5\\uA1E6\\uA1E7\\uA1E8\\uA1E9\\uA1EA\\uA1EB\\uA1EC\\uA1ED\\uA1EE\\uA1EF\\uA1F0\\uA1F1\\uA1F2\\uA1F3\\uA1F4\\uA1F5\\uA1F6\\uA1F7\\uA1F8\\uA1F9\\uA1FA\\uA1FB\\uA1FC\\uA1FD\\uA1FE\\uA1FF\\uA200\\uA201\\uA202\\uA203\\uA204\\uA205\\uA206\\uA207\\uA208\\uA209\\uA20A\\uA20B\\uA20C\\uA20D\\uA20E\\uA20F\\uA210\\uA211\\uA212\\uA213\\uA214\\uA215\\uA216\\uA217\\uA218\\uA219\\uA21A\\uA21B\\uA21C\\uA21D\\uA21E\\uA21F\\uA220\\uA221\\uA222\\uA223\\uA224\\uA225\\uA226\\uA227\\uA228\\uA229\\uA22A\\uA22B\\uA22C\\uA22D\\uA22E\\uA22F\\uA230\\uA231\\uA232\\uA233\\uA234\\uA235\\uA236\\uA237\\uA238\\uA239\\uA23A\\uA23B\\uA23C\\uA23D\\uA23E\\uA23F\\uA240\\uA241\\uA242\\uA243\\uA244\\uA245\\uA246\\uA247\\uA248\\uA249\\uA24A\\uA24B\\uA24C\\uA24D\\uA24E\\uA24F\\uA250\\uA251\\uA252\\uA253\\uA254\\uA255\\uA256\\uA257\\uA258\\uA259\\uA25A\\uA25B\\uA25C\\uA25D\\uA25E\\uA25F\\uA260\\uA261\\uA262\\uA263\\uA264\\uA265\\uA266\\uA267\\uA268\\uA269\\uA26A\\uA26B\\uA26C\\uA26D\\uA26E\\uA26F\\uA270\\uA271\\uA272\\uA273\\uA274\\uA275\\uA276\\uA277\\uA278\\uA279\\uA27A\\uA27B\\uA27C\\uA27D\\uA27E\\uA27F\\uA280\\uA281\\uA282\\uA283\\uA284\\uA285\\uA286\\uA287\\uA288\\uA289\\uA28A\\uA28B\\uA28C\\uA28D\\uA28E\\uA28F\\uA290\\uA291\\uA292\\uA293\\uA294\\uA295\\uA296\\uA297\\uA298\\uA299\\uA29A\\uA29B\\uA29C\\uA29D\\uA29E\\uA29F\\uA2A0\\uA2A1\\uA2A2\\uA2A3\\uA2A4\\uA2A5\\uA2A6\\uA2A7\\uA2A8\\uA2A9\\uA2AA\\uA2AB\\uA2AC\\uA2AD\\uA2AE\\uA2AF\\uA2B0\\uA2B1\\uA2B2\\uA2B3\\uA2B4\\uA2B5\\uA2B6\\uA2B7\\uA2B8\\uA2B9\\uA2BA\\uA2BB\\uA2BC\\uA2BD\\uA2BE\\uA2BF\\uA2C0\\uA2C1\\uA2C2\\uA2C3\\uA2C4\\uA2C5\\uA2C6\\uA2C7\\uA2C8\\uA2C9\\uA2CA\\uA2CB\\uA2CC\\uA2CD\\uA2CE\\uA2CF\\uA2D0\\uA2D1\\uA2D2\\uA2D3\\uA2D4\\uA2D5\\uA2D6\\uA2D7\\uA2D8\\uA2D9\\uA2DA\\uA2DB\\uA2DC\\uA2DD\\uA2DE\\uA2DF\\uA2E0\\uA2E1\\uA2E2\\uA2E3\\uA2E4\\uA2E5\\uA2E6\\uA2E7\\uA2E8\\uA2E9\\uA2EA\\uA2EB\\uA2EC\\uA2ED\\uA2EE\\uA2EF\\uA2F0\\uA2F1\\uA2F2\\uA2F3\\uA2F4\\uA2F5\\uA2F6\\uA2F7\\uA2F8\\uA2F9\\uA2FA\\uA2FB\\uA2FC\\uA2FD\\uA2FE\\uA2FF\\uA300\\uA301\\uA302\\uA303\\uA304\\uA305\\uA306\\uA307\\uA308\\uA309\\uA30A\\uA30B\\uA30C\\uA30D\\uA30E\\uA30F\\uA310\\uA311\\uA312\\uA313\\uA314\\uA315\\uA316\\uA317\\uA318\\uA319\\uA31A\\uA31B\\uA31C\\uA31D\\uA31E\\uA31F\\uA320\\uA321\\uA322\\uA323\\uA324\\uA325\\uA326\\uA327\\uA328\\uA329\\uA32A\\uA32B\\uA32C\\uA32D\\uA32E\\uA32F\\uA330\\uA331\\uA332\\uA333\\uA334\\uA335\\uA336\\uA337\\uA338\\uA339\\uA33A\\uA33B\\uA33C\\uA33D\\uA33E\\uA33F\\uA340\\uA341\\uA342\\uA343\\uA344\\uA345\\uA346\\uA347\\uA348\\uA349\\uA34A\\uA34B\\uA34C\\uA34D\\uA34E\\uA34F\\uA350\\uA351\\uA352\\uA353\\uA354\\uA355\\uA356\\uA357\\uA358\\uA359\\uA35A\\uA35B\\uA35C\\uA35D\\uA35E\\uA35F\\uA360\\uA361\\uA362\\uA363\\uA364\\uA365\\uA366\\uA367\\uA368\\uA369\\uA36A\\uA36B\\uA36C\\uA36D\\uA36E\\uA36F\\uA370\\uA371\\uA372\\uA373\\uA374\\uA375\\uA376\\uA377\\uA378\\uA379\\uA37A\\uA37B\\uA37C\\uA37D\\uA37E\\uA37F\\uA380\\uA381\\uA382\\uA383\\uA384\\uA385\\uA386\\uA387\\uA388\\uA389\\uA38A\\uA38B\\uA38C\\uA38D\\uA38E\\uA38F\\uA390\\uA391\\uA392\\uA393\\uA394\\uA395\\uA396\\uA397\\uA398\\uA399\\uA39A\\uA39B\\uA39C\\uA39D\\uA39E\\uA39F\\uA3A0\\uA3A1\\uA3A2\\uA3A3\\uA3A4\\uA3A5\\uA3A6\\uA3A7\\uA3A8\\uA3A9\\uA3AA\\uA3AB\\uA3AC\\uA3AD\\uA3AE\\uA3AF\\uA3B0\\uA3B1\\uA3B2\\uA3B3\\uA3B4\\uA3B5\\uA3B6\\uA3B7\\uA3B8\\uA3B9\\uA3BA\\uA3BB\\uA3BC\\uA3BD\\uA3BE\\uA3BF\\uA3C0\\uA3C1\\uA3C2\\uA3C3\\uA3C4\\uA3C5\\uA3C6\\uA3C7\\uA3C8\\uA3C9\\uA3CA\\uA3CB\\uA3CC\\uA3CD\\uA3CE\\uA3CF\\uA3D0\\uA3D1\\uA3D2\\uA3D3\\uA3D4\\uA3D5\\uA3D6\\uA3D7\\uA3D8\\uA3D9\\uA3DA\\uA3DB\\uA3DC\\uA3DD\\uA3DE\\uA3DF\\uA3E0\\uA3E1\\uA3E2\\uA3E3\\uA3E4\\uA3E5\\uA3E6\\uA3E7\\uA3E8\\uA3E9\\uA3EA\\uA3EB\\uA3EC\\uA3ED\\uA3EE\\uA3EF\\uA3F0\\uA3F1\\uA3F2\\uA3F3\\uA3F4\\uA3F5\\uA3F6\\uA3F7\\uA3F8\\uA3F9\\uA3FA\\uA3FB\\uA3FC\\uA3FD\\uA3FE\\uA3FF\\uA400\\uA401\\uA402\\uA403\\uA404\\uA405\\uA406\\uA407\\uA408\\uA409\\uA40A\\uA40B\\uA40C\\uA40D\\uA40E\\uA40F\\uA410\\uA411\\uA412\\uA413\\uA414\\uA415\\uA416\\uA417\\uA418\\uA419\\uA41A\\uA41B\\uA41C\\uA41D\\uA41E\\uA41F\\uA420\\uA421\\uA422\\uA423\\uA424\\uA425\\uA426\\uA427\\uA428\\uA429\\uA42A\\uA42B\\uA42C\\uA42D\\uA42E\\uA42F\\uA430\\uA431\\uA432\\uA433\\uA434\\uA435\\uA436\\uA437\\uA438\\uA439\\uA43A\\uA43B\\uA43C\\uA43D\\uA43E\\uA43F\\uA440\\uA441\\uA442\\uA443\\uA444\\uA445\\uA446\\uA447\\uA448\\uA449\\uA44A\\uA44B\\uA44C\\uA44D\\uA44E\\uA44F\\uA450\\uA451\\uA452\\uA453\\uA454\\uA455\\uA456\\uA457\\uA458\\uA459\\uA45A\\uA45B\\uA45C\\uA45D\\uA45E\\uA45F\\uA460\\uA461\\uA462\\uA463\\uA464\\uA465\\uA466\\uA467\\uA468\\uA469\\uA46A\\uA46B\\uA46C\\uA46D\\uA46E\\uA46F\\uA470\\uA471\\uA472\\uA473\\uA474\\uA475\\uA476\\uA477\\uA478\\uA479\\uA47A\\uA47B\\uA47C\\uA47D\\uA47E\\uA47F\\uA480\\uA481\\uA482\\uA483\\uA484\\uA485\\uA486\\uA487\\uA488\\uA489\\uA48A\\uA48B\\uA48C\\uA500\\uA501\\uA502\\uA503\\uA504\\uA505\\uA506\\uA507\\uA508\\uA509\\uA50A\\uA50B\\uA50C\\uA50D\\uA50E\\uA50F\\uA510\\uA511\\uA512\\uA513\\uA514\\uA515\\uA516\\uA517\\uA518\\uA519\\uA51A\\uA51B\\uA51C\\uA51D\\uA51E\\uA51F\\uA520\\uA521\\uA522\\uA523\\uA524\\uA525\\uA526\\uA527\\uA528\\uA529\\uA52A\\uA52B\\uA52C\\uA52D\\uA52E\\uA52F\\uA530\\uA531\\uA532\\uA533\\uA534\\uA535\\uA536\\uA537\\uA538\\uA539\\uA53A\\uA53B\\uA53C\\uA53D\\uA53E\\uA53F\\uA540\\uA541\\uA542\\uA543\\uA544\\uA545\\uA546\\uA547\\uA548\\uA549\\uA54A\\uA54B\\uA54C\\uA54D\\uA54E\\uA54F\\uA550\\uA551\\uA552\\uA553\\uA554\\uA555\\uA556\\uA557\\uA558\\uA559\\uA55A\\uA55B\\uA55C\\uA55D\\uA55E\\uA55F\\uA560\\uA561\\uA562\\uA563\\uA564\\uA565\\uA566\\uA567\\uA568\\uA569\\uA56A\\uA56B\\uA56C\\uA56D\\uA56E\\uA56F\\uA570\\uA571\\uA572\\uA573\\uA574\\uA575\\uA576\\uA577\\uA578\\uA579\\uA57A\\uA57B\\uA57C\\uA57D\\uA57E\\uA57F\\uA580\\uA581\\uA582\\uA583\\uA584\\uA585\\uA586\\uA587\\uA588\\uA589\\uA58A\\uA58B\\uA58C\\uA58D\\uA58E\\uA58F\\uA590\\uA591\\uA592\\uA593\\uA594\\uA595\\uA596\\uA597\\uA598\\uA599\\uA59A\\uA59B\\uA59C\\uA59D\\uA59E\\uA59F\\uA5A0\\uA5A1\\uA5A2\\uA5A3\\uA5A4\\uA5A5\\uA5A6\\uA5A7\\uA5A8\\uA5A9\\uA5AA\\uA5AB\\uA5AC\\uA5AD\\uA5AE\\uA5AF\\uA5B0\\uA5B1\\uA5B2\\uA5B3\\uA5B4\\uA5B5\\uA5B6\\uA5B7\\uA5B8\\uA5B9\\uA5BA\\uA5BB\\uA5BC\\uA5BD\\uA5BE\\uA5BF\\uA5C0\\uA5C1\\uA5C2\\uA5C3\\uA5C4\\uA5C5\\uA5C6\\uA5C7\\uA5C8\\uA5C9\\uA5CA\\uA5CB\\uA5CC\\uA5CD\\uA5CE\\uA5CF\\uA5D0\\uA5D1\\uA5D2\\uA5D3\\uA5D4\\uA5D5\\uA5D6\\uA5D7\\uA5D8\\uA5D9\\uA5DA\\uA5DB\\uA5DC\\uA5DD\\uA5DE\\uA5DF\\uA5E0\\uA5E1\\uA5E2\\uA5E3\\uA5E4\\uA5E5\\uA5E6\\uA5E7\\uA5E8\\uA5E9\\uA5EA\\uA5EB\\uA5EC\\uA5ED\\uA5EE\\uA5EF\\uA5F0\\uA5F1\\uA5F2\\uA5F3\\uA5F4\\uA5F5\\uA5F6\\uA5F7\\uA5F8\\uA5F9\\uA5FA\\uA5FB\\uA5FC\\uA5FD\\uA5FE\\uA5FF\\uA600\\uA601\\uA602\\uA603\\uA604\\uA605\\uA606\\uA607\\uA608\\uA609\\uA60A\\uA60B\\uA610\\uA611\\uA612\\uA613\\uA614\\uA615\\uA616\\uA617\\uA618\\uA619\\uA61A\\uA61B\\uA61C\\uA61D\\uA61E\\uA61F\\uA62A\\uA62B\\uA66E\\uA7FB\\uA7FC\\uA7FD\\uA7FE\\uA7FF\\uA800\\uA801\\uA803\\uA804\\uA805\\uA807\\uA808\\uA809\\uA80A\\uA80C\\uA80D\\uA80E\\uA80F\\uA810\\uA811\\uA812\\uA813\\uA814\\uA815\\uA816\\uA817\\uA818\\uA819\\uA81A\\uA81B\\uA81C\\uA81D\\uA81E\\uA81F\\uA820\\uA821\\uA822\\uA840\\uA841\\uA842\\uA843\\uA844\\uA845\\uA846\\uA847\\uA848\\uA849\\uA84A\\uA84B\\uA84C\\uA84D\\uA84E\\uA84F\\uA850\\uA851\\uA852\\uA853\\uA854\\uA855\\uA856\\uA857\\uA858\\uA859\\uA85A\\uA85B\\uA85C\\uA85D\\uA85E\\uA85F\\uA860\\uA861\\uA862\\uA863\\uA864\\uA865\\uA866\\uA867\\uA868\\uA869\\uA86A\\uA86B\\uA86C\\uA86D\\uA86E\\uA86F\\uA870\\uA871\\uA872\\uA873\\uA882\\uA883\\uA884\\uA885\\uA886\\uA887\\uA888\\uA889\\uA88A\\uA88B\\uA88C\\uA88D\\uA88E\\uA88F\\uA890\\uA891\\uA892\\uA893\\uA894\\uA895\\uA896\\uA897\\uA898\\uA899\\uA89A\\uA89B\\uA89C\\uA89D\\uA89E\\uA89F\\uA8A0\\uA8A1\\uA8A2\\uA8A3\\uA8A4\\uA8A5\\uA8A6\\uA8A7\\uA8A8\\uA8A9\\uA8AA\\uA8AB\\uA8AC\\uA8AD\\uA8AE\\uA8AF\\uA8B0\\uA8B1\\uA8B2\\uA8B3\\uA90A\\uA90B\\uA90C\\uA90D\\uA90E\\uA90F\\uA910\\uA911\\uA912\\uA913\\uA914\\uA915\\uA916\\uA917\\uA918\\uA919\\uA91A\\uA91B\\uA91C\\uA91D\\uA91E\\uA91F\\uA920\\uA921\\uA922\\uA923\\uA924\\uA925\\uA930\\uA931\\uA932\\uA933\\uA934\\uA935\\uA936\\uA937\\uA938\\uA939\\uA93A\\uA93B\\uA93C\\uA93D\\uA93E\\uA93F\\uA940\\uA941\\uA942\\uA943\\uA944\\uA945\\uA946\\uAA00\\uAA01\\uAA02\\uAA03\\uAA04\\uAA05\\uAA06\\uAA07\\uAA08\\uAA09\\uAA0A\\uAA0B\\uAA0C\\uAA0D\\uAA0E\\uAA0F\\uAA10\\uAA11\\uAA12\\uAA13\\uAA14\\uAA15\\uAA16\\uAA17\\uAA18\\uAA19\\uAA1A\\uAA1B\\uAA1C\\uAA1D\\uAA1E\\uAA1F\\uAA20\\uAA21\\uAA22\\uAA23\\uAA24\\uAA25\\uAA26\\uAA27\\uAA28\\uAA40\\uAA41\\uAA42\\uAA44\\uAA45\\uAA46\\uAA47\\uAA48\\uAA49\\uAA4A\\uAA4B\\uAC00\\uD7A3\\uF900\\uF901\\uF902\\uF903\\uF904\\uF905\\uF906\\uF907\\uF908\\uF909\\uF90A\\uF90B\\uF90C\\uF90D\\uF90E\\uF90F\\uF910\\uF911\\uF912\\uF913\\uF914\\uF915\\uF916\\uF917\\uF918\\uF919\\uF91A\\uF91B\\uF91C\\uF91D\\uF91E\\uF91F\\uF920\\uF921\\uF922\\uF923\\uF924\\uF925\\uF926\\uF927\\uF928\\uF929\\uF92A\\uF92B\\uF92C\\uF92D\\uF92E\\uF92F\\uF930\\uF931\\uF932\\uF933\\uF934\\uF935\\uF936\\uF937\\uF938\\uF939\\uF93A\\uF93B\\uF93C\\uF93D\\uF93E\\uF93F\\uF940\\uF941\\uF942\\uF943\\uF944\\uF945\\uF946\\uF947\\uF948\\uF949\\uF94A\\uF94B\\uF94C\\uF94D\\uF94E\\uF94F\\uF950\\uF951\\uF952\\uF953\\uF954\\uF955\\uF956\\uF957\\uF958\\uF959\\uF95A\\uF95B\\uF95C\\uF95D\\uF95E\\uF95F\\uF960\\uF961\\uF962\\uF963\\uF964\\uF965\\uF966\\uF967\\uF968\\uF969\\uF96A\\uF96B\\uF96C\\uF96D\\uF96E\\uF96F\\uF970\\uF971\\uF972\\uF973\\uF974\\uF975\\uF976\\uF977\\uF978\\uF979\\uF97A\\uF97B\\uF97C\\uF97D\\uF97E\\uF97F\\uF980\\uF981\\uF982\\uF983\\uF984\\uF985\\uF986\\uF987\\uF988\\uF989\\uF98A\\uF98B\\uF98C\\uF98D\\uF98E\\uF98F\\uF990\\uF991\\uF992\\uF993\\uF994\\uF995\\uF996\\uF997\\uF998\\uF999\\uF99A\\uF99B\\uF99C\\uF99D\\uF99E\\uF99F\\uF9A0\\uF9A1\\uF9A2\\uF9A3\\uF9A4\\uF9A5\\uF9A6\\uF9A7\\uF9A8\\uF9A9\\uF9AA\\uF9AB\\uF9AC\\uF9AD\\uF9AE\\uF9AF\\uF9B0\\uF9B1\\uF9B2\\uF9B3\\uF9B4\\uF9B5\\uF9B6\\uF9B7\\uF9B8\\uF9B9\\uF9BA\\uF9BB\\uF9BC\\uF9BD\\uF9BE\\uF9BF\\uF9C0\\uF9C1\\uF9C2\\uF9C3\\uF9C4\\uF9C5\\uF9C6\\uF9C7\\uF9C8\\uF9C9\\uF9CA\\uF9CB\\uF9CC\\uF9CD\\uF9CE\\uF9CF\\uF9D0\\uF9D1\\uF9D2\\uF9D3\\uF9D4\\uF9D5\\uF9D6\\uF9D7\\uF9D8\\uF9D9\\uF9DA\\uF9DB\\uF9DC\\uF9DD\\uF9DE\\uF9DF\\uF9E0\\uF9E1\\uF9E2\\uF9E3\\uF9E4\\uF9E5\\uF9E6\\uF9E7\\uF9E8\\uF9E9\\uF9EA\\uF9EB\\uF9EC\\uF9ED\\uF9EE\\uF9EF\\uF9F0\\uF9F1\\uF9F2\\uF9F3\\uF9F4\\uF9F5\\uF9F6\\uF9F7\\uF9F8\\uF9F9\\uF9FA\\uF9FB\\uF9FC\\uF9FD\\uF9FE\\uF9FF\\uFA00\\uFA01\\uFA02\\uFA03\\uFA04\\uFA05\\uFA06\\uFA07\\uFA08\\uFA09\\uFA0A\\uFA0B\\uFA0C\\uFA0D\\uFA0E\\uFA0F\\uFA10\\uFA11\\uFA12\\uFA13\\uFA14\\uFA15\\uFA16\\uFA17\\uFA18\\uFA19\\uFA1A\\uFA1B\\uFA1C\\uFA1D\\uFA1E\\uFA1F\\uFA20\\uFA21\\uFA22\\uFA23\\uFA24\\uFA25\\uFA26\\uFA27\\uFA28\\uFA29\\uFA2A\\uFA2B\\uFA2C\\uFA2D\\uFA30\\uFA31\\uFA32\\uFA33\\uFA34\\uFA35\\uFA36\\uFA37\\uFA38\\uFA39\\uFA3A\\uFA3B\\uFA3C\\uFA3D\\uFA3E\\uFA3F\\uFA40\\uFA41\\uFA42\\uFA43\\uFA44\\uFA45\\uFA46\\uFA47\\uFA48\\uFA49\\uFA4A\\uFA4B\\uFA4C\\uFA4D\\uFA4E\\uFA4F\\uFA50\\uFA51\\uFA52\\uFA53\\uFA54\\uFA55\\uFA56\\uFA57\\uFA58\\uFA59\\uFA5A\\uFA5B\\uFA5C\\uFA5D\\uFA5E\\uFA5F\\uFA60\\uFA61\\uFA62\\uFA63\\uFA64\\uFA65\\uFA66\\uFA67\\uFA68\\uFA69\\uFA6A\\uFA70\\uFA71\\uFA72\\uFA73\\uFA74\\uFA75\\uFA76\\uFA77\\uFA78\\uFA79\\uFA7A\\uFA7B\\uFA7C\\uFA7D\\uFA7E\\uFA7F\\uFA80\\uFA81\\uFA82\\uFA83\\uFA84\\uFA85\\uFA86\\uFA87\\uFA88\\uFA89\\uFA8A\\uFA8B\\uFA8C\\uFA8D\\uFA8E\\uFA8F\\uFA90\\uFA91\\uFA92\\uFA93\\uFA94\\uFA95\\uFA96\\uFA97\\uFA98\\uFA99\\uFA9A\\uFA9B\\uFA9C\\uFA9D\\uFA9E\\uFA9F\\uFAA0\\uFAA1\\uFAA2\\uFAA3\\uFAA4\\uFAA5\\uFAA6\\uFAA7\\uFAA8\\uFAA9\\uFAAA\\uFAAB\\uFAAC\\uFAAD\\uFAAE\\uFAAF\\uFAB0\\uFAB1\\uFAB2\\uFAB3\\uFAB4\\uFAB5\\uFAB6\\uFAB7\\uFAB8\\uFAB9\\uFABA\\uFABB\\uFABC\\uFABD\\uFABE\\uFABF\\uFAC0\\uFAC1\\uFAC2\\uFAC3\\uFAC4\\uFAC5\\uFAC6\\uFAC7\\uFAC8\\uFAC9\\uFACA\\uFACB\\uFACC\\uFACD\\uFACE\\uFACF\\uFAD0\\uFAD1\\uFAD2\\uFAD3\\uFAD4\\uFAD5\\uFAD6\\uFAD7\\uFAD8\\uFAD9\\uFB1D\\uFB1F\\uFB20\\uFB21\\uFB22\\uFB23\\uFB24\\uFB25\\uFB26\\uFB27\\uFB28\\uFB2A\\uFB2B\\uFB2C\\uFB2D\\uFB2E\\uFB2F\\uFB30\\uFB31\\uFB32\\uFB33\\uFB34\\uFB35\\uFB36\\uFB38\\uFB39\\uFB3A\\uFB3B\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46\\uFB47\\uFB48\\uFB49\\uFB4A\\uFB4B\\uFB4C\\uFB4D\\uFB4E\\uFB4F\\uFB50\\uFB51\\uFB52\\uFB53\\uFB54\\uFB55\\uFB56\\uFB57\\uFB58\\uFB59\\uFB5A\\uFB5B\\uFB5C\\uFB5D\\uFB5E\\uFB5F\\uFB60\\uFB61\\uFB62\\uFB63\\uFB64\\uFB65\\uFB66\\uFB67\\uFB68\\uFB69\\uFB6A\\uFB6B\\uFB6C\\uFB6D\\uFB6E\\uFB6F\\uFB70\\uFB71\\uFB72\\uFB73\\uFB74\\uFB75\\uFB76\\uFB77\\uFB78\\uFB79\\uFB7A\\uFB7B\\uFB7C\\uFB7D\\uFB7E\\uFB7F\\uFB80\\uFB81\\uFB82\\uFB83\\uFB84\\uFB85\\uFB86\\uFB87\\uFB88\\uFB89\\uFB8A\\uFB8B\\uFB8C\\uFB8D\\uFB8E\\uFB8F\\uFB90\\uFB91\\uFB92\\uFB93\\uFB94\\uFB95\\uFB96\\uFB97\\uFB98\\uFB99\\uFB9A\\uFB9B\\uFB9C\\uFB9D\\uFB9E\\uFB9F\\uFBA0\\uFBA1\\uFBA2\\uFBA3\\uFBA4\\uFBA5\\uFBA6\\uFBA7\\uFBA8\\uFBA9\\uFBAA\\uFBAB\\uFBAC\\uFBAD\\uFBAE\\uFBAF\\uFBB0\\uFBB1\\uFBD3\\uFBD4\\uFBD5\\uFBD6\\uFBD7\\uFBD8\\uFBD9\\uFBDA\\uFBDB\\uFBDC\\uFBDD\\uFBDE\\uFBDF\\uFBE0\\uFBE1\\uFBE2\\uFBE3\\uFBE4\\uFBE5\\uFBE6\\uFBE7\\uFBE8\\uFBE9\\uFBEA\\uFBEB\\uFBEC\\uFBED\\uFBEE\\uFBEF\\uFBF0\\uFBF1\\uFBF2\\uFBF3\\uFBF4\\uFBF5\\uFBF6\\uFBF7\\uFBF8\\uFBF9\\uFBFA\\uFBFB\\uFBFC\\uFBFD\\uFBFE\\uFBFF\\uFC00\\uFC01\\uFC02\\uFC03\\uFC04\\uFC05\\uFC06\\uFC07\\uFC08\\uFC09\\uFC0A\\uFC0B\\uFC0C\\uFC0D\\uFC0E\\uFC0F\\uFC10\\uFC11\\uFC12\\uFC13\\uFC14\\uFC15\\uFC16\\uFC17\\uFC18\\uFC19\\uFC1A\\uFC1B\\uFC1C\\uFC1D\\uFC1E\\uFC1F\\uFC20\\uFC21\\uFC22\\uFC23\\uFC24\\uFC25\\uFC26\\uFC27\\uFC28\\uFC29\\uFC2A\\uFC2B\\uFC2C\\uFC2D\\uFC2E\\uFC2F\\uFC30\\uFC31\\uFC32\\uFC33\\uFC34\\uFC35\\uFC36\\uFC37\\uFC38\\uFC39\\uFC3A\\uFC3B\\uFC3C\\uFC3D\\uFC3E\\uFC3F\\uFC40\\uFC41\\uFC42\\uFC43\\uFC44\\uFC45\\uFC46\\uFC47\\uFC48\\uFC49\\uFC4A\\uFC4B\\uFC4C\\uFC4D\\uFC4E\\uFC4F\\uFC50\\uFC51\\uFC52\\uFC53\\uFC54\\uFC55\\uFC56\\uFC57\\uFC58\\uFC59\\uFC5A\\uFC5B\\uFC5C\\uFC5D\\uFC5E\\uFC5F\\uFC60\\uFC61\\uFC62\\uFC63\\uFC64\\uFC65\\uFC66\\uFC67\\uFC68\\uFC69\\uFC6A\\uFC6B\\uFC6C\\uFC6D\\uFC6E\\uFC6F\\uFC70\\uFC71\\uFC72\\uFC73\\uFC74\\uFC75\\uFC76\\uFC77\\uFC78\\uFC79\\uFC7A\\uFC7B\\uFC7C\\uFC7D\\uFC7E\\uFC7F\\uFC80\\uFC81\\uFC82\\uFC83\\uFC84\\uFC85\\uFC86\\uFC87\\uFC88\\uFC89\\uFC8A\\uFC8B\\uFC8C\\uFC8D\\uFC8E\\uFC8F\\uFC90\\uFC91\\uFC92\\uFC93\\uFC94\\uFC95\\uFC96\\uFC97\\uFC98\\uFC99\\uFC9A\\uFC9B\\uFC9C\\uFC9D\\uFC9E\\uFC9F\\uFCA0\\uFCA1\\uFCA2\\uFCA3\\uFCA4\\uFCA5\\uFCA6\\uFCA7\\uFCA8\\uFCA9\\uFCAA\\uFCAB\\uFCAC\\uFCAD\\uFCAE\\uFCAF\\uFCB0\\uFCB1\\uFCB2\\uFCB3\\uFCB4\\uFCB5\\uFCB6\\uFCB7\\uFCB8\\uFCB9\\uFCBA\\uFCBB\\uFCBC\\uFCBD\\uFCBE\\uFCBF\\uFCC0\\uFCC1\\uFCC2\\uFCC3\\uFCC4\\uFCC5\\uFCC6\\uFCC7\\uFCC8\\uFCC9\\uFCCA\\uFCCB\\uFCCC\\uFCCD\\uFCCE\\uFCCF\\uFCD0\\uFCD1\\uFCD2\\uFCD3\\uFCD4\\uFCD5\\uFCD6\\uFCD7\\uFCD8\\uFCD9\\uFCDA\\uFCDB\\uFCDC\\uFCDD\\uFCDE\\uFCDF\\uFCE0\\uFCE1\\uFCE2\\uFCE3\\uFCE4\\uFCE5\\uFCE6\\uFCE7\\uFCE8\\uFCE9\\uFCEA\\uFCEB\\uFCEC\\uFCED\\uFCEE\\uFCEF\\uFCF0\\uFCF1\\uFCF2\\uFCF3\\uFCF4\\uFCF5\\uFCF6\\uFCF7\\uFCF8\\uFCF9\\uFCFA\\uFCFB\\uFCFC\\uFCFD\\uFCFE\\uFCFF\\uFD00\\uFD01\\uFD02\\uFD03\\uFD04\\uFD05\\uFD06\\uFD07\\uFD08\\uFD09\\uFD0A\\uFD0B\\uFD0C\\uFD0D\\uFD0E\\uFD0F\\uFD10\\uFD11\\uFD12\\uFD13\\uFD14\\uFD15\\uFD16\\uFD17\\uFD18\\uFD19\\uFD1A\\uFD1B\\uFD1C\\uFD1D\\uFD1E\\uFD1F\\uFD20\\uFD21\\uFD22\\uFD23\\uFD24\\uFD25\\uFD26\\uFD27\\uFD28\\uFD29\\uFD2A\\uFD2B\\uFD2C\\uFD2D\\uFD2E\\uFD2F\\uFD30\\uFD31\\uFD32\\uFD33\\uFD34\\uFD35\\uFD36\\uFD37\\uFD38\\uFD39\\uFD3A\\uFD3B\\uFD3C\\uFD3D\\uFD50\\uFD51\\uFD52\\uFD53\\uFD54\\uFD55\\uFD56\\uFD57\\uFD58\\uFD59\\uFD5A\\uFD5B\\uFD5C\\uFD5D\\uFD5E\\uFD5F\\uFD60\\uFD61\\uFD62\\uFD63\\uFD64\\uFD65\\uFD66\\uFD67\\uFD68\\uFD69\\uFD6A\\uFD6B\\uFD6C\\uFD6D\\uFD6E\\uFD6F\\uFD70\\uFD71\\uFD72\\uFD73\\uFD74\\uFD75\\uFD76\\uFD77\\uFD78\\uFD79\\uFD7A\\uFD7B\\uFD7C\\uFD7D\\uFD7E\\uFD7F\\uFD80\\uFD81\\uFD82\\uFD83\\uFD84\\uFD85\\uFD86\\uFD87\\uFD88\\uFD89\\uFD8A\\uFD8B\\uFD8C\\uFD8D\\uFD8E\\uFD8F\\uFD92\\uFD93\\uFD94\\uFD95\\uFD96\\uFD97\\uFD98\\uFD99\\uFD9A\\uFD9B\\uFD9C\\uFD9D\\uFD9E\\uFD9F\\uFDA0\\uFDA1\\uFDA2\\uFDA3\\uFDA4\\uFDA5\\uFDA6\\uFDA7\\uFDA8\\uFDA9\\uFDAA\\uFDAB\\uFDAC\\uFDAD\\uFDAE\\uFDAF\\uFDB0\\uFDB1\\uFDB2\\uFDB3\\uFDB4\\uFDB5\\uFDB6\\uFDB7\\uFDB8\\uFDB9\\uFDBA\\uFDBB\\uFDBC\\uFDBD\\uFDBE\\uFDBF\\uFDC0\\uFDC1\\uFDC2\\uFDC3\\uFDC4\\uFDC5\\uFDC6\\uFDC7\\uFDF0\\uFDF1\\uFDF2\\uFDF3\\uFDF4\\uFDF5\\uFDF6\\uFDF7\\uFDF8\\uFDF9\\uFDFA\\uFDFB\\uFE70\\uFE71\\uFE72\\uFE73\\uFE74\\uFE76\\uFE77\\uFE78\\uFE79\\uFE7A\\uFE7B\\uFE7C\\uFE7D\\uFE7E\\uFE7F\\uFE80\\uFE81\\uFE82\\uFE83\\uFE84\\uFE85\\uFE86\\uFE87\\uFE88\\uFE89\\uFE8A\\uFE8B\\uFE8C\\uFE8D\\uFE8E\\uFE8F\\uFE90\\uFE91\\uFE92\\uFE93\\uFE94\\uFE95\\uFE96\\uFE97\\uFE98\\uFE99\\uFE9A\\uFE9B\\uFE9C\\uFE9D\\uFE9E\\uFE9F\\uFEA0\\uFEA1\\uFEA2\\uFEA3\\uFEA4\\uFEA5\\uFEA6\\uFEA7\\uFEA8\\uFEA9\\uFEAA\\uFEAB\\uFEAC\\uFEAD\\uFEAE\\uFEAF\\uFEB0\\uFEB1\\uFEB2\\uFEB3\\uFEB4\\uFEB5\\uFEB6\\uFEB7\\uFEB8\\uFEB9\\uFEBA\\uFEBB\\uFEBC\\uFEBD\\uFEBE\\uFEBF\\uFEC0\\uFEC1\\uFEC2\\uFEC3\\uFEC4\\uFEC5\\uFEC6\\uFEC7\\uFEC8\\uFEC9\\uFECA\\uFECB\\uFECC\\uFECD\\uFECE\\uFECF\\uFED0\\uFED1\\uFED2\\uFED3\\uFED4\\uFED5\\uFED6\\uFED7\\uFED8\\uFED9\\uFEDA\\uFEDB\\uFEDC\\uFEDD\\uFEDE\\uFEDF\\uFEE0\\uFEE1\\uFEE2\\uFEE3\\uFEE4\\uFEE5\\uFEE6\\uFEE7\\uFEE8\\uFEE9\\uFEEA\\uFEEB\\uFEEC\\uFEED\\uFEEE\\uFEEF\\uFEF0\\uFEF1\\uFEF2\\uFEF3\\uFEF4\\uFEF5\\uFEF6\\uFEF7\\uFEF8\\uFEF9\\uFEFA\\uFEFB\\uFEFC\\uFF66\\uFF67\\uFF68\\uFF69\\uFF6A\\uFF6B\\uFF6C\\uFF6D\\uFF6E\\uFF6F\\uFF71\\uFF72\\uFF73\\uFF74\\uFF75\\uFF76\\uFF77\\uFF78\\uFF79\\uFF7A\\uFF7B\\uFF7C\\uFF7D\\uFF7E\\uFF7F\\uFF80\\uFF81\\uFF82\\uFF83\\uFF84\\uFF85\\uFF86\\uFF87\\uFF88\\uFF89\\uFF8A\\uFF8B\\uFF8C\\uFF8D\\uFF8E\\uFF8F\\uFF90\\uFF91\\uFF92\\uFF93\\uFF94\\uFF95\\uFF96\\uFF97\\uFF98\\uFF99\\uFF9A\\uFF9B\\uFF9C\\uFF9D\\uFFA0\\uFFA1\\uFFA2\\uFFA3\\uFFA4\\uFFA5\\uFFA6\\uFFA7\\uFFA8\\uFFA9\\uFFAA\\uFFAB\\uFFAC\\uFFAD\\uFFAE\\uFFAF\\uFFB0\\uFFB1\\uFFB2\\uFFB3\\uFFB4\\uFFB5\\uFFB6\\uFFB7\\uFFB8\\uFFB9\\uFFBA\\uFFBB\\uFFBC\\uFFBD\\uFFBE\\uFFC2\\uFFC3\\uFFC4\\uFFC5\\uFFC6\\uFFC7\\uFFCA\\uFFCB\\uFFCC\\uFFCD\\uFFCE\\uFFCF\\uFFD2\\uFFD3\\uFFD4\\uFFD5\\uFFD6\\uFFD7\\uFFDA\\uFFDB\\uFFDC]");
5639 }
5640 }
5641
5642
5643
5644 cache[cacheKey] = {
5645 nextPos: pos,
5646 result: result0
5647 };
5648 return result0;
5649 }
5650
5651 function parse_Lt() {
5652 var cacheKey = 'Lt@' + pos;
5653 var cachedResult = cache[cacheKey];
5654 if (cachedResult) {
5655 pos = cachedResult.nextPos;
5656 return cachedResult.result;
5657 }
5658
5659
5660 if (input.substr(pos).match(/^[\u01C5\u01C8\u01CB\u01F2\u1F88\u1F89\u1F8A\u1F8B\u1F8C\u1F8D\u1F8E\u1F8F\u1F98\u1F99\u1F9A\u1F9B\u1F9C\u1F9D\u1F9E\u1F9F\u1FA8\u1FA9\u1FAA\u1FAB\u1FAC\u1FAD\u1FAE\u1FAF\u1FBC\u1FCC\u1FFC]/) !== null) {
5661 var result0 = input.charAt(pos);
5662 pos++;
5663 } else {
5664 var result0 = null;
5665 if (reportMatchFailures) {
5666 matchFailed("[\\u01C5\\u01C8\\u01CB\\u01F2\\u1F88\\u1F89\\u1F8A\\u1F8B\\u1F8C\\u1F8D\\u1F8E\\u1F8F\\u1F98\\u1F99\\u1F9A\\u1F9B\\u1F9C\\u1F9D\\u1F9E\\u1F9F\\u1FA8\\u1FA9\\u1FAA\\u1FAB\\u1FAC\\u1FAD\\u1FAE\\u1FAF\\u1FBC\\u1FCC\\u1FFC]");
5667 }
5668 }
5669
5670
5671
5672 cache[cacheKey] = {
5673 nextPos: pos,
5674 result: result0
5675 };
5676 return result0;
5677 }
5678
5679 function parse_Lu() {
5680 var cacheKey = 'Lu@' + pos;
5681 var cachedResult = cache[cacheKey];
5682 if (cachedResult) {
5683 pos = cachedResult.nextPos;
5684 return cachedResult.result;
5685 }
5686
5687
5688 if (input.substr(pos).match(/^[ABCDEFGHIJKLMNOPQRSTUVWXYZ\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD8\xD9\xDA\xDB\xDC\xDD\xDE\u0100\u0102\u0104\u0106\u0108\u010A\u010C\u010E\u0110\u0112\u0114\u0116\u0118\u011A\u011C\u011E\u0120\u0122\u0124\u0126\u0128\u012A\u012C\u012E\u0130\u0132\u0134\u0136\u0139\u013B\u013D\u013F\u0141\u0143\u0145\u0147\u014A\u014C\u014E\u0150\u0152\u0154\u0156\u0158\u015A\u015C\u015E\u0160\u0162\u0164\u0166\u0168\u016A\u016C\u016E\u0170\u0172\u0174\u0176\u0178\u0179\u017B\u017D\u0181\u0182\u0184\u0186\u0187\u0189\u018A\u018B\u018E\u018F\u0190\u0191\u0193\u0194\u0196\u0197\u0198\u019C\u019D\u019F\u01A0\u01A2\u01A4\u01A6\u01A7\u01A9\u01AC\u01AE\u01AF\u01B1\u01B2\u01B3\u01B5\u01B7\u01B8\u01BC\u01C4\u01C7\u01CA\u01CD\u01CF\u01D1\u01D3\u01D5\u01D7\u01D9\u01DB\u01DE\u01E0\u01E2\u01E4\u01E6\u01E8\u01EA\u01EC\u01EE\u01F1\u01F4\u01F6\u01F7\u01F8\u01FA\u01FC\u01FE\u0200\u0202\u0204\u0206\u0208\u020A\u020C\u020E\u0210\u0212\u0214\u0216\u0218\u021A\u021C\u021E\u0220\u0222\u0224\u0226\u0228\u022A\u022C\u022E\u0230\u0232\u023A\u023B\u023D\u023E\u0241\u0243\u0244\u0245\u0246\u0248\u024A\u024C\u024E\u0370\u0372\u0376\u0386\u0388\u0389\u038A\u038C\u038E\u038F\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039A\u039B\u039C\u039D\u039E\u039F\u03A0\u03A1\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03AA\u03AB\u03CF\u03D2\u03D3\u03D4\u03D8\u03DA\u03DC\u03DE\u03E0\u03E2\u03E4\u03E6\u03E8\u03EA\u03EC\u03EE\u03F4\u03F7\u03F9\u03FA\u03FD\u03FE\u03FF\u0400\u0401\u0402\u0403\u0404\u0405\u0406\u0407\u0408\u0409\u040A\u040B\u040C\u040D\u040E\u040F\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0460\u0462\u0464\u0466\u0468\u046A\u046C\u046E\u0470\u0472\u0474\u0476\u0478\u047A\u047C\u047E\u0480\u048A\u048C\u048E\u0490\u0492\u0494\u0496\u0498\u049A\u049C\u049E\u04A0\u04A2\u04A4\u04A6\u04A8\u04AA\u04AC\u04AE\u04B0\u04B2\u04B4\u04B6\u04B8\u04BA\u04BC\u04BE\u04C0\u04C1\u04C3\u04C5\u04C7\u04C9\u04CB\u04CD\u04D0\u04D2\u04D4\u04D6\u04D8\u04DA\u04DC\u04DE\u04E0\u04E2\u04E4\u04E6\u04E8\u04EA\u04EC\u04EE\u04F0\u04F2\u04F4\u04F6\u04F8\u04FA\u04FC\u04FE\u0500\u0502\u0504\u0506\u0508\u050A\u050C\u050E\u0510\u0512\u0514\u0516\u0518\u051A\u051C\u051E\u0520\u0522\u0531\u0532\u0533\u0534\u0535\u0536\u0537\u0538\u0539\u053A\u053B\u053C\u053D\u053E\u053F\u0540\u0541\u0542\u0543\u0544\u0545\u0546\u0547\u0548\u0549\u054A\u054B\u054C\u054D\u054E\u054F\u0550\u0551\u0552\u0553\u0554\u0555\u0556\u10A0\u10A1\u10A2\u10A3\u10A4\u10A5\u10A6\u10A7\u10A8\u10A9\u10AA\u10AB\u10AC\u10AD\u10AE\u10AF\u10B0\u10B1\u10B2\u10B3\u10B4\u10B5\u10B6\u10B7\u10B8\u10B9\u10BA\u10BB\u10BC\u10BD\u10BE\u10BF\u10C0\u10C1\u10C2\u10C3\u10C4\u10C5\u1E00\u1E02\u1E04\u1E06\u1E08\u1E0A\u1E0C\u1E0E\u1E10\u1E12\u1E14\u1E16\u1E18\u1E1A\u1E1C\u1E1E\u1E20\u1E22\u1E24\u1E26\u1E28\u1E2A\u1E2C\u1E2E\u1E30\u1E32\u1E34\u1E36\u1E38\u1E3A\u1E3C\u1E3E\u1E40\u1E42\u1E44\u1E46\u1E48\u1E4A\u1E4C\u1E4E\u1E50\u1E52\u1E54\u1E56\u1E58\u1E5A\u1E5C\u1E5E\u1E60\u1E62\u1E64\u1E66\u1E68\u1E6A\u1E6C\u1E6E\u1E70\u1E72\u1E74\u1E76\u1E78\u1E7A\u1E7C\u1E7E\u1E80\u1E82\u1E84\u1E86\u1E88\u1E8A\u1E8C\u1E8E\u1E90\u1E92\u1E94\u1E9E\u1EA0\u1EA2\u1EA4\u1EA6\u1EA8\u1EAA\u1EAC\u1EAE\u1EB0\u1EB2\u1EB4\u1EB6\u1EB8\u1EBA\u1EBC\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1EC8\u1ECA\u1ECC\u1ECE\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EDA\u1EDC\u1EDE\u1EE0\u1EE2\u1EE4\u1EE6\u1EE8\u1EEA\u1EEC\u1EEE\u1EF0\u1EF2\u1EF4\u1EF6\u1EF8\u1EFA\u1EFC\u1EFE\u1F08\u1F09\u1F0A\u1F0B\u1F0C\u1F0D\u1F0E\u1F0F\u1F18\u1F19\u1F1A\u1F1B\u1F1C\u1F1D\u1F28\u1F29\u1F2A\u1F2B\u1F2C\u1F2D\u1F2E\u1F2F\u1F38\u1F39\u1F3A\u1F3B\u1F3C\u1F3D\u1F3E\u1F3F\u1F48\u1F49\u1F4A\u1F4B\u1F4C\u1F4D\u1F59\u1F5B\u1F5D\u1F5F\u1F68\u1F69\u1F6A\u1F6B\u1F6C\u1F6D\u1F6E\u1F6F\u1FB8\u1FB9\u1FBA\u1FBB\u1FC8\u1FC9\u1FCA\u1FCB\u1FD8\u1FD9\u1FDA\u1FDB\u1FE8\u1FE9\u1FEA\u1FEB\u1FEC\u1FF8\u1FF9\u1FFA\u1FFB\u2102\u2107\u210B\u210C\u210D\u2110\u2111\u2112\u2115\u2119\u211A\u211B\u211C\u211D\u2124\u2126\u2128\u212A\u212B\u212C\u212D\u2130\u2131\u2132\u2133\u213E\u213F\u2145\u2183\u2C00\u2C01\u2C02\u2C03\u2C04\u2C05\u2C06\u2C07\u2C08\u2C09\u2C0A\u2C0B\u2C0C\u2C0D\u2C0E\u2C0F\u2C10\u2C11\u2C12\u2C13\u2C14\u2C15\u2C16\u2C17\u2C18\u2C19\u2C1A\u2C1B\u2C1C\u2C1D\u2C1E\u2C1F\u2C20\u2C21\u2C22\u2C23\u2C24\u2C25\u2C26\u2C27\u2C28\u2C29\u2C2A\u2C2B\u2C2C\u2C2D\u2C2E\u2C60\u2C62\u2C63\u2C64\u2C67\u2C69\u2C6B\u2C6D\u2C6E\u2C6F\u2C72\u2C75\u2C80\u2C82\u2C84\u2C86\u2C88\u2C8A\u2C8C\u2C8E\u2C90\u2C92\u2C94\u2C96\u2C98\u2C9A\u2C9C\u2C9E\u2CA0\u2CA2\u2CA4\u2CA6\u2CA8\u2CAA\u2CAC\u2CAE\u2CB0\u2CB2\u2CB4\u2CB6\u2CB8\u2CBA\u2CBC\u2CBE\u2CC0\u2CC2\u2CC4\u2CC6\u2CC8\u2CCA\u2CCC\u2CCE\u2CD0\u2CD2\u2CD4\u2CD6\u2CD8\u2CDA\u2CDC\u2CDE\u2CE0\u2CE2\uA640\uA642\uA644\uA646\uA648\uA64A\uA64C\uA64E\uA650\uA652\uA654\uA656\uA658\uA65A\uA65C\uA65E\uA662\uA664\uA666\uA668\uA66A\uA66C\uA680\uA682\uA684\uA686\uA688\uA68A\uA68C\uA68E\uA690\uA692\uA694\uA696\uA722\uA724\uA726\uA728\uA72A\uA72C\uA72E\uA732\uA734\uA736\uA738\uA73A\uA73C\uA73E\uA740\uA742\uA744\uA746\uA748\uA74A\uA74C\uA74E\uA750\uA752\uA754\uA756\uA758\uA75A\uA75C\uA75E\uA760\uA762\uA764\uA766\uA768\uA76A\uA76C\uA76E\uA779\uA77B\uA77D\uA77E\uA780\uA782\uA784\uA786\uA78B\uFF21\uFF22\uFF23\uFF24\uFF25\uFF26\uFF27\uFF28\uFF29\uFF2A\uFF2B\uFF2C\uFF2D\uFF2E\uFF2F\uFF30\uFF31\uFF32\uFF33\uFF34\uFF35\uFF36\uFF37\uFF38\uFF39\uFF3A]/) !== null) {
5689 var result0 = input.charAt(pos);
5690 pos++;
5691 } else {
5692 var result0 = null;
5693 if (reportMatchFailures) {
5694 matchFailed("[ABCDEFGHIJKLMNOPQRSTUVWXYZ\\xC0\\xC1\\xC2\\xC3\\xC4\\xC5\\xC6\\xC7\\xC8\\xC9\\xCA\\xCB\\xCC\\xCD\\xCE\\xCF\\xD0\\xD1\\xD2\\xD3\\xD4\\xD5\\xD6\\xD8\\xD9\\xDA\\xDB\\xDC\\xDD\\xDE\\u0100\\u0102\\u0104\\u0106\\u0108\\u010A\\u010C\\u010E\\u0110\\u0112\\u0114\\u0116\\u0118\\u011A\\u011C\\u011E\\u0120\\u0122\\u0124\\u0126\\u0128\\u012A\\u012C\\u012E\\u0130\\u0132\\u0134\\u0136\\u0139\\u013B\\u013D\\u013F\\u0141\\u0143\\u0145\\u0147\\u014A\\u014C\\u014E\\u0150\\u0152\\u0154\\u0156\\u0158\\u015A\\u015C\\u015E\\u0160\\u0162\\u0164\\u0166\\u0168\\u016A\\u016C\\u016E\\u0170\\u0172\\u0174\\u0176\\u0178\\u0179\\u017B\\u017D\\u0181\\u0182\\u0184\\u0186\\u0187\\u0189\\u018A\\u018B\\u018E\\u018F\\u0190\\u0191\\u0193\\u0194\\u0196\\u0197\\u0198\\u019C\\u019D\\u019F\\u01A0\\u01A2\\u01A4\\u01A6\\u01A7\\u01A9\\u01AC\\u01AE\\u01AF\\u01B1\\u01B2\\u01B3\\u01B5\\u01B7\\u01B8\\u01BC\\u01C4\\u01C7\\u01CA\\u01CD\\u01CF\\u01D1\\u01D3\\u01D5\\u01D7\\u01D9\\u01DB\\u01DE\\u01E0\\u01E2\\u01E4\\u01E6\\u01E8\\u01EA\\u01EC\\u01EE\\u01F1\\u01F4\\u01F6\\u01F7\\u01F8\\u01FA\\u01FC\\u01FE\\u0200\\u0202\\u0204\\u0206\\u0208\\u020A\\u020C\\u020E\\u0210\\u0212\\u0214\\u0216\\u0218\\u021A\\u021C\\u021E\\u0220\\u0222\\u0224\\u0226\\u0228\\u022A\\u022C\\u022E\\u0230\\u0232\\u023A\\u023B\\u023D\\u023E\\u0241\\u0243\\u0244\\u0245\\u0246\\u0248\\u024A\\u024C\\u024E\\u0370\\u0372\\u0376\\u0386\\u0388\\u0389\\u038A\\u038C\\u038E\\u038F\\u0391\\u0392\\u0393\\u0394\\u0395\\u0396\\u0397\\u0398\\u0399\\u039A\\u039B\\u039C\\u039D\\u039E\\u039F\\u03A0\\u03A1\\u03A3\\u03A4\\u03A5\\u03A6\\u03A7\\u03A8\\u03A9\\u03AA\\u03AB\\u03CF\\u03D2\\u03D3\\u03D4\\u03D8\\u03DA\\u03DC\\u03DE\\u03E0\\u03E2\\u03E4\\u03E6\\u03E8\\u03EA\\u03EC\\u03EE\\u03F4\\u03F7\\u03F9\\u03FA\\u03FD\\u03FE\\u03FF\\u0400\\u0401\\u0402\\u0403\\u0404\\u0405\\u0406\\u0407\\u0408\\u0409\\u040A\\u040B\\u040C\\u040D\\u040E\\u040F\\u0410\\u0411\\u0412\\u0413\\u0414\\u0415\\u0416\\u0417\\u0418\\u0419\\u041A\\u041B\\u041C\\u041D\\u041E\\u041F\\u0420\\u0421\\u0422\\u0423\\u0424\\u0425\\u0426\\u0427\\u0428\\u0429\\u042A\\u042B\\u042C\\u042D\\u042E\\u042F\\u0460\\u0462\\u0464\\u0466\\u0468\\u046A\\u046C\\u046E\\u0470\\u0472\\u0474\\u0476\\u0478\\u047A\\u047C\\u047E\\u0480\\u048A\\u048C\\u048E\\u0490\\u0492\\u0494\\u0496\\u0498\\u049A\\u049C\\u049E\\u04A0\\u04A2\\u04A4\\u04A6\\u04A8\\u04AA\\u04AC\\u04AE\\u04B0\\u04B2\\u04B4\\u04B6\\u04B8\\u04BA\\u04BC\\u04BE\\u04C0\\u04C1\\u04C3\\u04C5\\u04C7\\u04C9\\u04CB\\u04CD\\u04D0\\u04D2\\u04D4\\u04D6\\u04D8\\u04DA\\u04DC\\u04DE\\u04E0\\u04E2\\u04E4\\u04E6\\u04E8\\u04EA\\u04EC\\u04EE\\u04F0\\u04F2\\u04F4\\u04F6\\u04F8\\u04FA\\u04FC\\u04FE\\u0500\\u0502\\u0504\\u0506\\u0508\\u050A\\u050C\\u050E\\u0510\\u0512\\u0514\\u0516\\u0518\\u051A\\u051C\\u051E\\u0520\\u0522\\u0531\\u0532\\u0533\\u0534\\u0535\\u0536\\u0537\\u0538\\u0539\\u053A\\u053B\\u053C\\u053D\\u053E\\u053F\\u0540\\u0541\\u0542\\u0543\\u0544\\u0545\\u0546\\u0547\\u0548\\u0549\\u054A\\u054B\\u054C\\u054D\\u054E\\u054F\\u0550\\u0551\\u0552\\u0553\\u0554\\u0555\\u0556\\u10A0\\u10A1\\u10A2\\u10A3\\u10A4\\u10A5\\u10A6\\u10A7\\u10A8\\u10A9\\u10AA\\u10AB\\u10AC\\u10AD\\u10AE\\u10AF\\u10B0\\u10B1\\u10B2\\u10B3\\u10B4\\u10B5\\u10B6\\u10B7\\u10B8\\u10B9\\u10BA\\u10BB\\u10BC\\u10BD\\u10BE\\u10BF\\u10C0\\u10C1\\u10C2\\u10C3\\u10C4\\u10C5\\u1E00\\u1E02\\u1E04\\u1E06\\u1E08\\u1E0A\\u1E0C\\u1E0E\\u1E10\\u1E12\\u1E14\\u1E16\\u1E18\\u1E1A\\u1E1C\\u1E1E\\u1E20\\u1E22\\u1E24\\u1E26\\u1E28\\u1E2A\\u1E2C\\u1E2E\\u1E30\\u1E32\\u1E34\\u1E36\\u1E38\\u1E3A\\u1E3C\\u1E3E\\u1E40\\u1E42\\u1E44\\u1E46\\u1E48\\u1E4A\\u1E4C\\u1E4E\\u1E50\\u1E52\\u1E54\\u1E56\\u1E58\\u1E5A\\u1E5C\\u1E5E\\u1E60\\u1E62\\u1E64\\u1E66\\u1E68\\u1E6A\\u1E6C\\u1E6E\\u1E70\\u1E72\\u1E74\\u1E76\\u1E78\\u1E7A\\u1E7C\\u1E7E\\u1E80\\u1E82\\u1E84\\u1E86\\u1E88\\u1E8A\\u1E8C\\u1E8E\\u1E90\\u1E92\\u1E94\\u1E9E\\u1EA0\\u1EA2\\u1EA4\\u1EA6\\u1EA8\\u1EAA\\u1EAC\\u1EAE\\u1EB0\\u1EB2\\u1EB4\\u1EB6\\u1EB8\\u1EBA\\u1EBC\\u1EBE\\u1EC0\\u1EC2\\u1EC4\\u1EC6\\u1EC8\\u1ECA\\u1ECC\\u1ECE\\u1ED0\\u1ED2\\u1ED4\\u1ED6\\u1ED8\\u1EDA\\u1EDC\\u1EDE\\u1EE0\\u1EE2\\u1EE4\\u1EE6\\u1EE8\\u1EEA\\u1EEC\\u1EEE\\u1EF0\\u1EF2\\u1EF4\\u1EF6\\u1EF8\\u1EFA\\u1EFC\\u1EFE\\u1F08\\u1F09\\u1F0A\\u1F0B\\u1F0C\\u1F0D\\u1F0E\\u1F0F\\u1F18\\u1F19\\u1F1A\\u1F1B\\u1F1C\\u1F1D\\u1F28\\u1F29\\u1F2A\\u1F2B\\u1F2C\\u1F2D\\u1F2E\\u1F2F\\u1F38\\u1F39\\u1F3A\\u1F3B\\u1F3C\\u1F3D\\u1F3E\\u1F3F\\u1F48\\u1F49\\u1F4A\\u1F4B\\u1F4C\\u1F4D\\u1F59\\u1F5B\\u1F5D\\u1F5F\\u1F68\\u1F69\\u1F6A\\u1F6B\\u1F6C\\u1F6D\\u1F6E\\u1F6F\\u1FB8\\u1FB9\\u1FBA\\u1FBB\\u1FC8\\u1FC9\\u1FCA\\u1FCB\\u1FD8\\u1FD9\\u1FDA\\u1FDB\\u1FE8\\u1FE9\\u1FEA\\u1FEB\\u1FEC\\u1FF8\\u1FF9\\u1FFA\\u1FFB\\u2102\\u2107\\u210B\\u210C\\u210D\\u2110\\u2111\\u2112\\u2115\\u2119\\u211A\\u211B\\u211C\\u211D\\u2124\\u2126\\u2128\\u212A\\u212B\\u212C\\u212D\\u2130\\u2131\\u2132\\u2133\\u213E\\u213F\\u2145\\u2183\\u2C00\\u2C01\\u2C02\\u2C03\\u2C04\\u2C05\\u2C06\\u2C07\\u2C08\\u2C09\\u2C0A\\u2C0B\\u2C0C\\u2C0D\\u2C0E\\u2C0F\\u2C10\\u2C11\\u2C12\\u2C13\\u2C14\\u2C15\\u2C16\\u2C17\\u2C18\\u2C19\\u2C1A\\u2C1B\\u2C1C\\u2C1D\\u2C1E\\u2C1F\\u2C20\\u2C21\\u2C22\\u2C23\\u2C24\\u2C25\\u2C26\\u2C27\\u2C28\\u2C29\\u2C2A\\u2C2B\\u2C2C\\u2C2D\\u2C2E\\u2C60\\u2C62\\u2C63\\u2C64\\u2C67\\u2C69\\u2C6B\\u2C6D\\u2C6E\\u2C6F\\u2C72\\u2C75\\u2C80\\u2C82\\u2C84\\u2C86\\u2C88\\u2C8A\\u2C8C\\u2C8E\\u2C90\\u2C92\\u2C94\\u2C96\\u2C98\\u2C9A\\u2C9C\\u2C9E\\u2CA0\\u2CA2\\u2CA4\\u2CA6\\u2CA8\\u2CAA\\u2CAC\\u2CAE\\u2CB0\\u2CB2\\u2CB4\\u2CB6\\u2CB8\\u2CBA\\u2CBC\\u2CBE\\u2CC0\\u2CC2\\u2CC4\\u2CC6\\u2CC8\\u2CCA\\u2CCC\\u2CCE\\u2CD0\\u2CD2\\u2CD4\\u2CD6\\u2CD8\\u2CDA\\u2CDC\\u2CDE\\u2CE0\\u2CE2\\uA640\\uA642\\uA644\\uA646\\uA648\\uA64A\\uA64C\\uA64E\\uA650\\uA652\\uA654\\uA656\\uA658\\uA65A\\uA65C\\uA65E\\uA662\\uA664\\uA666\\uA668\\uA66A\\uA66C\\uA680\\uA682\\uA684\\uA686\\uA688\\uA68A\\uA68C\\uA68E\\uA690\\uA692\\uA694\\uA696\\uA722\\uA724\\uA726\\uA728\\uA72A\\uA72C\\uA72E\\uA732\\uA734\\uA736\\uA738\\uA73A\\uA73C\\uA73E\\uA740\\uA742\\uA744\\uA746\\uA748\\uA74A\\uA74C\\uA74E\\uA750\\uA752\\uA754\\uA756\\uA758\\uA75A\\uA75C\\uA75E\\uA760\\uA762\\uA764\\uA766\\uA768\\uA76A\\uA76C\\uA76E\\uA779\\uA77B\\uA77D\\uA77E\\uA780\\uA782\\uA784\\uA786\\uA78B\\uFF21\\uFF22\\uFF23\\uFF24\\uFF25\\uFF26\\uFF27\\uFF28\\uFF29\\uFF2A\\uFF2B\\uFF2C\\uFF2D\\uFF2E\\uFF2F\\uFF30\\uFF31\\uFF32\\uFF33\\uFF34\\uFF35\\uFF36\\uFF37\\uFF38\\uFF39\\uFF3A]");
5695 }
5696 }
5697
5698
5699
5700 cache[cacheKey] = {
5701 nextPos: pos,
5702 result: result0
5703 };
5704 return result0;
5705 }
5706
5707 function parse_Mc() {
5708 var cacheKey = 'Mc@' + pos;
5709 var cachedResult = cache[cacheKey];
5710 if (cachedResult) {
5711 pos = cachedResult.nextPos;
5712 return cachedResult.result;
5713 }
5714
5715
5716 if (input.substr(pos).match(/^[\u0903\u093E\u093F\u0940\u0949\u094A\u094B\u094C\u0982\u0983\u09BE\u09BF\u09C0\u09C7\u09C8\u09CB\u09CC\u09D7\u0A03\u0A3E\u0A3F\u0A40\u0A83\u0ABE\u0ABF\u0AC0\u0AC9\u0ACB\u0ACC\u0B02\u0B03\u0B3E\u0B40\u0B47\u0B48\u0B4B\u0B4C\u0B57\u0BBE\u0BBF\u0BC1\u0BC2\u0BC6\u0BC7\u0BC8\u0BCA\u0BCB\u0BCC\u0BD7\u0C01\u0C02\u0C03\u0C41\u0C42\u0C43\u0C44\u0C82\u0C83\u0CBE\u0CC0\u0CC1\u0CC2\u0CC3\u0CC4\u0CC7\u0CC8\u0CCA\u0CCB\u0CD5\u0CD6\u0D02\u0D03\u0D3E\u0D3F\u0D40\u0D46\u0D47\u0D48\u0D4A\u0D4B\u0D4C\u0D57\u0D82\u0D83\u0DCF\u0DD0\u0DD1\u0DD8\u0DD9\u0DDA\u0DDB\u0DDC\u0DDD\u0DDE\u0DDF\u0DF2\u0DF3\u0F3E\u0F3F\u0F7F\u102B\u102C\u1031\u1038\u103B\u103C\u1056\u1057\u1062\u1063\u1064\u1067\u1068\u1069\u106A\u106B\u106C\u106D\u1083\u1084\u1087\u1088\u1089\u108A\u108B\u108C\u108F\u17B6\u17BE\u17BF\u17C0\u17C1\u17C2\u17C3\u17C4\u17C5\u17C7\u17C8\u1923\u1924\u1925\u1926\u1929\u192A\u192B\u1930\u1931\u1933\u1934\u1935\u1936\u1937\u1938\u19B0\u19B1\u19B2\u19B3\u19B4\u19B5\u19B6\u19B7\u19B8\u19B9\u19BA\u19BB\u19BC\u19BD\u19BE\u19BF\u19C0\u19C8\u19C9\u1A19\u1A1A\u1A1B\u1B04\u1B35\u1B3B\u1B3D\u1B3E\u1B3F\u1B40\u1B41\u1B43\u1B44\u1B82\u1BA1\u1BA6\u1BA7\u1BAA\u1C24\u1C25\u1C26\u1C27\u1C28\u1C29\u1C2A\u1C2B\u1C34\u1C35\uA823\uA824\uA827\uA880\uA881\uA8B4\uA8B5\uA8B6\uA8B7\uA8B8\uA8B9\uA8BA\uA8BB\uA8BC\uA8BD\uA8BE\uA8BF\uA8C0\uA8C1\uA8C2\uA8C3\uA952\uA953\uAA2F\uAA30\uAA33\uAA34\uAA4D]/) !== null) {
5717 var result0 = input.charAt(pos);
5718 pos++;
5719 } else {
5720 var result0 = null;
5721 if (reportMatchFailures) {
5722 matchFailed("[\\u0903\\u093E\\u093F\\u0940\\u0949\\u094A\\u094B\\u094C\\u0982\\u0983\\u09BE\\u09BF\\u09C0\\u09C7\\u09C8\\u09CB\\u09CC\\u09D7\\u0A03\\u0A3E\\u0A3F\\u0A40\\u0A83\\u0ABE\\u0ABF\\u0AC0\\u0AC9\\u0ACB\\u0ACC\\u0B02\\u0B03\\u0B3E\\u0B40\\u0B47\\u0B48\\u0B4B\\u0B4C\\u0B57\\u0BBE\\u0BBF\\u0BC1\\u0BC2\\u0BC6\\u0BC7\\u0BC8\\u0BCA\\u0BCB\\u0BCC\\u0BD7\\u0C01\\u0C02\\u0C03\\u0C41\\u0C42\\u0C43\\u0C44\\u0C82\\u0C83\\u0CBE\\u0CC0\\u0CC1\\u0CC2\\u0CC3\\u0CC4\\u0CC7\\u0CC8\\u0CCA\\u0CCB\\u0CD5\\u0CD6\\u0D02\\u0D03\\u0D3E\\u0D3F\\u0D40\\u0D46\\u0D47\\u0D48\\u0D4A\\u0D4B\\u0D4C\\u0D57\\u0D82\\u0D83\\u0DCF\\u0DD0\\u0DD1\\u0DD8\\u0DD9\\u0DDA\\u0DDB\\u0DDC\\u0DDD\\u0DDE\\u0DDF\\u0DF2\\u0DF3\\u0F3E\\u0F3F\\u0F7F\\u102B\\u102C\\u1031\\u1038\\u103B\\u103C\\u1056\\u1057\\u1062\\u1063\\u1064\\u1067\\u1068\\u1069\\u106A\\u106B\\u106C\\u106D\\u1083\\u1084\\u1087\\u1088\\u1089\\u108A\\u108B\\u108C\\u108F\\u17B6\\u17BE\\u17BF\\u17C0\\u17C1\\u17C2\\u17C3\\u17C4\\u17C5\\u17C7\\u17C8\\u1923\\u1924\\u1925\\u1926\\u1929\\u192A\\u192B\\u1930\\u1931\\u1933\\u1934\\u1935\\u1936\\u1937\\u1938\\u19B0\\u19B1\\u19B2\\u19B3\\u19B4\\u19B5\\u19B6\\u19B7\\u19B8\\u19B9\\u19BA\\u19BB\\u19BC\\u19BD\\u19BE\\u19BF\\u19C0\\u19C8\\u19C9\\u1A19\\u1A1A\\u1A1B\\u1B04\\u1B35\\u1B3B\\u1B3D\\u1B3E\\u1B3F\\u1B40\\u1B41\\u1B43\\u1B44\\u1B82\\u1BA1\\u1BA6\\u1BA7\\u1BAA\\u1C24\\u1C25\\u1C26\\u1C27\\u1C28\\u1C29\\u1C2A\\u1C2B\\u1C34\\u1C35\\uA823\\uA824\\uA827\\uA880\\uA881\\uA8B4\\uA8B5\\uA8B6\\uA8B7\\uA8B8\\uA8B9\\uA8BA\\uA8BB\\uA8BC\\uA8BD\\uA8BE\\uA8BF\\uA8C0\\uA8C1\\uA8C2\\uA8C3\\uA952\\uA953\\uAA2F\\uAA30\\uAA33\\uAA34\\uAA4D]");
5723 }
5724 }
5725
5726
5727
5728 cache[cacheKey] = {
5729 nextPos: pos,
5730 result: result0
5731 };
5732 return result0;
5733 }
5734
5735 function parse_Mn() {
5736 var cacheKey = 'Mn@' + pos;
5737 var cachedResult = cache[cacheKey];
5738 if (cachedResult) {
5739 pos = cachedResult.nextPos;
5740 return cachedResult.result;
5741 }
5742
5743
5744 if (input.substr(pos).match(/^[\u0300\u0301\u0302\u0303\u0304\u0305\u0306\u0307\u0308\u0309\u030A\u030B\u030C\u030D\u030E\u030F\u0310\u0311\u0312\u0313\u0314\u0315\u0316\u0317\u0318\u0319\u031A\u031B\u031C\u031D\u031E\u031F\u0320\u0321\u0322\u0323\u0324\u0325\u0326\u0327\u0328\u0329\u032A\u032B\u032C\u032D\u032E\u032F\u0330\u0331\u0332\u0333\u0334\u0335\u0336\u0337\u0338\u0339\u033A\u033B\u033C\u033D\u033E\u033F\u0340\u0341\u0342\u0343\u0344\u0345\u0346\u0347\u0348\u0349\u034A\u034B\u034C\u034D\u034E\u034F\u0350\u0351\u0352\u0353\u0354\u0355\u0356\u0357\u0358\u0359\u035A\u035B\u035C\u035D\u035E\u035F\u0360\u0361\u0362\u0363\u0364\u0365\u0366\u0367\u0368\u0369\u036A\u036B\u036C\u036D\u036E\u036F\u0483\u0484\u0485\u0486\u0487\u0591\u0592\u0593\u0594\u0595\u0596\u0597\u0598\u0599\u059A\u059B\u059C\u059D\u059E\u059F\u05A0\u05A1\u05A2\u05A3\u05A4\u05A5\u05A6\u05A7\u05A8\u05A9\u05AA\u05AB\u05AC\u05AD\u05AE\u05AF\u05B0\u05B1\u05B2\u05B3\u05B4\u05B5\u05B6\u05B7\u05B8\u05B9\u05BA\u05BB\u05BC\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610\u0611\u0612\u0613\u0614\u0615\u0616\u0617\u0618\u0619\u061A\u064B\u064C\u064D\u064E\u064F\u0650\u0651\u0652\u0653\u0654\u0655\u0656\u0657\u0658\u0659\u065A\u065B\u065C\u065D\u065E\u0670\u06D6\u06D7\u06D8\u06D9\u06DA\u06DB\u06DC\u06DF\u06E0\u06E1\u06E2\u06E3\u06E4\u06E7\u06E8\u06EA\u06EB\u06EC\u06ED\u0711\u0730\u0731\u0732\u0733\u0734\u0735\u0736\u0737\u0738\u0739\u073A\u073B\u073C\u073D\u073E\u073F\u0740\u0741\u0742\u0743\u0744\u0745\u0746\u0747\u0748\u0749\u074A\u07A6\u07A7\u07A8\u07A9\u07AA\u07AB\u07AC\u07AD\u07AE\u07AF\u07B0\u07EB\u07EC\u07ED\u07EE\u07EF\u07F0\u07F1\u07F2\u07F3\u0901\u0902\u093C\u0941\u0942\u0943\u0944\u0945\u0946\u0947\u0948\u094D\u0951\u0952\u0953\u0954\u0962\u0963\u0981\u09BC\u09C1\u09C2\u09C3\u09C4\u09CD\u09E2\u09E3\u0A01\u0A02\u0A3C\u0A41\u0A42\u0A47\u0A48\u0A4B\u0A4C\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81\u0A82\u0ABC\u0AC1\u0AC2\u0AC3\u0AC4\u0AC5\u0AC7\u0AC8\u0ACD\u0AE2\u0AE3\u0B01\u0B3C\u0B3F\u0B41\u0B42\u0B43\u0B44\u0B4D\u0B56\u0B62\u0B63\u0B82\u0BC0\u0BCD\u0C3E\u0C3F\u0C40\u0C46\u0C47\u0C48\u0C4A\u0C4B\u0C4C\u0C4D\u0C55\u0C56\u0C62\u0C63\u0CBC\u0CBF\u0CC6\u0CCC\u0CCD\u0CE2\u0CE3\u0D41\u0D42\u0D43\u0D44\u0D4D\u0D62\u0D63\u0DCA\u0DD2\u0DD3\u0DD4\u0DD6\u0E31\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0EB1\u0EB4\u0EB5\u0EB6\u0EB7\u0EB8\u0EB9\u0EBB\u0EBC\u0EC8\u0EC9\u0ECA\u0ECB\u0ECC\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F71\u0F72\u0F73\u0F74\u0F75\u0F76\u0F77\u0F78\u0F79\u0F7A\u0F7B\u0F7C\u0F7D\u0F7E\u0F80\u0F81\u0F82\u0F83\u0F84\u0F86\u0F87\u0F90\u0F91\u0F92\u0F93\u0F94\u0F95\u0F96\u0F97\u0F99\u0F9A\u0F9B\u0F9C\u0F9D\u0F9E\u0F9F\u0FA0\u0FA1\u0FA2\u0FA3\u0FA4\u0FA5\u0FA6\u0FA7\u0FA8\u0FA9\u0FAA\u0FAB\u0FAC\u0FAD\u0FAE\u0FAF\u0FB0\u0FB1\u0FB2\u0FB3\u0FB4\u0FB5\u0FB6\u0FB7\u0FB8\u0FB9\u0FBA\u0FBB\u0FBC\u0FC6\u102D\u102E\u102F\u1030\u1032\u1033\u1034\u1035\u1036\u1037\u1039\u103A\u103D\u103E\u1058\u1059\u105E\u105F\u1060\u1071\u1072\u1073\u1074\u1082\u1085\u1086\u108D\u135F\u1712\u1713\u1714\u1732\u1733\u1734\u1752\u1753\u1772\u1773\u17B7\u17B8\u17B9\u17BA\u17BB\u17BC\u17BD\u17C6\u17C9\u17CA\u17CB\u17CC\u17CD\u17CE\u17CF\u17D0\u17D1\u17D2\u17D3\u17DD\u180B\u180C\u180D\u18A9\u1920\u1921\u1922\u1927\u1928\u1932\u1939\u193A\u193B\u1A17\u1A18\u1B00\u1B01\u1B02\u1B03\u1B34\u1B36\u1B37\u1B38\u1B39\u1B3A\u1B3C\u1B42\u1B6B\u1B6C\u1B6D\u1B6E\u1B6F\u1B70\u1B71\u1B72\u1B73\u1B80\u1B81\u1BA2\u1BA3\u1BA4\u1BA5\u1BA8\u1BA9\u1C2C\u1C2D\u1C2E\u1C2F\u1C30\u1C31\u1C32\u1C33\u1C36\u1C37\u1DC0\u1DC1\u1DC2\u1DC3\u1DC4\u1DC5\u1DC6\u1DC7\u1DC8\u1DC9\u1DCA\u1DCB\u1DCC\u1DCD\u1DCE\u1DCF\u1DD0\u1DD1\u1DD2\u1DD3\u1DD4\u1DD5\u1DD6\u1DD7\u1DD8\u1DD9\u1DDA\u1DDB\u1DDC\u1DDD\u1DDE\u1DDF\u1DE0\u1DE1\u1DE2\u1DE3\u1DE4\u1DE5\u1DE6\u1DFE\u1DFF\u20D0\u20D1\u20D2\u20D3\u20D4\u20D5\u20D6\u20D7\u20D8\u20D9\u20DA\u20DB\u20DC\u20E1\u20E5\u20E6\u20E7\u20E8\u20E9\u20EA\u20EB\u20EC\u20ED\u20EE\u20EF\u20F0\u2DE0\u2DE1\u2DE2\u2DE3\u2DE4\u2DE5\u2DE6\u2DE7\u2DE8\u2DE9\u2DEA\u2DEB\u2DEC\u2DED\u2DEE\u2DEF\u2DF0\u2DF1\u2DF2\u2DF3\u2DF4\u2DF5\u2DF6\u2DF7\u2DF8\u2DF9\u2DFA\u2DFB\u2DFC\u2DFD\u2DFE\u2DFF\u302A\u302B\u302C\u302D\u302E\u302F\u3099\u309A\uA66F\uA67C\uA67D\uA802\uA806\uA80B\uA825\uA826\uA8C4\uA926\uA927\uA928\uA929\uA92A\uA92B\uA92C\uA92D\uA947\uA948\uA949\uA94A\uA94B\uA94C\uA94D\uA94E\uA94F\uA950\uA951\uAA29\uAA2A\uAA2B\uAA2C\uAA2D\uAA2E\uAA31\uAA32\uAA35\uAA36\uAA43\uAA4C\uFB1E\uFE00\uFE01\uFE02\uFE03\uFE04\uFE05\uFE06\uFE07\uFE08\uFE09\uFE0A\uFE0B\uFE0C\uFE0D\uFE0E\uFE0F\uFE20\uFE21\uFE22\uFE23\uFE24\uFE25\uFE26]/) !== null) {
5745 var result0 = input.charAt(pos);
5746 pos++;
5747 } else {
5748 var result0 = null;
5749 if (reportMatchFailures) {
5750 matchFailed("[\\u0300\\u0301\\u0302\\u0303\\u0304\\u0305\\u0306\\u0307\\u0308\\u0309\\u030A\\u030B\\u030C\\u030D\\u030E\\u030F\\u0310\\u0311\\u0312\\u0313\\u0314\\u0315\\u0316\\u0317\\u0318\\u0319\\u031A\\u031B\\u031C\\u031D\\u031E\\u031F\\u0320\\u0321\\u0322\\u0323\\u0324\\u0325\\u0326\\u0327\\u0328\\u0329\\u032A\\u032B\\u032C\\u032D\\u032E\\u032F\\u0330\\u0331\\u0332\\u0333\\u0334\\u0335\\u0336\\u0337\\u0338\\u0339\\u033A\\u033B\\u033C\\u033D\\u033E\\u033F\\u0340\\u0341\\u0342\\u0343\\u0344\\u0345\\u0346\\u0347\\u0348\\u0349\\u034A\\u034B\\u034C\\u034D\\u034E\\u034F\\u0350\\u0351\\u0352\\u0353\\u0354\\u0355\\u0356\\u0357\\u0358\\u0359\\u035A\\u035B\\u035C\\u035D\\u035E\\u035F\\u0360\\u0361\\u0362\\u0363\\u0364\\u0365\\u0366\\u0367\\u0368\\u0369\\u036A\\u036B\\u036C\\u036D\\u036E\\u036F\\u0483\\u0484\\u0485\\u0486\\u0487\\u0591\\u0592\\u0593\\u0594\\u0595\\u0596\\u0597\\u0598\\u0599\\u059A\\u059B\\u059C\\u059D\\u059E\\u059F\\u05A0\\u05A1\\u05A2\\u05A3\\u05A4\\u05A5\\u05A6\\u05A7\\u05A8\\u05A9\\u05AA\\u05AB\\u05AC\\u05AD\\u05AE\\u05AF\\u05B0\\u05B1\\u05B2\\u05B3\\u05B4\\u05B5\\u05B6\\u05B7\\u05B8\\u05B9\\u05BA\\u05BB\\u05BC\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u0610\\u0611\\u0612\\u0613\\u0614\\u0615\\u0616\\u0617\\u0618\\u0619\\u061A\\u064B\\u064C\\u064D\\u064E\\u064F\\u0650\\u0651\\u0652\\u0653\\u0654\\u0655\\u0656\\u0657\\u0658\\u0659\\u065A\\u065B\\u065C\\u065D\\u065E\\u0670\\u06D6\\u06D7\\u06D8\\u06D9\\u06DA\\u06DB\\u06DC\\u06DF\\u06E0\\u06E1\\u06E2\\u06E3\\u06E4\\u06E7\\u06E8\\u06EA\\u06EB\\u06EC\\u06ED\\u0711\\u0730\\u0731\\u0732\\u0733\\u0734\\u0735\\u0736\\u0737\\u0738\\u0739\\u073A\\u073B\\u073C\\u073D\\u073E\\u073F\\u0740\\u0741\\u0742\\u0743\\u0744\\u0745\\u0746\\u0747\\u0748\\u0749\\u074A\\u07A6\\u07A7\\u07A8\\u07A9\\u07AA\\u07AB\\u07AC\\u07AD\\u07AE\\u07AF\\u07B0\\u07EB\\u07EC\\u07ED\\u07EE\\u07EF\\u07F0\\u07F1\\u07F2\\u07F3\\u0901\\u0902\\u093C\\u0941\\u0942\\u0943\\u0944\\u0945\\u0946\\u0947\\u0948\\u094D\\u0951\\u0952\\u0953\\u0954\\u0962\\u0963\\u0981\\u09BC\\u09C1\\u09C2\\u09C3\\u09C4\\u09CD\\u09E2\\u09E3\\u0A01\\u0A02\\u0A3C\\u0A41\\u0A42\\u0A47\\u0A48\\u0A4B\\u0A4C\\u0A4D\\u0A51\\u0A70\\u0A71\\u0A75\\u0A81\\u0A82\\u0ABC\\u0AC1\\u0AC2\\u0AC3\\u0AC4\\u0AC5\\u0AC7\\u0AC8\\u0ACD\\u0AE2\\u0AE3\\u0B01\\u0B3C\\u0B3F\\u0B41\\u0B42\\u0B43\\u0B44\\u0B4D\\u0B56\\u0B62\\u0B63\\u0B82\\u0BC0\\u0BCD\\u0C3E\\u0C3F\\u0C40\\u0C46\\u0C47\\u0C48\\u0C4A\\u0C4B\\u0C4C\\u0C4D\\u0C55\\u0C56\\u0C62\\u0C63\\u0CBC\\u0CBF\\u0CC6\\u0CCC\\u0CCD\\u0CE2\\u0CE3\\u0D41\\u0D42\\u0D43\\u0D44\\u0D4D\\u0D62\\u0D63\\u0DCA\\u0DD2\\u0DD3\\u0DD4\\u0DD6\\u0E31\\u0E34\\u0E35\\u0E36\\u0E37\\u0E38\\u0E39\\u0E3A\\u0E47\\u0E48\\u0E49\\u0E4A\\u0E4B\\u0E4C\\u0E4D\\u0E4E\\u0EB1\\u0EB4\\u0EB5\\u0EB6\\u0EB7\\u0EB8\\u0EB9\\u0EBB\\u0EBC\\u0EC8\\u0EC9\\u0ECA\\u0ECB\\u0ECC\\u0ECD\\u0F18\\u0F19\\u0F35\\u0F37\\u0F39\\u0F71\\u0F72\\u0F73\\u0F74\\u0F75\\u0F76\\u0F77\\u0F78\\u0F79\\u0F7A\\u0F7B\\u0F7C\\u0F7D\\u0F7E\\u0F80\\u0F81\\u0F82\\u0F83\\u0F84\\u0F86\\u0F87\\u0F90\\u0F91\\u0F92\\u0F93\\u0F94\\u0F95\\u0F96\\u0F97\\u0F99\\u0F9A\\u0F9B\\u0F9C\\u0F9D\\u0F9E\\u0F9F\\u0FA0\\u0FA1\\u0FA2\\u0FA3\\u0FA4\\u0FA5\\u0FA6\\u0FA7\\u0FA8\\u0FA9\\u0FAA\\u0FAB\\u0FAC\\u0FAD\\u0FAE\\u0FAF\\u0FB0\\u0FB1\\u0FB2\\u0FB3\\u0FB4\\u0FB5\\u0FB6\\u0FB7\\u0FB8\\u0FB9\\u0FBA\\u0FBB\\u0FBC\\u0FC6\\u102D\\u102E\\u102F\\u1030\\u1032\\u1033\\u1034\\u1035\\u1036\\u1037\\u1039\\u103A\\u103D\\u103E\\u1058\\u1059\\u105E\\u105F\\u1060\\u1071\\u1072\\u1073\\u1074\\u1082\\u1085\\u1086\\u108D\\u135F\\u1712\\u1713\\u1714\\u1732\\u1733\\u1734\\u1752\\u1753\\u1772\\u1773\\u17B7\\u17B8\\u17B9\\u17BA\\u17BB\\u17BC\\u17BD\\u17C6\\u17C9\\u17CA\\u17CB\\u17CC\\u17CD\\u17CE\\u17CF\\u17D0\\u17D1\\u17D2\\u17D3\\u17DD\\u180B\\u180C\\u180D\\u18A9\\u1920\\u1921\\u1922\\u1927\\u1928\\u1932\\u1939\\u193A\\u193B\\u1A17\\u1A18\\u1B00\\u1B01\\u1B02\\u1B03\\u1B34\\u1B36\\u1B37\\u1B38\\u1B39\\u1B3A\\u1B3C\\u1B42\\u1B6B\\u1B6C\\u1B6D\\u1B6E\\u1B6F\\u1B70\\u1B71\\u1B72\\u1B73\\u1B80\\u1B81\\u1BA2\\u1BA3\\u1BA4\\u1BA5\\u1BA8\\u1BA9\\u1C2C\\u1C2D\\u1C2E\\u1C2F\\u1C30\\u1C31\\u1C32\\u1C33\\u1C36\\u1C37\\u1DC0\\u1DC1\\u1DC2\\u1DC3\\u1DC4\\u1DC5\\u1DC6\\u1DC7\\u1DC8\\u1DC9\\u1DCA\\u1DCB\\u1DCC\\u1DCD\\u1DCE\\u1DCF\\u1DD0\\u1DD1\\u1DD2\\u1DD3\\u1DD4\\u1DD5\\u1DD6\\u1DD7\\u1DD8\\u1DD9\\u1DDA\\u1DDB\\u1DDC\\u1DDD\\u1DDE\\u1DDF\\u1DE0\\u1DE1\\u1DE2\\u1DE3\\u1DE4\\u1DE5\\u1DE6\\u1DFE\\u1DFF\\u20D0\\u20D1\\u20D2\\u20D3\\u20D4\\u20D5\\u20D6\\u20D7\\u20D8\\u20D9\\u20DA\\u20DB\\u20DC\\u20E1\\u20E5\\u20E6\\u20E7\\u20E8\\u20E9\\u20EA\\u20EB\\u20EC\\u20ED\\u20EE\\u20EF\\u20F0\\u2DE0\\u2DE1\\u2DE2\\u2DE3\\u2DE4\\u2DE5\\u2DE6\\u2DE7\\u2DE8\\u2DE9\\u2DEA\\u2DEB\\u2DEC\\u2DED\\u2DEE\\u2DEF\\u2DF0\\u2DF1\\u2DF2\\u2DF3\\u2DF4\\u2DF5\\u2DF6\\u2DF7\\u2DF8\\u2DF9\\u2DFA\\u2DFB\\u2DFC\\u2DFD\\u2DFE\\u2DFF\\u302A\\u302B\\u302C\\u302D\\u302E\\u302F\\u3099\\u309A\\uA66F\\uA67C\\uA67D\\uA802\\uA806\\uA80B\\uA825\\uA826\\uA8C4\\uA926\\uA927\\uA928\\uA929\\uA92A\\uA92B\\uA92C\\uA92D\\uA947\\uA948\\uA949\\uA94A\\uA94B\\uA94C\\uA94D\\uA94E\\uA94F\\uA950\\uA951\\uAA29\\uAA2A\\uAA2B\\uAA2C\\uAA2D\\uAA2E\\uAA31\\uAA32\\uAA35\\uAA36\\uAA43\\uAA4C\\uFB1E\\uFE00\\uFE01\\uFE02\\uFE03\\uFE04\\uFE05\\uFE06\\uFE07\\uFE08\\uFE09\\uFE0A\\uFE0B\\uFE0C\\uFE0D\\uFE0E\\uFE0F\\uFE20\\uFE21\\uFE22\\uFE23\\uFE24\\uFE25\\uFE26]");
5751 }
5752 }
5753
5754
5755
5756 cache[cacheKey] = {
5757 nextPos: pos,
5758 result: result0
5759 };
5760 return result0;
5761 }
5762
5763 function parse_Nd() {
5764 var cacheKey = 'Nd@' + pos;
5765 var cachedResult = cache[cacheKey];
5766 if (cachedResult) {
5767 pos = cachedResult.nextPos;
5768 return cachedResult.result;
5769 }
5770
5771
5772 if (input.substr(pos).match(/^[0123456789\u0660\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\u06F0\u06F1\u06F2\u06F3\u06F4\u06F5\u06F6\u06F7\u06F8\u06F9\u07C0\u07C1\u07C2\u07C3\u07C4\u07C5\u07C6\u07C7\u07C8\u07C9\u0966\u0967\u0968\u0969\u096A\u096B\u096C\u096D\u096E\u096F\u09E6\u09E7\u09E8\u09E9\u09EA\u09EB\u09EC\u09ED\u09EE\u09EF\u0A66\u0A67\u0A68\u0A69\u0A6A\u0A6B\u0A6C\u0A6D\u0A6E\u0A6F\u0AE6\u0AE7\u0AE8\u0AE9\u0AEA\u0AEB\u0AEC\u0AED\u0AEE\u0AEF\u0B66\u0B67\u0B68\u0B69\u0B6A\u0B6B\u0B6C\u0B6D\u0B6E\u0B6F\u0BE6\u0BE7\u0BE8\u0BE9\u0BEA\u0BEB\u0BEC\u0BED\u0BEE\u0BEF\u0C66\u0C67\u0C68\u0C69\u0C6A\u0C6B\u0C6C\u0C6D\u0C6E\u0C6F\u0CE6\u0CE7\u0CE8\u0CE9\u0CEA\u0CEB\u0CEC\u0CED\u0CEE\u0CEF\u0D66\u0D67\u0D68\u0D69\u0D6A\u0D6B\u0D6C\u0D6D\u0D6E\u0D6F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0ED0\u0ED1\u0ED2\u0ED3\u0ED4\u0ED5\u0ED6\u0ED7\u0ED8\u0ED9\u0F20\u0F21\u0F22\u0F23\u0F24\u0F25\u0F26\u0F27\u0F28\u0F29\u1040\u1041\u1042\u1043\u1044\u1045\u1046\u1047\u1048\u1049\u1090\u1091\u1092\u1093\u1094\u1095\u1096\u1097\u1098\u1099\u17E0\u17E1\u17E2\u17E3\u17E4\u17E5\u17E6\u17E7\u17E8\u17E9\u1810\u1811\u1812\u1813\u1814\u1815\u1816\u1817\u1818\u1819\u1946\u1947\u1948\u1949\u194A\u194B\u194C\u194D\u194E\u194F\u19D0\u19D1\u19D2\u19D3\u19D4\u19D5\u19D6\u19D7\u19D8\u19D9\u1B50\u1B51\u1B52\u1B53\u1B54\u1B55\u1B56\u1B57\u1B58\u1B59\u1BB0\u1BB1\u1BB2\u1BB3\u1BB4\u1BB5\u1BB6\u1BB7\u1BB8\u1BB9\u1C40\u1C41\u1C42\u1C43\u1C44\u1C45\u1C46\u1C47\u1C48\u1C49\u1C50\u1C51\u1C52\u1C53\u1C54\u1C55\u1C56\u1C57\u1C58\u1C59\uA620\uA621\uA622\uA623\uA624\uA625\uA626\uA627\uA628\uA629\uA8D0\uA8D1\uA8D2\uA8D3\uA8D4\uA8D5\uA8D6\uA8D7\uA8D8\uA8D9\uA900\uA901\uA902\uA903\uA904\uA905\uA906\uA907\uA908\uA909\uAA50\uAA51\uAA52\uAA53\uAA54\uAA55\uAA56\uAA57\uAA58\uAA59\uFF10\uFF11\uFF12\uFF13\uFF14\uFF15\uFF16\uFF17\uFF18\uFF19]/) !== null) {
5773 var result0 = input.charAt(pos);
5774 pos++;
5775 } else {
5776 var result0 = null;
5777 if (reportMatchFailures) {
5778 matchFailed("[0123456789\\u0660\\u0661\\u0662\\u0663\\u0664\\u0665\\u0666\\u0667\\u0668\\u0669\\u06F0\\u06F1\\u06F2\\u06F3\\u06F4\\u06F5\\u06F6\\u06F7\\u06F8\\u06F9\\u07C0\\u07C1\\u07C2\\u07C3\\u07C4\\u07C5\\u07C6\\u07C7\\u07C8\\u07C9\\u0966\\u0967\\u0968\\u0969\\u096A\\u096B\\u096C\\u096D\\u096E\\u096F\\u09E6\\u09E7\\u09E8\\u09E9\\u09EA\\u09EB\\u09EC\\u09ED\\u09EE\\u09EF\\u0A66\\u0A67\\u0A68\\u0A69\\u0A6A\\u0A6B\\u0A6C\\u0A6D\\u0A6E\\u0A6F\\u0AE6\\u0AE7\\u0AE8\\u0AE9\\u0AEA\\u0AEB\\u0AEC\\u0AED\\u0AEE\\u0AEF\\u0B66\\u0B67\\u0B68\\u0B69\\u0B6A\\u0B6B\\u0B6C\\u0B6D\\u0B6E\\u0B6F\\u0BE6\\u0BE7\\u0BE8\\u0BE9\\u0BEA\\u0BEB\\u0BEC\\u0BED\\u0BEE\\u0BEF\\u0C66\\u0C67\\u0C68\\u0C69\\u0C6A\\u0C6B\\u0C6C\\u0C6D\\u0C6E\\u0C6F\\u0CE6\\u0CE7\\u0CE8\\u0CE9\\u0CEA\\u0CEB\\u0CEC\\u0CED\\u0CEE\\u0CEF\\u0D66\\u0D67\\u0D68\\u0D69\\u0D6A\\u0D6B\\u0D6C\\u0D6D\\u0D6E\\u0D6F\\u0E50\\u0E51\\u0E52\\u0E53\\u0E54\\u0E55\\u0E56\\u0E57\\u0E58\\u0E59\\u0ED0\\u0ED1\\u0ED2\\u0ED3\\u0ED4\\u0ED5\\u0ED6\\u0ED7\\u0ED8\\u0ED9\\u0F20\\u0F21\\u0F22\\u0F23\\u0F24\\u0F25\\u0F26\\u0F27\\u0F28\\u0F29\\u1040\\u1041\\u1042\\u1043\\u1044\\u1045\\u1046\\u1047\\u1048\\u1049\\u1090\\u1091\\u1092\\u1093\\u1094\\u1095\\u1096\\u1097\\u1098\\u1099\\u17E0\\u17E1\\u17E2\\u17E3\\u17E4\\u17E5\\u17E6\\u17E7\\u17E8\\u17E9\\u1810\\u1811\\u1812\\u1813\\u1814\\u1815\\u1816\\u1817\\u1818\\u1819\\u1946\\u1947\\u1948\\u1949\\u194A\\u194B\\u194C\\u194D\\u194E\\u194F\\u19D0\\u19D1\\u19D2\\u19D3\\u19D4\\u19D5\\u19D6\\u19D7\\u19D8\\u19D9\\u1B50\\u1B51\\u1B52\\u1B53\\u1B54\\u1B55\\u1B56\\u1B57\\u1B58\\u1B59\\u1BB0\\u1BB1\\u1BB2\\u1BB3\\u1BB4\\u1BB5\\u1BB6\\u1BB7\\u1BB8\\u1BB9\\u1C40\\u1C41\\u1C42\\u1C43\\u1C44\\u1C45\\u1C46\\u1C47\\u1C48\\u1C49\\u1C50\\u1C51\\u1C52\\u1C53\\u1C54\\u1C55\\u1C56\\u1C57\\u1C58\\u1C59\\uA620\\uA621\\uA622\\uA623\\uA624\\uA625\\uA626\\uA627\\uA628\\uA629\\uA8D0\\uA8D1\\uA8D2\\uA8D3\\uA8D4\\uA8D5\\uA8D6\\uA8D7\\uA8D8\\uA8D9\\uA900\\uA901\\uA902\\uA903\\uA904\\uA905\\uA906\\uA907\\uA908\\uA909\\uAA50\\uAA51\\uAA52\\uAA53\\uAA54\\uAA55\\uAA56\\uAA57\\uAA58\\uAA59\\uFF10\\uFF11\\uFF12\\uFF13\\uFF14\\uFF15\\uFF16\\uFF17\\uFF18\\uFF19]");
5779 }
5780 }
5781
5782
5783
5784 cache[cacheKey] = {
5785 nextPos: pos,
5786 result: result0
5787 };
5788 return result0;
5789 }
5790
5791 function parse_Nl() {
5792 var cacheKey = 'Nl@' + pos;
5793 var cachedResult = cache[cacheKey];
5794 if (cachedResult) {
5795 pos = cachedResult.nextPos;
5796 return cachedResult.result;
5797 }
5798
5799
5800 if (input.substr(pos).match(/^[\u16EE\u16EF\u16F0\u2160\u2161\u2162\u2163\u2164\u2165\u2166\u2167\u2168\u2169\u216A\u216B\u216C\u216D\u216E\u216F\u2170\u2171\u2172\u2173\u2174\u2175\u2176\u2177\u2178\u2179\u217A\u217B\u217C\u217D\u217E\u217F\u2180\u2181\u2182\u2185\u2186\u2187\u2188\u3007\u3021\u3022\u3023\u3024\u3025\u3026\u3027\u3028\u3029\u3038\u3039\u303A]/) !== null) {
5801 var result0 = input.charAt(pos);
5802 pos++;
5803 } else {
5804 var result0 = null;
5805 if (reportMatchFailures) {
5806 matchFailed("[\\u16EE\\u16EF\\u16F0\\u2160\\u2161\\u2162\\u2163\\u2164\\u2165\\u2166\\u2167\\u2168\\u2169\\u216A\\u216B\\u216C\\u216D\\u216E\\u216F\\u2170\\u2171\\u2172\\u2173\\u2174\\u2175\\u2176\\u2177\\u2178\\u2179\\u217A\\u217B\\u217C\\u217D\\u217E\\u217F\\u2180\\u2181\\u2182\\u2185\\u2186\\u2187\\u2188\\u3007\\u3021\\u3022\\u3023\\u3024\\u3025\\u3026\\u3027\\u3028\\u3029\\u3038\\u3039\\u303A]");
5807 }
5808 }
5809
5810
5811
5812 cache[cacheKey] = {
5813 nextPos: pos,
5814 result: result0
5815 };
5816 return result0;
5817 }
5818
5819 function parse_Pc() {
5820 var cacheKey = 'Pc@' + pos;
5821 var cachedResult = cache[cacheKey];
5822 if (cachedResult) {
5823 pos = cachedResult.nextPos;
5824 return cachedResult.result;
5825 }
5826
5827
5828 if (input.substr(pos).match(/^[_\u203F\u2040\u2054\uFE33\uFE34\uFE4D\uFE4E\uFE4F\uFF3F]/) !== null) {
5829 var result0 = input.charAt(pos);
5830 pos++;
5831 } else {
5832 var result0 = null;
5833 if (reportMatchFailures) {
5834 matchFailed("[_\\u203F\\u2040\\u2054\\uFE33\\uFE34\\uFE4D\\uFE4E\\uFE4F\\uFF3F]");
5835 }
5836 }
5837
5838
5839
5840 cache[cacheKey] = {
5841 nextPos: pos,
5842 result: result0
5843 };
5844 return result0;
5845 }
5846
5847 function parse_Zs() {
5848 var cacheKey = 'Zs@' + pos;
5849 var cachedResult = cache[cacheKey];
5850 if (cachedResult) {
5851 pos = cachedResult.nextPos;
5852 return cachedResult.result;
5853 }
5854
5855
5856 if (input.substr(pos).match(/^[ \xA0\u1680\u180E\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000]/) !== null) {
5857 var result0 = input.charAt(pos);
5858 pos++;
5859 } else {
5860 var result0 = null;
5861 if (reportMatchFailures) {
5862 matchFailed("[ \\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000]");
5863 }
5864 }
5865
5866
5867
5868 cache[cacheKey] = {
5869 nextPos: pos,
5870 result: result0
5871 };
5872 return result0;
5873 }
5874
5875 function parse_EOS() {
5876 var cacheKey = 'EOS@' + pos;
5877 var cachedResult = cache[cacheKey];
5878 if (cachedResult) {
5879 pos = cachedResult.nextPos;
5880 return cachedResult.result;
5881 }
5882
5883
5884 var savedPos4 = pos;
5885 var result12 = parse___();
5886 if (result12 !== null) {
5887 if (input.substr(pos, 1) === ";") {
5888 var result13 = ";";
5889 pos += 1;
5890 } else {
5891 var result13 = null;
5892 if (reportMatchFailures) {
5893 matchFailed("\";\"");
5894 }
5895 }
5896 if (result13 !== null) {
5897 var result11 = [result12, result13];
5898 } else {
5899 var result11 = null;
5900 pos = savedPos4;
5901 }
5902 } else {
5903 var result11 = null;
5904 pos = savedPos4;
5905 }
5906 if (result11 !== null) {
5907 var result0 = result11;
5908 } else {
5909 var savedPos3 = pos;
5910 var result9 = parse__();
5911 if (result9 !== null) {
5912 var result10 = parse_LineTerminatorSequence();
5913 if (result10 !== null) {
5914 var result8 = [result9, result10];
5915 } else {
5916 var result8 = null;
5917 pos = savedPos3;
5918 }
5919 } else {
5920 var result8 = null;
5921 pos = savedPos3;
5922 }
5923 if (result8 !== null) {
5924 var result0 = result8;
5925 } else {
5926 var savedPos1 = pos;
5927 var result5 = parse__();
5928 if (result5 !== null) {
5929 var savedPos2 = pos;
5930 var savedReportMatchFailuresVar0 = reportMatchFailures;
5931 reportMatchFailures = false;
5932 if (input.substr(pos, 1) === "}") {
5933 var result7 = "}";
5934 pos += 1;
5935 } else {
5936 var result7 = null;
5937 if (reportMatchFailures) {
5938 matchFailed("\"}\"");
5939 }
5940 }
5941 reportMatchFailures = savedReportMatchFailuresVar0;
5942 if (result7 !== null) {
5943 var result6 = '';
5944 pos = savedPos2;
5945 } else {
5946 var result6 = null;
5947 }
5948 if (result6 !== null) {
5949 var result4 = [result5, result6];
5950 } else {
5951 var result4 = null;
5952 pos = savedPos1;
5953 }
5954 } else {
5955 var result4 = null;
5956 pos = savedPos1;
5957 }
5958 if (result4 !== null) {
5959 var result0 = result4;
5960 } else {
5961 var savedPos0 = pos;
5962 var result2 = parse___();
5963 if (result2 !== null) {
5964 var result3 = parse_EOF();
5965 if (result3 !== null) {
5966 var result1 = [result2, result3];
5967 } else {
5968 var result1 = null;
5969 pos = savedPos0;
5970 }
5971 } else {
5972 var result1 = null;
5973 pos = savedPos0;
5974 }
5975 if (result1 !== null) {
5976 var result0 = result1;
5977 } else {
5978 var result0 = null;;
5979 };
5980 };
5981 };
5982 }
5983
5984
5985
5986 cache[cacheKey] = {
5987 nextPos: pos,
5988 result: result0
5989 };
5990 return result0;
5991 }
5992
5993 function parse_EOSNoLineTerminator() {
5994 var cacheKey = 'EOSNoLineTerminator@' + pos;
5995 var cachedResult = cache[cacheKey];
5996 if (cachedResult) {
5997 pos = cachedResult.nextPos;
5998 return cachedResult.result;
5999 }
6000
6001
6002 var savedPos4 = pos;
6003 var result12 = parse__();
6004 if (result12 !== null) {
6005 if (input.substr(pos, 1) === ";") {
6006 var result13 = ";";
6007 pos += 1;
6008 } else {
6009 var result13 = null;
6010 if (reportMatchFailures) {
6011 matchFailed("\";\"");
6012 }
6013 }
6014 if (result13 !== null) {
6015 var result11 = [result12, result13];
6016 } else {
6017 var result11 = null;
6018 pos = savedPos4;
6019 }
6020 } else {
6021 var result11 = null;
6022 pos = savedPos4;
6023 }
6024 if (result11 !== null) {
6025 var result0 = result11;
6026 } else {
6027 var savedPos3 = pos;
6028 var result9 = parse__();
6029 if (result9 !== null) {
6030 var result10 = parse_LineTerminatorSequence();
6031 if (result10 !== null) {
6032 var result8 = [result9, result10];
6033 } else {
6034 var result8 = null;
6035 pos = savedPos3;
6036 }
6037 } else {
6038 var result8 = null;
6039 pos = savedPos3;
6040 }
6041 if (result8 !== null) {
6042 var result0 = result8;
6043 } else {
6044 var savedPos1 = pos;
6045 var result5 = parse__();
6046 if (result5 !== null) {
6047 var savedPos2 = pos;
6048 var savedReportMatchFailuresVar0 = reportMatchFailures;
6049 reportMatchFailures = false;
6050 if (input.substr(pos, 1) === "}") {
6051 var result7 = "}";
6052 pos += 1;
6053 } else {
6054 var result7 = null;
6055 if (reportMatchFailures) {
6056 matchFailed("\"}\"");
6057 }
6058 }
6059 reportMatchFailures = savedReportMatchFailuresVar0;
6060 if (result7 !== null) {
6061 var result6 = '';
6062 pos = savedPos2;
6063 } else {
6064 var result6 = null;
6065 }
6066 if (result6 !== null) {
6067 var result4 = [result5, result6];
6068 } else {
6069 var result4 = null;
6070 pos = savedPos1;
6071 }
6072 } else {
6073 var result4 = null;
6074 pos = savedPos1;
6075 }
6076 if (result4 !== null) {
6077 var result0 = result4;
6078 } else {
6079 var savedPos0 = pos;
6080 var result2 = parse__();
6081 if (result2 !== null) {
6082 var result3 = parse_EOF();
6083 if (result3 !== null) {
6084 var result1 = [result2, result3];
6085 } else {
6086 var result1 = null;
6087 pos = savedPos0;
6088 }
6089 } else {
6090 var result1 = null;
6091 pos = savedPos0;
6092 }
6093 if (result1 !== null) {
6094 var result0 = result1;
6095 } else {
6096 var result0 = null;;
6097 };
6098 };
6099 };
6100 }
6101
6102
6103
6104 cache[cacheKey] = {
6105 nextPos: pos,
6106 result: result0
6107 };
6108 return result0;
6109 }
6110
6111 function parse_EOF() {
6112 var cacheKey = 'EOF@' + pos;
6113 var cachedResult = cache[cacheKey];
6114 if (cachedResult) {
6115 pos = cachedResult.nextPos;
6116 return cachedResult.result;
6117 }
6118
6119
6120 var savedPos0 = pos;
6121 var savedReportMatchFailuresVar0 = reportMatchFailures;
6122 reportMatchFailures = false;
6123 if (input.length > pos) {
6124 var result1 = input.charAt(pos);
6125 pos++;
6126 } else {
6127 var result1 = null;
6128 if (reportMatchFailures) {
6129 matchFailed('any character');
6130 }
6131 }
6132 reportMatchFailures = savedReportMatchFailuresVar0;
6133 if (result1 === null) {
6134 var result0 = '';
6135 } else {
6136 var result0 = null;
6137 pos = savedPos0;
6138 }
6139
6140
6141
6142 cache[cacheKey] = {
6143 nextPos: pos,
6144 result: result0
6145 };
6146 return result0;
6147 }
6148
6149 function parse__() {
6150 var cacheKey = '_@' + pos;
6151 var cachedResult = cache[cacheKey];
6152 if (cachedResult) {
6153 pos = cachedResult.nextPos;
6154 return cachedResult.result;
6155 }
6156
6157
6158 var result0 = [];
6159 var result4 = parse_WhiteSpace();
6160 if (result4 !== null) {
6161 var result1 = result4;
6162 } else {
6163 var result3 = parse_MultiLineCommentNoLineTerminator();
6164 if (result3 !== null) {
6165 var result1 = result3;
6166 } else {
6167 var result2 = parse_SingleLineComment();
6168 if (result2 !== null) {
6169 var result1 = result2;
6170 } else {
6171 var result1 = null;;
6172 };
6173 };
6174 }
6175 while (result1 !== null) {
6176 result0.push(result1);
6177 var result4 = parse_WhiteSpace();
6178 if (result4 !== null) {
6179 var result1 = result4;
6180 } else {
6181 var result3 = parse_MultiLineCommentNoLineTerminator();
6182 if (result3 !== null) {
6183 var result1 = result3;
6184 } else {
6185 var result2 = parse_SingleLineComment();
6186 if (result2 !== null) {
6187 var result1 = result2;
6188 } else {
6189 var result1 = null;;
6190 };
6191 };
6192 }
6193 }
6194
6195
6196
6197 cache[cacheKey] = {
6198 nextPos: pos,
6199 result: result0
6200 };
6201 return result0;
6202 }
6203
6204 function parse___() {
6205 var cacheKey = '__@' + pos;
6206 var cachedResult = cache[cacheKey];
6207 if (cachedResult) {
6208 pos = cachedResult.nextPos;
6209 return cachedResult.result;
6210 }
6211
6212
6213 var result0 = [];
6214 var result4 = parse_WhiteSpace();
6215 if (result4 !== null) {
6216 var result1 = result4;
6217 } else {
6218 var result3 = parse_LineTerminatorSequence();
6219 if (result3 !== null) {
6220 var result1 = result3;
6221 } else {
6222 var result2 = parse_Comment();
6223 if (result2 !== null) {
6224 var result1 = result2;
6225 } else {
6226 var result1 = null;;
6227 };
6228 };
6229 }
6230 while (result1 !== null) {
6231 result0.push(result1);
6232 var result4 = parse_WhiteSpace();
6233 if (result4 !== null) {
6234 var result1 = result4;
6235 } else {
6236 var result3 = parse_LineTerminatorSequence();
6237 if (result3 !== null) {
6238 var result1 = result3;
6239 } else {
6240 var result2 = parse_Comment();
6241 if (result2 !== null) {
6242 var result1 = result2;
6243 } else {
6244 var result1 = null;;
6245 };
6246 };
6247 }
6248 }
6249
6250
6251
6252 cache[cacheKey] = {
6253 nextPos: pos,
6254 result: result0
6255 };
6256 return result0;
6257 }
6258
6259 function parse_PrimaryExpression() {
6260 var cacheKey = 'PrimaryExpression@' + pos;
6261 var cachedResult = cache[cacheKey];
6262 if (cachedResult) {
6263 pos = cachedResult.nextPos;
6264 return cachedResult.result;
6265 }
6266
6267
6268 var result11 = parse_ThisToken();
6269 if (result11 !== null) {
6270 var result0 = result11;
6271 } else {
6272 var result10 = parse_Identifier();
6273 if (result10 !== null) {
6274 var result0 = result10;
6275 } else {
6276 var result9 = parse_Literal();
6277 if (result9 !== null) {
6278 var result0 = result9;
6279 } else {
6280 var result8 = parse_ArrayLiteral();
6281 if (result8 !== null) {
6282 var result0 = result8;
6283 } else {
6284 var result7 = parse_ObjectLiteral();
6285 if (result7 !== null) {
6286 var result0 = result7;
6287 } else {
6288 var savedPos0 = pos;
6289 if (input.substr(pos, 1) === "(") {
6290 var result2 = "(";
6291 pos += 1;
6292 } else {
6293 var result2 = null;
6294 if (reportMatchFailures) {
6295 matchFailed("\"(\"");
6296 }
6297 }
6298 if (result2 !== null) {
6299 var result3 = parse___();
6300 if (result3 !== null) {
6301 var result4 = parse_Expression();
6302 if (result4 !== null) {
6303 var result5 = parse___();
6304 if (result5 !== null) {
6305 if (input.substr(pos, 1) === ")") {
6306 var result6 = ")";
6307 pos += 1;
6308 } else {
6309 var result6 = null;
6310 if (reportMatchFailures) {
6311 matchFailed("\")\"");
6312 }
6313 }
6314 if (result6 !== null) {
6315 var result1 = [result2, result3, result4, result5, result6];
6316 } else {
6317 var result1 = null;
6318 pos = savedPos0;
6319 }
6320 } else {
6321 var result1 = null;
6322 pos = savedPos0;
6323 }
6324 } else {
6325 var result1 = null;
6326 pos = savedPos0;
6327 }
6328 } else {
6329 var result1 = null;
6330 pos = savedPos0;
6331 }
6332 } else {
6333 var result1 = null;
6334 pos = savedPos0;
6335 }
6336 if (result1 !== null) {
6337 var result0 = result1;
6338 } else {
6339 var result0 = null;;
6340 };
6341 };
6342 };
6343 };
6344 };
6345 }
6346
6347
6348
6349 cache[cacheKey] = {
6350 nextPos: pos,
6351 result: result0
6352 };
6353 return result0;
6354 }
6355
6356 function parse_ArrayLiteral() {
6357 var cacheKey = 'ArrayLiteral@' + pos;
6358 var cachedResult = cache[cacheKey];
6359 if (cachedResult) {
6360 pos = cachedResult.nextPos;
6361 return cachedResult.result;
6362 }
6363
6364
6365 var savedPos0 = pos;
6366 if (input.substr(pos, 1) === "[") {
6367 var result1 = "[";
6368 pos += 1;
6369 } else {
6370 var result1 = null;
6371 if (reportMatchFailures) {
6372 matchFailed("\"[\"");
6373 }
6374 }
6375 if (result1 !== null) {
6376 var result2 = parse___();
6377 if (result2 !== null) {
6378 var result10 = parse_ElementList();
6379 var result3 = result10 !== null ? result10 : '';
6380 if (result3 !== null) {
6381 var result4 = parse___();
6382 if (result4 !== null) {
6383 var savedPos1 = pos;
6384 var result8 = parse_Elision();
6385 if (result8 !== null) {
6386 var result9 = parse___();
6387 if (result9 !== null) {
6388 var result7 = [result8, result9];
6389 } else {
6390 var result7 = null;
6391 pos = savedPos1;
6392 }
6393 } else {
6394 var result7 = null;
6395 pos = savedPos1;
6396 }
6397 var result5 = result7 !== null ? result7 : '';
6398 if (result5 !== null) {
6399 if (input.substr(pos, 1) === "]") {
6400 var result6 = "]";
6401 pos += 1;
6402 } else {
6403 var result6 = null;
6404 if (reportMatchFailures) {
6405 matchFailed("\"]\"");
6406 }
6407 }
6408 if (result6 !== null) {
6409 var result0 = [result1, result2, result3, result4, result5, result6];
6410 } else {
6411 var result0 = null;
6412 pos = savedPos0;
6413 }
6414 } else {
6415 var result0 = null;
6416 pos = savedPos0;
6417 }
6418 } else {
6419 var result0 = null;
6420 pos = savedPos0;
6421 }
6422 } else {
6423 var result0 = null;
6424 pos = savedPos0;
6425 }
6426 } else {
6427 var result0 = null;
6428 pos = savedPos0;
6429 }
6430 } else {
6431 var result0 = null;
6432 pos = savedPos0;
6433 }
6434
6435
6436
6437 cache[cacheKey] = {
6438 nextPos: pos,
6439 result: result0
6440 };
6441 return result0;
6442 }
6443
6444 function parse_ElementList() {
6445 var cacheKey = 'ElementList@' + pos;
6446 var cachedResult = cache[cacheKey];
6447 if (cachedResult) {
6448 pos = cachedResult.nextPos;
6449 return cachedResult.result;
6450 }
6451
6452
6453 var savedPos0 = pos;
6454 var savedPos2 = pos;
6455 var result13 = parse_Elision();
6456 if (result13 !== null) {
6457 var result14 = parse___();
6458 if (result14 !== null) {
6459 var result12 = [result13, result14];
6460 } else {
6461 var result12 = null;
6462 pos = savedPos2;
6463 }
6464 } else {
6465 var result12 = null;
6466 pos = savedPos2;
6467 }
6468 var result1 = result12 !== null ? result12 : '';
6469 if (result1 !== null) {
6470 var result2 = parse_AssignmentExpression();
6471 if (result2 !== null) {
6472 var result3 = [];
6473 var savedPos1 = pos;
6474 var result5 = parse___();
6475 if (result5 !== null) {
6476 if (input.substr(pos, 1) === ",") {
6477 var result6 = ",";
6478 pos += 1;
6479 } else {
6480 var result6 = null;
6481 if (reportMatchFailures) {
6482 matchFailed("\",\"");
6483 }
6484 }
6485 if (result6 !== null) {
6486 var result7 = parse___();
6487 if (result7 !== null) {
6488 var result11 = parse_Elision();
6489 var result8 = result11 !== null ? result11 : '';
6490 if (result8 !== null) {
6491 var result9 = parse___();
6492 if (result9 !== null) {
6493 var result10 = parse_AssignmentExpression();
6494 if (result10 !== null) {
6495 var result4 = [result5, result6, result7, result8, result9, result10];
6496 } else {
6497 var result4 = null;
6498 pos = savedPos1;
6499 }
6500 } else {
6501 var result4 = null;
6502 pos = savedPos1;
6503 }
6504 } else {
6505 var result4 = null;
6506 pos = savedPos1;
6507 }
6508 } else {
6509 var result4 = null;
6510 pos = savedPos1;
6511 }
6512 } else {
6513 var result4 = null;
6514 pos = savedPos1;
6515 }
6516 } else {
6517 var result4 = null;
6518 pos = savedPos1;
6519 }
6520 while (result4 !== null) {
6521 result3.push(result4);
6522 var savedPos1 = pos;
6523 var result5 = parse___();
6524 if (result5 !== null) {
6525 if (input.substr(pos, 1) === ",") {
6526 var result6 = ",";
6527 pos += 1;
6528 } else {
6529 var result6 = null;
6530 if (reportMatchFailures) {
6531 matchFailed("\",\"");
6532 }
6533 }
6534 if (result6 !== null) {
6535 var result7 = parse___();
6536 if (result7 !== null) {
6537 var result11 = parse_Elision();
6538 var result8 = result11 !== null ? result11 : '';
6539 if (result8 !== null) {
6540 var result9 = parse___();
6541 if (result9 !== null) {
6542 var result10 = parse_AssignmentExpression();
6543 if (result10 !== null) {
6544 var result4 = [result5, result6, result7, result8, result9, result10];
6545 } else {
6546 var result4 = null;
6547 pos = savedPos1;
6548 }
6549 } else {
6550 var result4 = null;
6551 pos = savedPos1;
6552 }
6553 } else {
6554 var result4 = null;
6555 pos = savedPos1;
6556 }
6557 } else {
6558 var result4 = null;
6559 pos = savedPos1;
6560 }
6561 } else {
6562 var result4 = null;
6563 pos = savedPos1;
6564 }
6565 } else {
6566 var result4 = null;
6567 pos = savedPos1;
6568 }
6569 }
6570 if (result3 !== null) {
6571 var result0 = [result1, result2, result3];
6572 } else {
6573 var result0 = null;
6574 pos = savedPos0;
6575 }
6576 } else {
6577 var result0 = null;
6578 pos = savedPos0;
6579 }
6580 } else {
6581 var result0 = null;
6582 pos = savedPos0;
6583 }
6584
6585
6586
6587 cache[cacheKey] = {
6588 nextPos: pos,
6589 result: result0
6590 };
6591 return result0;
6592 }
6593
6594 function parse_Elision() {
6595 var cacheKey = 'Elision@' + pos;
6596 var cachedResult = cache[cacheKey];
6597 if (cachedResult) {
6598 pos = cachedResult.nextPos;
6599 return cachedResult.result;
6600 }
6601
6602
6603 var savedPos0 = pos;
6604 if (input.substr(pos, 1) === ",") {
6605 var result1 = ",";
6606 pos += 1;
6607 } else {
6608 var result1 = null;
6609 if (reportMatchFailures) {
6610 matchFailed("\",\"");
6611 }
6612 }
6613 if (result1 !== null) {
6614 var result2 = [];
6615 var savedPos1 = pos;
6616 var result4 = parse___();
6617 if (result4 !== null) {
6618 if (input.substr(pos, 1) === ",") {
6619 var result5 = ",";
6620 pos += 1;
6621 } else {
6622 var result5 = null;
6623 if (reportMatchFailures) {
6624 matchFailed("\",\"");
6625 }
6626 }
6627 if (result5 !== null) {
6628 var result3 = [result4, result5];
6629 } else {
6630 var result3 = null;
6631 pos = savedPos1;
6632 }
6633 } else {
6634 var result3 = null;
6635 pos = savedPos1;
6636 }
6637 while (result3 !== null) {
6638 result2.push(result3);
6639 var savedPos1 = pos;
6640 var result4 = parse___();
6641 if (result4 !== null) {
6642 if (input.substr(pos, 1) === ",") {
6643 var result5 = ",";
6644 pos += 1;
6645 } else {
6646 var result5 = null;
6647 if (reportMatchFailures) {
6648 matchFailed("\",\"");
6649 }
6650 }
6651 if (result5 !== null) {
6652 var result3 = [result4, result5];
6653 } else {
6654 var result3 = null;
6655 pos = savedPos1;
6656 }
6657 } else {
6658 var result3 = null;
6659 pos = savedPos1;
6660 }
6661 }
6662 if (result2 !== null) {
6663 var result0 = [result1, result2];
6664 } else {
6665 var result0 = null;
6666 pos = savedPos0;
6667 }
6668 } else {
6669 var result0 = null;
6670 pos = savedPos0;
6671 }
6672
6673
6674
6675 cache[cacheKey] = {
6676 nextPos: pos,
6677 result: result0
6678 };
6679 return result0;
6680 }
6681
6682 function parse_ObjectLiteral() {
6683 var cacheKey = 'ObjectLiteral@' + pos;
6684 var cachedResult = cache[cacheKey];
6685 if (cachedResult) {
6686 pos = cachedResult.nextPos;
6687 return cachedResult.result;
6688 }
6689
6690
6691 var savedPos0 = pos;
6692 if (input.substr(pos, 1) === "{") {
6693 var result1 = "{";
6694 pos += 1;
6695 } else {
6696 var result1 = null;
6697 if (reportMatchFailures) {
6698 matchFailed("\"{\"");
6699 }
6700 }
6701 if (result1 !== null) {
6702 var result2 = parse___();
6703 if (result2 !== null) {
6704 var savedPos1 = pos;
6705 var result6 = parse_PropertyNameAndValueList();
6706 if (result6 !== null) {
6707 var result7 = parse___();
6708 if (result7 !== null) {
6709 var savedPos2 = pos;
6710 if (input.substr(pos, 1) === ",") {
6711 var result10 = ",";
6712 pos += 1;
6713 } else {
6714 var result10 = null;
6715 if (reportMatchFailures) {
6716 matchFailed("\",\"");
6717 }
6718 }
6719 if (result10 !== null) {
6720 var result11 = parse___();
6721 if (result11 !== null) {
6722 var result9 = [result10, result11];
6723 } else {
6724 var result9 = null;
6725 pos = savedPos2;
6726 }
6727 } else {
6728 var result9 = null;
6729 pos = savedPos2;
6730 }
6731 var result8 = result9 !== null ? result9 : '';
6732 if (result8 !== null) {
6733 var result5 = [result6, result7, result8];
6734 } else {
6735 var result5 = null;
6736 pos = savedPos1;
6737 }
6738 } else {
6739 var result5 = null;
6740 pos = savedPos1;
6741 }
6742 } else {
6743 var result5 = null;
6744 pos = savedPos1;
6745 }
6746 var result3 = result5 !== null ? result5 : '';
6747 if (result3 !== null) {
6748 if (input.substr(pos, 1) === "}") {
6749 var result4 = "}";
6750 pos += 1;
6751 } else {
6752 var result4 = null;
6753 if (reportMatchFailures) {
6754 matchFailed("\"}\"");
6755 }
6756 }
6757 if (result4 !== null) {
6758 var result0 = [result1, result2, result3, result4];
6759 } else {
6760 var result0 = null;
6761 pos = savedPos0;
6762 }
6763 } else {
6764 var result0 = null;
6765 pos = savedPos0;
6766 }
6767 } else {
6768 var result0 = null;
6769 pos = savedPos0;
6770 }
6771 } else {
6772 var result0 = null;
6773 pos = savedPos0;
6774 }
6775
6776
6777
6778 cache[cacheKey] = {
6779 nextPos: pos,
6780 result: result0
6781 };
6782 return result0;
6783 }
6784
6785 function parse_PropertyNameAndValueList() {
6786 var cacheKey = 'PropertyNameAndValueList@' + pos;
6787 var cachedResult = cache[cacheKey];
6788 if (cachedResult) {
6789 pos = cachedResult.nextPos;
6790 return cachedResult.result;
6791 }
6792
6793
6794 var savedPos0 = pos;
6795 var result1 = parse_PropertyAssignment();
6796 if (result1 !== null) {
6797 var result2 = [];
6798 var savedPos1 = pos;
6799 var result4 = parse___();
6800 if (result4 !== null) {
6801 if (input.substr(pos, 1) === ",") {
6802 var result5 = ",";
6803 pos += 1;
6804 } else {
6805 var result5 = null;
6806 if (reportMatchFailures) {
6807 matchFailed("\",\"");
6808 }
6809 }
6810 if (result5 !== null) {
6811 var result6 = parse___();
6812 if (result6 !== null) {
6813 var result7 = parse_PropertyAssignment();
6814 if (result7 !== null) {
6815 var result3 = [result4, result5, result6, result7];
6816 } else {
6817 var result3 = null;
6818 pos = savedPos1;
6819 }
6820 } else {
6821 var result3 = null;
6822 pos = savedPos1;
6823 }
6824 } else {
6825 var result3 = null;
6826 pos = savedPos1;
6827 }
6828 } else {
6829 var result3 = null;
6830 pos = savedPos1;
6831 }
6832 while (result3 !== null) {
6833 result2.push(result3);
6834 var savedPos1 = pos;
6835 var result4 = parse___();
6836 if (result4 !== null) {
6837 if (input.substr(pos, 1) === ",") {
6838 var result5 = ",";
6839 pos += 1;
6840 } else {
6841 var result5 = null;
6842 if (reportMatchFailures) {
6843 matchFailed("\",\"");
6844 }
6845 }
6846 if (result5 !== null) {
6847 var result6 = parse___();
6848 if (result6 !== null) {
6849 var result7 = parse_PropertyAssignment();
6850 if (result7 !== null) {
6851 var result3 = [result4, result5, result6, result7];
6852 } else {
6853 var result3 = null;
6854 pos = savedPos1;
6855 }
6856 } else {
6857 var result3 = null;
6858 pos = savedPos1;
6859 }
6860 } else {
6861 var result3 = null;
6862 pos = savedPos1;
6863 }
6864 } else {
6865 var result3 = null;
6866 pos = savedPos1;
6867 }
6868 }
6869 if (result2 !== null) {
6870 var result0 = [result1, result2];
6871 } else {
6872 var result0 = null;
6873 pos = savedPos0;
6874 }
6875 } else {
6876 var result0 = null;
6877 pos = savedPos0;
6878 }
6879
6880
6881
6882 cache[cacheKey] = {
6883 nextPos: pos,
6884 result: result0
6885 };
6886 return result0;
6887 }
6888
6889 function parse_PropertyAssignment() {
6890 var cacheKey = 'PropertyAssignment@' + pos;
6891 var cachedResult = cache[cacheKey];
6892 if (cachedResult) {
6893 pos = cachedResult.nextPos;
6894 return cachedResult.result;
6895 }
6896
6897
6898 var savedPos2 = pos;
6899 var result32 = parse_PropertyName();
6900 if (result32 !== null) {
6901 var result33 = parse___();
6902 if (result33 !== null) {
6903 if (input.substr(pos, 1) === ":") {
6904 var result34 = ":";
6905 pos += 1;
6906 } else {
6907 var result34 = null;
6908 if (reportMatchFailures) {
6909 matchFailed("\":\"");
6910 }
6911 }
6912 if (result34 !== null) {
6913 var result35 = parse___();
6914 if (result35 !== null) {
6915 var result36 = parse_AssignmentExpression();
6916 if (result36 !== null) {
6917 var result31 = [result32, result33, result34, result35, result36];
6918 } else {
6919 var result31 = null;
6920 pos = savedPos2;
6921 }
6922 } else {
6923 var result31 = null;
6924 pos = savedPos2;
6925 }
6926 } else {
6927 var result31 = null;
6928 pos = savedPos2;
6929 }
6930 } else {
6931 var result31 = null;
6932 pos = savedPos2;
6933 }
6934 } else {
6935 var result31 = null;
6936 pos = savedPos2;
6937 }
6938 if (result31 !== null) {
6939 var result0 = result31;
6940 } else {
6941 var savedPos1 = pos;
6942 var result18 = parse_GetToken();
6943 if (result18 !== null) {
6944 var result19 = parse___();
6945 if (result19 !== null) {
6946 var result20 = parse_PropertyName();
6947 if (result20 !== null) {
6948 var result21 = parse___();
6949 if (result21 !== null) {
6950 if (input.substr(pos, 1) === "(") {
6951 var result22 = "(";
6952 pos += 1;
6953 } else {
6954 var result22 = null;
6955 if (reportMatchFailures) {
6956 matchFailed("\"(\"");
6957 }
6958 }
6959 if (result22 !== null) {
6960 var result23 = parse___();
6961 if (result23 !== null) {
6962 if (input.substr(pos, 1) === ")") {
6963 var result24 = ")";
6964 pos += 1;
6965 } else {
6966 var result24 = null;
6967 if (reportMatchFailures) {
6968 matchFailed("\")\"");
6969 }
6970 }
6971 if (result24 !== null) {
6972 var result25 = parse___();
6973 if (result25 !== null) {
6974 if (input.substr(pos, 1) === "{") {
6975 var result26 = "{";
6976 pos += 1;
6977 } else {
6978 var result26 = null;
6979 if (reportMatchFailures) {
6980 matchFailed("\"{\"");
6981 }
6982 }
6983 if (result26 !== null) {
6984 var result27 = parse___();
6985 if (result27 !== null) {
6986 var result28 = parse_FunctionBody();
6987 if (result28 !== null) {
6988 var result29 = parse___();
6989 if (result29 !== null) {
6990 if (input.substr(pos, 1) === "}") {
6991 var result30 = "}";
6992 pos += 1;
6993 } else {
6994 var result30 = null;
6995 if (reportMatchFailures) {
6996 matchFailed("\"}\"");
6997 }
6998 }
6999 if (result30 !== null) {
7000 var result17 = [result18, result19, result20, result21, result22, result23, result24, result25, result26, result27, result28, result29, result30];
7001 } else {
7002 var result17 = null;
7003 pos = savedPos1;
7004 }
7005 } else {
7006 var result17 = null;
7007 pos = savedPos1;
7008 }
7009 } else {
7010 var result17 = null;
7011 pos = savedPos1;
7012 }
7013 } else {
7014 var result17 = null;
7015 pos = savedPos1;
7016 }
7017 } else {
7018 var result17 = null;
7019 pos = savedPos1;
7020 }
7021 } else {
7022 var result17 = null;
7023 pos = savedPos1;
7024 }
7025 } else {
7026 var result17 = null;
7027 pos = savedPos1;
7028 }
7029 } else {
7030 var result17 = null;
7031 pos = savedPos1;
7032 }
7033 } else {
7034 var result17 = null;
7035 pos = savedPos1;
7036 }
7037 } else {
7038 var result17 = null;
7039 pos = savedPos1;
7040 }
7041 } else {
7042 var result17 = null;
7043 pos = savedPos1;
7044 }
7045 } else {
7046 var result17 = null;
7047 pos = savedPos1;
7048 }
7049 } else {
7050 var result17 = null;
7051 pos = savedPos1;
7052 }
7053 if (result17 !== null) {
7054 var result0 = result17;
7055 } else {
7056 var savedPos0 = pos;
7057 var result2 = parse_SetToken();
7058 if (result2 !== null) {
7059 var result3 = parse___();
7060 if (result3 !== null) {
7061 var result4 = parse_PropertyName();
7062 if (result4 !== null) {
7063 var result5 = parse___();
7064 if (result5 !== null) {
7065 if (input.substr(pos, 1) === "(") {
7066 var result6 = "(";
7067 pos += 1;
7068 } else {
7069 var result6 = null;
7070 if (reportMatchFailures) {
7071 matchFailed("\"(\"");
7072 }
7073 }
7074 if (result6 !== null) {
7075 var result7 = parse___();
7076 if (result7 !== null) {
7077 var result8 = parse_Identifier();
7078 if (result8 !== null) {
7079 var result9 = parse___();
7080 if (result9 !== null) {
7081 if (input.substr(pos, 1) === ")") {
7082 var result10 = ")";
7083 pos += 1;
7084 } else {
7085 var result10 = null;
7086 if (reportMatchFailures) {
7087 matchFailed("\")\"");
7088 }
7089 }
7090 if (result10 !== null) {
7091 var result11 = parse___();
7092 if (result11 !== null) {
7093 if (input.substr(pos, 1) === "{") {
7094 var result12 = "{";
7095 pos += 1;
7096 } else {
7097 var result12 = null;
7098 if (reportMatchFailures) {
7099 matchFailed("\"{\"");
7100 }
7101 }
7102 if (result12 !== null) {
7103 var result13 = parse___();
7104 if (result13 !== null) {
7105 var result14 = parse_FunctionBody();
7106 if (result14 !== null) {
7107 var result15 = parse___();
7108 if (result15 !== null) {
7109 if (input.substr(pos, 1) === "}") {
7110 var result16 = "}";
7111 pos += 1;
7112 } else {
7113 var result16 = null;
7114 if (reportMatchFailures) {
7115 matchFailed("\"}\"");
7116 }
7117 }
7118 if (result16 !== null) {
7119 var result1 = [result2, result3, result4, result5, result6, result7, result8, result9, result10, result11, result12, result13, result14, result15, result16];
7120 } else {
7121 var result1 = null;
7122 pos = savedPos0;
7123 }
7124 } else {
7125 var result1 = null;
7126 pos = savedPos0;
7127 }
7128 } else {
7129 var result1 = null;
7130 pos = savedPos0;
7131 }
7132 } else {
7133 var result1 = null;
7134 pos = savedPos0;
7135 }
7136 } else {
7137 var result1 = null;
7138 pos = savedPos0;
7139 }
7140 } else {
7141 var result1 = null;
7142 pos = savedPos0;
7143 }
7144 } else {
7145 var result1 = null;
7146 pos = savedPos0;
7147 }
7148 } else {
7149 var result1 = null;
7150 pos = savedPos0;
7151 }
7152 } else {
7153 var result1 = null;
7154 pos = savedPos0;
7155 }
7156 } else {
7157 var result1 = null;
7158 pos = savedPos0;
7159 }
7160 } else {
7161 var result1 = null;
7162 pos = savedPos0;
7163 }
7164 } else {
7165 var result1 = null;
7166 pos = savedPos0;
7167 }
7168 } else {
7169 var result1 = null;
7170 pos = savedPos0;
7171 }
7172 } else {
7173 var result1 = null;
7174 pos = savedPos0;
7175 }
7176 } else {
7177 var result1 = null;
7178 pos = savedPos0;
7179 }
7180 if (result1 !== null) {
7181 var result0 = result1;
7182 } else {
7183 var result0 = null;;
7184 };
7185 };
7186 }
7187
7188
7189
7190 cache[cacheKey] = {
7191 nextPos: pos,
7192 result: result0
7193 };
7194 return result0;
7195 }
7196
7197 function parse_PropertyName() {
7198 var cacheKey = 'PropertyName@' + pos;
7199 var cachedResult = cache[cacheKey];
7200 if (cachedResult) {
7201 pos = cachedResult.nextPos;
7202 return cachedResult.result;
7203 }
7204
7205
7206 var result3 = parse_IdentifierName();
7207 if (result3 !== null) {
7208 var result0 = result3;
7209 } else {
7210 var result2 = parse_StringLiteral();
7211 if (result2 !== null) {
7212 var result0 = result2;
7213 } else {
7214 var result1 = parse_NumericLiteral();
7215 if (result1 !== null) {
7216 var result0 = result1;
7217 } else {
7218 var result0 = null;;
7219 };
7220 };
7221 }
7222
7223
7224
7225 cache[cacheKey] = {
7226 nextPos: pos,
7227 result: result0
7228 };
7229 return result0;
7230 }
7231
7232 function parse_MemberExpression() {
7233 var cacheKey = 'MemberExpression@' + pos;
7234 var cachedResult = cache[cacheKey];
7235 if (cachedResult) {
7236 pos = cachedResult.nextPos;
7237 return cachedResult.result;
7238 }
7239
7240
7241 var savedPos0 = pos;
7242 var result23 = parse_PrimaryExpression();
7243 if (result23 !== null) {
7244 var result1 = result23;
7245 } else {
7246 var result22 = parse_FunctionExpression();
7247 if (result22 !== null) {
7248 var result1 = result22;
7249 } else {
7250 var savedPos3 = pos;
7251 var result17 = parse_NewToken();
7252 if (result17 !== null) {
7253 var result18 = parse___();
7254 if (result18 !== null) {
7255 var result19 = parse_MemberExpression();
7256 if (result19 !== null) {
7257 var result20 = parse___();
7258 if (result20 !== null) {
7259 var result21 = parse_Arguments();
7260 if (result21 !== null) {
7261 var result16 = [result17, result18, result19, result20, result21];
7262 } else {
7263 var result16 = null;
7264 pos = savedPos3;
7265 }
7266 } else {
7267 var result16 = null;
7268 pos = savedPos3;
7269 }
7270 } else {
7271 var result16 = null;
7272 pos = savedPos3;
7273 }
7274 } else {
7275 var result16 = null;
7276 pos = savedPos3;
7277 }
7278 } else {
7279 var result16 = null;
7280 pos = savedPos3;
7281 }
7282 if (result16 !== null) {
7283 var result1 = result16;
7284 } else {
7285 var result1 = null;;
7286 };
7287 };
7288 }
7289 if (result1 !== null) {
7290 var result2 = [];
7291 var savedPos2 = pos;
7292 var result10 = parse___();
7293 if (result10 !== null) {
7294 if (input.substr(pos, 1) === "[") {
7295 var result11 = "[";
7296 pos += 1;
7297 } else {
7298 var result11 = null;
7299 if (reportMatchFailures) {
7300 matchFailed("\"[\"");
7301 }
7302 }
7303 if (result11 !== null) {
7304 var result12 = parse___();
7305 if (result12 !== null) {
7306 var result13 = parse_Expression();
7307 if (result13 !== null) {
7308 var result14 = parse___();
7309 if (result14 !== null) {
7310 if (input.substr(pos, 1) === "]") {
7311 var result15 = "]";
7312 pos += 1;
7313 } else {
7314 var result15 = null;
7315 if (reportMatchFailures) {
7316 matchFailed("\"]\"");
7317 }
7318 }
7319 if (result15 !== null) {
7320 var result9 = [result10, result11, result12, result13, result14, result15];
7321 } else {
7322 var result9 = null;
7323 pos = savedPos2;
7324 }
7325 } else {
7326 var result9 = null;
7327 pos = savedPos2;
7328 }
7329 } else {
7330 var result9 = null;
7331 pos = savedPos2;
7332 }
7333 } else {
7334 var result9 = null;
7335 pos = savedPos2;
7336 }
7337 } else {
7338 var result9 = null;
7339 pos = savedPos2;
7340 }
7341 } else {
7342 var result9 = null;
7343 pos = savedPos2;
7344 }
7345 if (result9 !== null) {
7346 var result3 = result9;
7347 } else {
7348 var savedPos1 = pos;
7349 var result5 = parse___();
7350 if (result5 !== null) {
7351 if (input.substr(pos, 1) === ".") {
7352 var result6 = ".";
7353 pos += 1;
7354 } else {
7355 var result6 = null;
7356 if (reportMatchFailures) {
7357 matchFailed("\".\"");
7358 }
7359 }
7360 if (result6 !== null) {
7361 var result7 = parse___();
7362 if (result7 !== null) {
7363 var result8 = parse_IdentifierName();
7364 if (result8 !== null) {
7365 var result4 = [result5, result6, result7, result8];
7366 } else {
7367 var result4 = null;
7368 pos = savedPos1;
7369 }
7370 } else {
7371 var result4 = null;
7372 pos = savedPos1;
7373 }
7374 } else {
7375 var result4 = null;
7376 pos = savedPos1;
7377 }
7378 } else {
7379 var result4 = null;
7380 pos = savedPos1;
7381 }
7382 if (result4 !== null) {
7383 var result3 = result4;
7384 } else {
7385 var result3 = null;;
7386 };
7387 }
7388 while (result3 !== null) {
7389 result2.push(result3);
7390 var savedPos2 = pos;
7391 var result10 = parse___();
7392 if (result10 !== null) {
7393 if (input.substr(pos, 1) === "[") {
7394 var result11 = "[";
7395 pos += 1;
7396 } else {
7397 var result11 = null;
7398 if (reportMatchFailures) {
7399 matchFailed("\"[\"");
7400 }
7401 }
7402 if (result11 !== null) {
7403 var result12 = parse___();
7404 if (result12 !== null) {
7405 var result13 = parse_Expression();
7406 if (result13 !== null) {
7407 var result14 = parse___();
7408 if (result14 !== null) {
7409 if (input.substr(pos, 1) === "]") {
7410 var result15 = "]";
7411 pos += 1;
7412 } else {
7413 var result15 = null;
7414 if (reportMatchFailures) {
7415 matchFailed("\"]\"");
7416 }
7417 }
7418 if (result15 !== null) {
7419 var result9 = [result10, result11, result12, result13, result14, result15];
7420 } else {
7421 var result9 = null;
7422 pos = savedPos2;
7423 }
7424 } else {
7425 var result9 = null;
7426 pos = savedPos2;
7427 }
7428 } else {
7429 var result9 = null;
7430 pos = savedPos2;
7431 }
7432 } else {
7433 var result9 = null;
7434 pos = savedPos2;
7435 }
7436 } else {
7437 var result9 = null;
7438 pos = savedPos2;
7439 }
7440 } else {
7441 var result9 = null;
7442 pos = savedPos2;
7443 }
7444 if (result9 !== null) {
7445 var result3 = result9;
7446 } else {
7447 var savedPos1 = pos;
7448 var result5 = parse___();
7449 if (result5 !== null) {
7450 if (input.substr(pos, 1) === ".") {
7451 var result6 = ".";
7452 pos += 1;
7453 } else {
7454 var result6 = null;
7455 if (reportMatchFailures) {
7456 matchFailed("\".\"");
7457 }
7458 }
7459 if (result6 !== null) {
7460 var result7 = parse___();
7461 if (result7 !== null) {
7462 var result8 = parse_IdentifierName();
7463 if (result8 !== null) {
7464 var result4 = [result5, result6, result7, result8];
7465 } else {
7466 var result4 = null;
7467 pos = savedPos1;
7468 }
7469 } else {
7470 var result4 = null;
7471 pos = savedPos1;
7472 }
7473 } else {
7474 var result4 = null;
7475 pos = savedPos1;
7476 }
7477 } else {
7478 var result4 = null;
7479 pos = savedPos1;
7480 }
7481 if (result4 !== null) {
7482 var result3 = result4;
7483 } else {
7484 var result3 = null;;
7485 };
7486 }
7487 }
7488 if (result2 !== null) {
7489 var result0 = [result1, result2];
7490 } else {
7491 var result0 = null;
7492 pos = savedPos0;
7493 }
7494 } else {
7495 var result0 = null;
7496 pos = savedPos0;
7497 }
7498
7499
7500
7501 cache[cacheKey] = {
7502 nextPos: pos,
7503 result: result0
7504 };
7505 return result0;
7506 }
7507
7508 function parse_NewExpression() {
7509 var cacheKey = 'NewExpression@' + pos;
7510 var cachedResult = cache[cacheKey];
7511 if (cachedResult) {
7512 pos = cachedResult.nextPos;
7513 return cachedResult.result;
7514 }
7515
7516
7517 var result5 = parse_MemberExpression();
7518 if (result5 !== null) {
7519 var result0 = result5;
7520 } else {
7521 var savedPos0 = pos;
7522 var result2 = parse_NewToken();
7523 if (result2 !== null) {
7524 var result3 = parse___();
7525 if (result3 !== null) {
7526 var result4 = parse_NewExpression();
7527 if (result4 !== null) {
7528 var result1 = [result2, result3, result4];
7529 } else {
7530 var result1 = null;
7531 pos = savedPos0;
7532 }
7533 } else {
7534 var result1 = null;
7535 pos = savedPos0;
7536 }
7537 } else {
7538 var result1 = null;
7539 pos = savedPos0;
7540 }
7541 if (result1 !== null) {
7542 var result0 = result1;
7543 } else {
7544 var result0 = null;;
7545 };
7546 }
7547
7548
7549
7550 cache[cacheKey] = {
7551 nextPos: pos,
7552 result: result0
7553 };
7554 return result0;
7555 }
7556
7557 function parse_CallExpression() {
7558 var cacheKey = 'CallExpression@' + pos;
7559 var cachedResult = cache[cacheKey];
7560 if (cachedResult) {
7561 pos = cachedResult.nextPos;
7562 return cachedResult.result;
7563 }
7564
7565
7566 var savedPos0 = pos;
7567 var savedPos4 = pos;
7568 var result19 = parse_MemberExpression();
7569 if (result19 !== null) {
7570 var result20 = parse___();
7571 if (result20 !== null) {
7572 var result21 = parse_Arguments();
7573 if (result21 !== null) {
7574 var result1 = [result19, result20, result21];
7575 } else {
7576 var result1 = null;
7577 pos = savedPos4;
7578 }
7579 } else {
7580 var result1 = null;
7581 pos = savedPos4;
7582 }
7583 } else {
7584 var result1 = null;
7585 pos = savedPos4;
7586 }
7587 if (result1 !== null) {
7588 var result2 = [];
7589 var savedPos3 = pos;
7590 var result17 = parse___();
7591 if (result17 !== null) {
7592 var result18 = parse_Arguments();
7593 if (result18 !== null) {
7594 var result16 = [result17, result18];
7595 } else {
7596 var result16 = null;
7597 pos = savedPos3;
7598 }
7599 } else {
7600 var result16 = null;
7601 pos = savedPos3;
7602 }
7603 if (result16 !== null) {
7604 var result3 = result16;
7605 } else {
7606 var savedPos2 = pos;
7607 var result10 = parse___();
7608 if (result10 !== null) {
7609 if (input.substr(pos, 1) === "[") {
7610 var result11 = "[";
7611 pos += 1;
7612 } else {
7613 var result11 = null;
7614 if (reportMatchFailures) {
7615 matchFailed("\"[\"");
7616 }
7617 }
7618 if (result11 !== null) {
7619 var result12 = parse___();
7620 if (result12 !== null) {
7621 var result13 = parse_Expression();
7622 if (result13 !== null) {
7623 var result14 = parse___();
7624 if (result14 !== null) {
7625 if (input.substr(pos, 1) === "]") {
7626 var result15 = "]";
7627 pos += 1;
7628 } else {
7629 var result15 = null;
7630 if (reportMatchFailures) {
7631 matchFailed("\"]\"");
7632 }
7633 }
7634 if (result15 !== null) {
7635 var result9 = [result10, result11, result12, result13, result14, result15];
7636 } else {
7637 var result9 = null;
7638 pos = savedPos2;
7639 }
7640 } else {
7641 var result9 = null;
7642 pos = savedPos2;
7643 }
7644 } else {
7645 var result9 = null;
7646 pos = savedPos2;
7647 }
7648 } else {
7649 var result9 = null;
7650 pos = savedPos2;
7651 }
7652 } else {
7653 var result9 = null;
7654 pos = savedPos2;
7655 }
7656 } else {
7657 var result9 = null;
7658 pos = savedPos2;
7659 }
7660 if (result9 !== null) {
7661 var result3 = result9;
7662 } else {
7663 var savedPos1 = pos;
7664 var result5 = parse___();
7665 if (result5 !== null) {
7666 if (input.substr(pos, 1) === ".") {
7667 var result6 = ".";
7668 pos += 1;
7669 } else {
7670 var result6 = null;
7671 if (reportMatchFailures) {
7672 matchFailed("\".\"");
7673 }
7674 }
7675 if (result6 !== null) {
7676 var result7 = parse___();
7677 if (result7 !== null) {
7678 var result8 = parse_IdentifierName();
7679 if (result8 !== null) {
7680 var result4 = [result5, result6, result7, result8];
7681 } else {
7682 var result4 = null;
7683 pos = savedPos1;
7684 }
7685 } else {
7686 var result4 = null;
7687 pos = savedPos1;
7688 }
7689 } else {
7690 var result4 = null;
7691 pos = savedPos1;
7692 }
7693 } else {
7694 var result4 = null;
7695 pos = savedPos1;
7696 }
7697 if (result4 !== null) {
7698 var result3 = result4;
7699 } else {
7700 var result3 = null;;
7701 };
7702 };
7703 }
7704 while (result3 !== null) {
7705 result2.push(result3);
7706 var savedPos3 = pos;
7707 var result17 = parse___();
7708 if (result17 !== null) {
7709 var result18 = parse_Arguments();
7710 if (result18 !== null) {
7711 var result16 = [result17, result18];
7712 } else {
7713 var result16 = null;
7714 pos = savedPos3;
7715 }
7716 } else {
7717 var result16 = null;
7718 pos = savedPos3;
7719 }
7720 if (result16 !== null) {
7721 var result3 = result16;
7722 } else {
7723 var savedPos2 = pos;
7724 var result10 = parse___();
7725 if (result10 !== null) {
7726 if (input.substr(pos, 1) === "[") {
7727 var result11 = "[";
7728 pos += 1;
7729 } else {
7730 var result11 = null;
7731 if (reportMatchFailures) {
7732 matchFailed("\"[\"");
7733 }
7734 }
7735 if (result11 !== null) {
7736 var result12 = parse___();
7737 if (result12 !== null) {
7738 var result13 = parse_Expression();
7739 if (result13 !== null) {
7740 var result14 = parse___();
7741 if (result14 !== null) {
7742 if (input.substr(pos, 1) === "]") {
7743 var result15 = "]";
7744 pos += 1;
7745 } else {
7746 var result15 = null;
7747 if (reportMatchFailures) {
7748 matchFailed("\"]\"");
7749 }
7750 }
7751 if (result15 !== null) {
7752 var result9 = [result10, result11, result12, result13, result14, result15];
7753 } else {
7754 var result9 = null;
7755 pos = savedPos2;
7756 }
7757 } else {
7758 var result9 = null;
7759 pos = savedPos2;
7760 }
7761 } else {
7762 var result9 = null;
7763 pos = savedPos2;
7764 }
7765 } else {
7766 var result9 = null;
7767 pos = savedPos2;
7768 }
7769 } else {
7770 var result9 = null;
7771 pos = savedPos2;
7772 }
7773 } else {
7774 var result9 = null;
7775 pos = savedPos2;
7776 }
7777 if (result9 !== null) {
7778 var result3 = result9;
7779 } else {
7780 var savedPos1 = pos;
7781 var result5 = parse___();
7782 if (result5 !== null) {
7783 if (input.substr(pos, 1) === ".") {
7784 var result6 = ".";
7785 pos += 1;
7786 } else {
7787 var result6 = null;
7788 if (reportMatchFailures) {
7789 matchFailed("\".\"");
7790 }
7791 }
7792 if (result6 !== null) {
7793 var result7 = parse___();
7794 if (result7 !== null) {
7795 var result8 = parse_IdentifierName();
7796 if (result8 !== null) {
7797 var result4 = [result5, result6, result7, result8];
7798 } else {
7799 var result4 = null;
7800 pos = savedPos1;
7801 }
7802 } else {
7803 var result4 = null;
7804 pos = savedPos1;
7805 }
7806 } else {
7807 var result4 = null;
7808 pos = savedPos1;
7809 }
7810 } else {
7811 var result4 = null;
7812 pos = savedPos1;
7813 }
7814 if (result4 !== null) {
7815 var result3 = result4;
7816 } else {
7817 var result3 = null;;
7818 };
7819 };
7820 }
7821 }
7822 if (result2 !== null) {
7823 var result0 = [result1, result2];
7824 } else {
7825 var result0 = null;
7826 pos = savedPos0;
7827 }
7828 } else {
7829 var result0 = null;
7830 pos = savedPos0;
7831 }
7832
7833
7834
7835 cache[cacheKey] = {
7836 nextPos: pos,
7837 result: result0
7838 };
7839 return result0;
7840 }
7841
7842 function parse_Arguments() {
7843 var cacheKey = 'Arguments@' + pos;
7844 var cachedResult = cache[cacheKey];
7845 if (cachedResult) {
7846 pos = cachedResult.nextPos;
7847 return cachedResult.result;
7848 }
7849
7850
7851 var savedPos0 = pos;
7852 if (input.substr(pos, 1) === "(") {
7853 var result1 = "(";
7854 pos += 1;
7855 } else {
7856 var result1 = null;
7857 if (reportMatchFailures) {
7858 matchFailed("\"(\"");
7859 }
7860 }
7861 if (result1 !== null) {
7862 var result2 = parse___();
7863 if (result2 !== null) {
7864 var result6 = parse_ArgumentList();
7865 var result3 = result6 !== null ? result6 : '';
7866 if (result3 !== null) {
7867 var result4 = parse___();
7868 if (result4 !== null) {
7869 if (input.substr(pos, 1) === ")") {
7870 var result5 = ")";
7871 pos += 1;
7872 } else {
7873 var result5 = null;
7874 if (reportMatchFailures) {
7875 matchFailed("\")\"");
7876 }
7877 }
7878 if (result5 !== null) {
7879 var result0 = [result1, result2, result3, result4, result5];
7880 } else {
7881 var result0 = null;
7882 pos = savedPos0;
7883 }
7884 } else {
7885 var result0 = null;
7886 pos = savedPos0;
7887 }
7888 } else {
7889 var result0 = null;
7890 pos = savedPos0;
7891 }
7892 } else {
7893 var result0 = null;
7894 pos = savedPos0;
7895 }
7896 } else {
7897 var result0 = null;
7898 pos = savedPos0;
7899 }
7900
7901
7902
7903 cache[cacheKey] = {
7904 nextPos: pos,
7905 result: result0
7906 };
7907 return result0;
7908 }
7909
7910 function parse_ArgumentList() {
7911 var cacheKey = 'ArgumentList@' + pos;
7912 var cachedResult = cache[cacheKey];
7913 if (cachedResult) {
7914 pos = cachedResult.nextPos;
7915 return cachedResult.result;
7916 }
7917
7918
7919 var savedPos0 = pos;
7920 var result1 = parse_AssignmentExpression();
7921 if (result1 !== null) {
7922 var result2 = [];
7923 var savedPos1 = pos;
7924 var result4 = parse___();
7925 if (result4 !== null) {
7926 if (input.substr(pos, 1) === ",") {
7927 var result5 = ",";
7928 pos += 1;
7929 } else {
7930 var result5 = null;
7931 if (reportMatchFailures) {
7932 matchFailed("\",\"");
7933 }
7934 }
7935 if (result5 !== null) {
7936 var result6 = parse___();
7937 if (result6 !== null) {
7938 var result7 = parse_AssignmentExpression();
7939 if (result7 !== null) {
7940 var result3 = [result4, result5, result6, result7];
7941 } else {
7942 var result3 = null;
7943 pos = savedPos1;
7944 }
7945 } else {
7946 var result3 = null;
7947 pos = savedPos1;
7948 }
7949 } else {
7950 var result3 = null;
7951 pos = savedPos1;
7952 }
7953 } else {
7954 var result3 = null;
7955 pos = savedPos1;
7956 }
7957 while (result3 !== null) {
7958 result2.push(result3);
7959 var savedPos1 = pos;
7960 var result4 = parse___();
7961 if (result4 !== null) {
7962 if (input.substr(pos, 1) === ",") {
7963 var result5 = ",";
7964 pos += 1;
7965 } else {
7966 var result5 = null;
7967 if (reportMatchFailures) {
7968 matchFailed("\",\"");
7969 }
7970 }
7971 if (result5 !== null) {
7972 var result6 = parse___();
7973 if (result6 !== null) {
7974 var result7 = parse_AssignmentExpression();
7975 if (result7 !== null) {
7976 var result3 = [result4, result5, result6, result7];
7977 } else {
7978 var result3 = null;
7979 pos = savedPos1;
7980 }
7981 } else {
7982 var result3 = null;
7983 pos = savedPos1;
7984 }
7985 } else {
7986 var result3 = null;
7987 pos = savedPos1;
7988 }
7989 } else {
7990 var result3 = null;
7991 pos = savedPos1;
7992 }
7993 }
7994 if (result2 !== null) {
7995 var result0 = [result1, result2];
7996 } else {
7997 var result0 = null;
7998 pos = savedPos0;
7999 }
8000 } else {
8001 var result0 = null;
8002 pos = savedPos0;
8003 }
8004
8005
8006
8007 cache[cacheKey] = {
8008 nextPos: pos,
8009 result: result0
8010 };
8011 return result0;
8012 }
8013
8014 function parse_LeftHandSideExpression() {
8015 var cacheKey = 'LeftHandSideExpression@' + pos;
8016 var cachedResult = cache[cacheKey];
8017 if (cachedResult) {
8018 pos = cachedResult.nextPos;
8019 return cachedResult.result;
8020 }
8021
8022
8023 var result2 = parse_CallExpression();
8024 if (result2 !== null) {
8025 var result0 = result2;
8026 } else {
8027 var result1 = parse_NewExpression();
8028 if (result1 !== null) {
8029 var result0 = result1;
8030 } else {
8031 var result0 = null;;
8032 };
8033 }
8034
8035
8036
8037 cache[cacheKey] = {
8038 nextPos: pos,
8039 result: result0
8040 };
8041 return result0;
8042 }
8043
8044 function parse_PostfixExpression() {
8045 var cacheKey = 'PostfixExpression@' + pos;
8046 var cachedResult = cache[cacheKey];
8047 if (cachedResult) {
8048 pos = cachedResult.nextPos;
8049 return cachedResult.result;
8050 }
8051
8052
8053 var savedPos0 = pos;
8054 var result3 = parse_LeftHandSideExpression();
8055 if (result3 !== null) {
8056 var result4 = parse__();
8057 if (result4 !== null) {
8058 var result5 = parse_PostfixOperator();
8059 if (result5 !== null) {
8060 var result2 = [result3, result4, result5];
8061 } else {
8062 var result2 = null;
8063 pos = savedPos0;
8064 }
8065 } else {
8066 var result2 = null;
8067 pos = savedPos0;
8068 }
8069 } else {
8070 var result2 = null;
8071 pos = savedPos0;
8072 }
8073 if (result2 !== null) {
8074 var result0 = result2;
8075 } else {
8076 var result1 = parse_LeftHandSideExpression();
8077 if (result1 !== null) {
8078 var result0 = result1;
8079 } else {
8080 var result0 = null;;
8081 };
8082 }
8083
8084
8085
8086 cache[cacheKey] = {
8087 nextPos: pos,
8088 result: result0
8089 };
8090 return result0;
8091 }
8092
8093 function parse_PostfixOperator() {
8094 var cacheKey = 'PostfixOperator@' + pos;
8095 var cachedResult = cache[cacheKey];
8096 if (cachedResult) {
8097 pos = cachedResult.nextPos;
8098 return cachedResult.result;
8099 }
8100
8101
8102 if (input.substr(pos, 2) === "++") {
8103 var result2 = "++";
8104 pos += 2;
8105 } else {
8106 var result2 = null;
8107 if (reportMatchFailures) {
8108 matchFailed("\"++\"");
8109 }
8110 }
8111 if (result2 !== null) {
8112 var result0 = result2;
8113 } else {
8114 if (input.substr(pos, 2) === "--") {
8115 var result1 = "--";
8116 pos += 2;
8117 } else {
8118 var result1 = null;
8119 if (reportMatchFailures) {
8120 matchFailed("\"--\"");
8121 }
8122 }
8123 if (result1 !== null) {
8124 var result0 = result1;
8125 } else {
8126 var result0 = null;;
8127 };
8128 }
8129
8130
8131
8132 cache[cacheKey] = {
8133 nextPos: pos,
8134 result: result0
8135 };
8136 return result0;
8137 }
8138
8139 function parse_UnaryExpression() {
8140 var cacheKey = 'UnaryExpression@' + pos;
8141 var cachedResult = cache[cacheKey];
8142 if (cachedResult) {
8143 pos = cachedResult.nextPos;
8144 return cachedResult.result;
8145 }
8146
8147
8148 var result5 = parse_PostfixExpression();
8149 if (result5 !== null) {
8150 var result0 = result5;
8151 } else {
8152 var savedPos0 = pos;
8153 var result2 = parse_UnaryOperator();
8154 if (result2 !== null) {
8155 var result3 = parse___();
8156 if (result3 !== null) {
8157 var result4 = parse_UnaryExpression();
8158 if (result4 !== null) {
8159 var result1 = [result2, result3, result4];
8160 } else {
8161 var result1 = null;
8162 pos = savedPos0;
8163 }
8164 } else {
8165 var result1 = null;
8166 pos = savedPos0;
8167 }
8168 } else {
8169 var result1 = null;
8170 pos = savedPos0;
8171 }
8172 if (result1 !== null) {
8173 var result0 = result1;
8174 } else {
8175 var result0 = null;;
8176 };
8177 }
8178
8179
8180
8181 cache[cacheKey] = {
8182 nextPos: pos,
8183 result: result0
8184 };
8185 return result0;
8186 }
8187
8188 function parse_UnaryOperator() {
8189 var cacheKey = 'UnaryOperator@' + pos;
8190 var cachedResult = cache[cacheKey];
8191 if (cachedResult) {
8192 pos = cachedResult.nextPos;
8193 return cachedResult.result;
8194 }
8195
8196
8197 var result9 = parse_DeleteToken();
8198 if (result9 !== null) {
8199 var result0 = result9;
8200 } else {
8201 var result8 = parse_VoidToken();
8202 if (result8 !== null) {
8203 var result0 = result8;
8204 } else {
8205 var result7 = parse_TypeofToken();
8206 if (result7 !== null) {
8207 var result0 = result7;
8208 } else {
8209 if (input.substr(pos, 2) === "++") {
8210 var result6 = "++";
8211 pos += 2;
8212 } else {
8213 var result6 = null;
8214 if (reportMatchFailures) {
8215 matchFailed("\"++\"");
8216 }
8217 }
8218 if (result6 !== null) {
8219 var result0 = result6;
8220 } else {
8221 if (input.substr(pos, 2) === "--") {
8222 var result5 = "--";
8223 pos += 2;
8224 } else {
8225 var result5 = null;
8226 if (reportMatchFailures) {
8227 matchFailed("\"--\"");
8228 }
8229 }
8230 if (result5 !== null) {
8231 var result0 = result5;
8232 } else {
8233 if (input.substr(pos, 1) === "+") {
8234 var result4 = "+";
8235 pos += 1;
8236 } else {
8237 var result4 = null;
8238 if (reportMatchFailures) {
8239 matchFailed("\"+\"");
8240 }
8241 }
8242 if (result4 !== null) {
8243 var result0 = result4;
8244 } else {
8245 if (input.substr(pos, 1) === "-") {
8246 var result3 = "-";
8247 pos += 1;
8248 } else {
8249 var result3 = null;
8250 if (reportMatchFailures) {
8251 matchFailed("\"-\"");
8252 }
8253 }
8254 if (result3 !== null) {
8255 var result0 = result3;
8256 } else {
8257 if (input.substr(pos, 1) === "~") {
8258 var result2 = "~";
8259 pos += 1;
8260 } else {
8261 var result2 = null;
8262 if (reportMatchFailures) {
8263 matchFailed("\"~\"");
8264 }
8265 }
8266 if (result2 !== null) {
8267 var result0 = result2;
8268 } else {
8269 if (input.substr(pos, 1) === "!") {
8270 var result1 = "!";
8271 pos += 1;
8272 } else {
8273 var result1 = null;
8274 if (reportMatchFailures) {
8275 matchFailed("\"!\"");
8276 }
8277 }
8278 if (result1 !== null) {
8279 var result0 = result1;
8280 } else {
8281 var result0 = null;;
8282 };
8283 };
8284 };
8285 };
8286 };
8287 };
8288 };
8289 };
8290 }
8291
8292
8293
8294 cache[cacheKey] = {
8295 nextPos: pos,
8296 result: result0
8297 };
8298 return result0;
8299 }
8300
8301 function parse_MultiplicativeExpression() {
8302 var cacheKey = 'MultiplicativeExpression@' + pos;
8303 var cachedResult = cache[cacheKey];
8304 if (cachedResult) {
8305 pos = cachedResult.nextPos;
8306 return cachedResult.result;
8307 }
8308
8309
8310 var savedPos0 = pos;
8311 var result1 = parse_UnaryExpression();
8312 if (result1 !== null) {
8313 var result2 = [];
8314 var savedPos1 = pos;
8315 var result4 = parse___();
8316 if (result4 !== null) {
8317 var result5 = parse_MultiplicativeOperator();
8318 if (result5 !== null) {
8319 var result6 = parse___();
8320 if (result6 !== null) {
8321 var result7 = parse_UnaryExpression();
8322 if (result7 !== null) {
8323 var result3 = [result4, result5, result6, result7];
8324 } else {
8325 var result3 = null;
8326 pos = savedPos1;
8327 }
8328 } else {
8329 var result3 = null;
8330 pos = savedPos1;
8331 }
8332 } else {
8333 var result3 = null;
8334 pos = savedPos1;
8335 }
8336 } else {
8337 var result3 = null;
8338 pos = savedPos1;
8339 }
8340 while (result3 !== null) {
8341 result2.push(result3);
8342 var savedPos1 = pos;
8343 var result4 = parse___();
8344 if (result4 !== null) {
8345 var result5 = parse_MultiplicativeOperator();
8346 if (result5 !== null) {
8347 var result6 = parse___();
8348 if (result6 !== null) {
8349 var result7 = parse_UnaryExpression();
8350 if (result7 !== null) {
8351 var result3 = [result4, result5, result6, result7];
8352 } else {
8353 var result3 = null;
8354 pos = savedPos1;
8355 }
8356 } else {
8357 var result3 = null;
8358 pos = savedPos1;
8359 }
8360 } else {
8361 var result3 = null;
8362 pos = savedPos1;
8363 }
8364 } else {
8365 var result3 = null;
8366 pos = savedPos1;
8367 }
8368 }
8369 if (result2 !== null) {
8370 var result0 = [result1, result2];
8371 } else {
8372 var result0 = null;
8373 pos = savedPos0;
8374 }
8375 } else {
8376 var result0 = null;
8377 pos = savedPos0;
8378 }
8379
8380
8381
8382 cache[cacheKey] = {
8383 nextPos: pos,
8384 result: result0
8385 };
8386 return result0;
8387 }
8388
8389 function parse_MultiplicativeOperator() {
8390 var cacheKey = 'MultiplicativeOperator@' + pos;
8391 var cachedResult = cache[cacheKey];
8392 if (cachedResult) {
8393 pos = cachedResult.nextPos;
8394 return cachedResult.result;
8395 }
8396
8397
8398 var savedPos0 = pos;
8399 if (input.substr(pos, 1) === "*") {
8400 var result6 = "*";
8401 pos += 1;
8402 } else {
8403 var result6 = null;
8404 if (reportMatchFailures) {
8405 matchFailed("\"*\"");
8406 }
8407 }
8408 if (result6 !== null) {
8409 var result1 = result6;
8410 } else {
8411 if (input.substr(pos, 1) === "/") {
8412 var result5 = "/";
8413 pos += 1;
8414 } else {
8415 var result5 = null;
8416 if (reportMatchFailures) {
8417 matchFailed("\"/\"");
8418 }
8419 }
8420 if (result5 !== null) {
8421 var result1 = result5;
8422 } else {
8423 if (input.substr(pos, 1) === "%") {
8424 var result4 = "%";
8425 pos += 1;
8426 } else {
8427 var result4 = null;
8428 if (reportMatchFailures) {
8429 matchFailed("\"%\"");
8430 }
8431 }
8432 if (result4 !== null) {
8433 var result1 = result4;
8434 } else {
8435 var result1 = null;;
8436 };
8437 };
8438 }
8439 if (result1 !== null) {
8440 var savedPos1 = pos;
8441 var savedReportMatchFailuresVar0 = reportMatchFailures;
8442 reportMatchFailures = false;
8443 if (input.substr(pos, 1) === "=") {
8444 var result3 = "=";
8445 pos += 1;
8446 } else {
8447 var result3 = null;
8448 if (reportMatchFailures) {
8449 matchFailed("\"=\"");
8450 }
8451 }
8452 reportMatchFailures = savedReportMatchFailuresVar0;
8453 if (result3 === null) {
8454 var result2 = '';
8455 } else {
8456 var result2 = null;
8457 pos = savedPos1;
8458 }
8459 if (result2 !== null) {
8460 var result0 = [result1, result2];
8461 } else {
8462 var result0 = null;
8463 pos = savedPos0;
8464 }
8465 } else {
8466 var result0 = null;
8467 pos = savedPos0;
8468 }
8469
8470
8471
8472 cache[cacheKey] = {
8473 nextPos: pos,
8474 result: result0
8475 };
8476 return result0;
8477 }
8478
8479 function parse_AdditiveExpression() {
8480 var cacheKey = 'AdditiveExpression@' + pos;
8481 var cachedResult = cache[cacheKey];
8482 if (cachedResult) {
8483 pos = cachedResult.nextPos;
8484 return cachedResult.result;
8485 }
8486
8487
8488 var savedPos0 = pos;
8489 var result1 = parse_MultiplicativeExpression();
8490 if (result1 !== null) {
8491 var result2 = [];
8492 var savedPos1 = pos;
8493 var result4 = parse___();
8494 if (result4 !== null) {
8495 var result5 = parse_AdditiveOperator();
8496 if (result5 !== null) {
8497 var result6 = parse___();
8498 if (result6 !== null) {
8499 var result7 = parse_MultiplicativeExpression();
8500 if (result7 !== null) {
8501 var result3 = [result4, result5, result6, result7];
8502 } else {
8503 var result3 = null;
8504 pos = savedPos1;
8505 }
8506 } else {
8507 var result3 = null;
8508 pos = savedPos1;
8509 }
8510 } else {
8511 var result3 = null;
8512 pos = savedPos1;
8513 }
8514 } else {
8515 var result3 = null;
8516 pos = savedPos1;
8517 }
8518 while (result3 !== null) {
8519 result2.push(result3);
8520 var savedPos1 = pos;
8521 var result4 = parse___();
8522 if (result4 !== null) {
8523 var result5 = parse_AdditiveOperator();
8524 if (result5 !== null) {
8525 var result6 = parse___();
8526 if (result6 !== null) {
8527 var result7 = parse_MultiplicativeExpression();
8528 if (result7 !== null) {
8529 var result3 = [result4, result5, result6, result7];
8530 } else {
8531 var result3 = null;
8532 pos = savedPos1;
8533 }
8534 } else {
8535 var result3 = null;
8536 pos = savedPos1;
8537 }
8538 } else {
8539 var result3 = null;
8540 pos = savedPos1;
8541 }
8542 } else {
8543 var result3 = null;
8544 pos = savedPos1;
8545 }
8546 }
8547 if (result2 !== null) {
8548 var result0 = [result1, result2];
8549 } else {
8550 var result0 = null;
8551 pos = savedPos0;
8552 }
8553 } else {
8554 var result0 = null;
8555 pos = savedPos0;
8556 }
8557
8558
8559
8560 cache[cacheKey] = {
8561 nextPos: pos,
8562 result: result0
8563 };
8564 return result0;
8565 }
8566
8567 function parse_AdditiveOperator() {
8568 var cacheKey = 'AdditiveOperator@' + pos;
8569 var cachedResult = cache[cacheKey];
8570 if (cachedResult) {
8571 pos = cachedResult.nextPos;
8572 return cachedResult.result;
8573 }
8574
8575
8576 var savedPos2 = pos;
8577 if (input.substr(pos, 1) === "+") {
8578 var result8 = "+";
8579 pos += 1;
8580 } else {
8581 var result8 = null;
8582 if (reportMatchFailures) {
8583 matchFailed("\"+\"");
8584 }
8585 }
8586 if (result8 !== null) {
8587 var savedPos3 = pos;
8588 var savedReportMatchFailuresVar1 = reportMatchFailures;
8589 reportMatchFailures = false;
8590 if (input.substr(pos, 1) === "+") {
8591 var result12 = "+";
8592 pos += 1;
8593 } else {
8594 var result12 = null;
8595 if (reportMatchFailures) {
8596 matchFailed("\"+\"");
8597 }
8598 }
8599 if (result12 !== null) {
8600 var result10 = result12;
8601 } else {
8602 if (input.substr(pos, 1) === "=") {
8603 var result11 = "=";
8604 pos += 1;
8605 } else {
8606 var result11 = null;
8607 if (reportMatchFailures) {
8608 matchFailed("\"=\"");
8609 }
8610 }
8611 if (result11 !== null) {
8612 var result10 = result11;
8613 } else {
8614 var result10 = null;;
8615 };
8616 }
8617 reportMatchFailures = savedReportMatchFailuresVar1;
8618 if (result10 === null) {
8619 var result9 = '';
8620 } else {
8621 var result9 = null;
8622 pos = savedPos3;
8623 }
8624 if (result9 !== null) {
8625 var result7 = [result8, result9];
8626 } else {
8627 var result7 = null;
8628 pos = savedPos2;
8629 }
8630 } else {
8631 var result7 = null;
8632 pos = savedPos2;
8633 }
8634 if (result7 !== null) {
8635 var result0 = result7;
8636 } else {
8637 var savedPos0 = pos;
8638 if (input.substr(pos, 1) === "-") {
8639 var result2 = "-";
8640 pos += 1;
8641 } else {
8642 var result2 = null;
8643 if (reportMatchFailures) {
8644 matchFailed("\"-\"");
8645 }
8646 }
8647 if (result2 !== null) {
8648 var savedPos1 = pos;
8649 var savedReportMatchFailuresVar0 = reportMatchFailures;
8650 reportMatchFailures = false;
8651 if (input.substr(pos, 1) === "-") {
8652 var result6 = "-";
8653 pos += 1;
8654 } else {
8655 var result6 = null;
8656 if (reportMatchFailures) {
8657 matchFailed("\"-\"");
8658 }
8659 }
8660 if (result6 !== null) {
8661 var result4 = result6;
8662 } else {
8663 if (input.substr(pos, 1) === "=") {
8664 var result5 = "=";
8665 pos += 1;
8666 } else {
8667 var result5 = null;
8668 if (reportMatchFailures) {
8669 matchFailed("\"=\"");
8670 }
8671 }
8672 if (result5 !== null) {
8673 var result4 = result5;
8674 } else {
8675 var result4 = null;;
8676 };
8677 }
8678 reportMatchFailures = savedReportMatchFailuresVar0;
8679 if (result4 === null) {
8680 var result3 = '';
8681 } else {
8682 var result3 = null;
8683 pos = savedPos1;
8684 }
8685 if (result3 !== null) {
8686 var result1 = [result2, result3];
8687 } else {
8688 var result1 = null;
8689 pos = savedPos0;
8690 }
8691 } else {
8692 var result1 = null;
8693 pos = savedPos0;
8694 }
8695 if (result1 !== null) {
8696 var result0 = result1;
8697 } else {
8698 var result0 = null;;
8699 };
8700 }
8701
8702
8703
8704 cache[cacheKey] = {
8705 nextPos: pos,
8706 result: result0
8707 };
8708 return result0;
8709 }
8710
8711 function parse_ShiftExpression() {
8712 var cacheKey = 'ShiftExpression@' + pos;
8713 var cachedResult = cache[cacheKey];
8714 if (cachedResult) {
8715 pos = cachedResult.nextPos;
8716 return cachedResult.result;
8717 }
8718
8719
8720 var savedPos0 = pos;
8721 var result1 = parse_AdditiveExpression();
8722 if (result1 !== null) {
8723 var result2 = [];
8724 var savedPos1 = pos;
8725 var result4 = parse___();
8726 if (result4 !== null) {
8727 var result5 = parse_ShiftOperator();
8728 if (result5 !== null) {
8729 var result6 = parse___();
8730 if (result6 !== null) {
8731 var result7 = parse_AdditiveExpression();
8732 if (result7 !== null) {
8733 var result3 = [result4, result5, result6, result7];
8734 } else {
8735 var result3 = null;
8736 pos = savedPos1;
8737 }
8738 } else {
8739 var result3 = null;
8740 pos = savedPos1;
8741 }
8742 } else {
8743 var result3 = null;
8744 pos = savedPos1;
8745 }
8746 } else {
8747 var result3 = null;
8748 pos = savedPos1;
8749 }
8750 while (result3 !== null) {
8751 result2.push(result3);
8752 var savedPos1 = pos;
8753 var result4 = parse___();
8754 if (result4 !== null) {
8755 var result5 = parse_ShiftOperator();
8756 if (result5 !== null) {
8757 var result6 = parse___();
8758 if (result6 !== null) {
8759 var result7 = parse_AdditiveExpression();
8760 if (result7 !== null) {
8761 var result3 = [result4, result5, result6, result7];
8762 } else {
8763 var result3 = null;
8764 pos = savedPos1;
8765 }
8766 } else {
8767 var result3 = null;
8768 pos = savedPos1;
8769 }
8770 } else {
8771 var result3 = null;
8772 pos = savedPos1;
8773 }
8774 } else {
8775 var result3 = null;
8776 pos = savedPos1;
8777 }
8778 }
8779 if (result2 !== null) {
8780 var result0 = [result1, result2];
8781 } else {
8782 var result0 = null;
8783 pos = savedPos0;
8784 }
8785 } else {
8786 var result0 = null;
8787 pos = savedPos0;
8788 }
8789
8790
8791
8792 cache[cacheKey] = {
8793 nextPos: pos,
8794 result: result0
8795 };
8796 return result0;
8797 }
8798
8799 function parse_ShiftOperator() {
8800 var cacheKey = 'ShiftOperator@' + pos;
8801 var cachedResult = cache[cacheKey];
8802 if (cachedResult) {
8803 pos = cachedResult.nextPos;
8804 return cachedResult.result;
8805 }
8806
8807
8808 if (input.substr(pos, 2) === "<<") {
8809 var result3 = "<<";
8810 pos += 2;
8811 } else {
8812 var result3 = null;
8813 if (reportMatchFailures) {
8814 matchFailed("\"<<\"");
8815 }
8816 }
8817 if (result3 !== null) {
8818 var result0 = result3;
8819 } else {
8820 if (input.substr(pos, 3) === ">>>") {
8821 var result2 = ">>>";
8822 pos += 3;
8823 } else {
8824 var result2 = null;
8825 if (reportMatchFailures) {
8826 matchFailed("\">>>\"");
8827 }
8828 }
8829 if (result2 !== null) {
8830 var result0 = result2;
8831 } else {
8832 if (input.substr(pos, 2) === ">>") {
8833 var result1 = ">>";
8834 pos += 2;
8835 } else {
8836 var result1 = null;
8837 if (reportMatchFailures) {
8838 matchFailed("\">>\"");
8839 }
8840 }
8841 if (result1 !== null) {
8842 var result0 = result1;
8843 } else {
8844 var result0 = null;;
8845 };
8846 };
8847 }
8848
8849
8850
8851 cache[cacheKey] = {
8852 nextPos: pos,
8853 result: result0
8854 };
8855 return result0;
8856 }
8857
8858 function parse_RelationalExpression() {
8859 var cacheKey = 'RelationalExpression@' + pos;
8860 var cachedResult = cache[cacheKey];
8861 if (cachedResult) {
8862 pos = cachedResult.nextPos;
8863 return cachedResult.result;
8864 }
8865
8866
8867 var savedPos0 = pos;
8868 var result1 = parse_ShiftExpression();
8869 if (result1 !== null) {
8870 var result2 = [];
8871 var savedPos1 = pos;
8872 var result4 = parse___();
8873 if (result4 !== null) {
8874 var result5 = parse_RelationalOperator();
8875 if (result5 !== null) {
8876 var result6 = parse___();
8877 if (result6 !== null) {
8878 var result7 = parse_ShiftExpression();
8879 if (result7 !== null) {
8880 var result3 = [result4, result5, result6, result7];
8881 } else {
8882 var result3 = null;
8883 pos = savedPos1;
8884 }
8885 } else {
8886 var result3 = null;
8887 pos = savedPos1;
8888 }
8889 } else {
8890 var result3 = null;
8891 pos = savedPos1;
8892 }
8893 } else {
8894 var result3 = null;
8895 pos = savedPos1;
8896 }
8897 while (result3 !== null) {
8898 result2.push(result3);
8899 var savedPos1 = pos;
8900 var result4 = parse___();
8901 if (result4 !== null) {
8902 var result5 = parse_RelationalOperator();
8903 if (result5 !== null) {
8904 var result6 = parse___();
8905 if (result6 !== null) {
8906 var result7 = parse_ShiftExpression();
8907 if (result7 !== null) {
8908 var result3 = [result4, result5, result6, result7];
8909 } else {
8910 var result3 = null;
8911 pos = savedPos1;
8912 }
8913 } else {
8914 var result3 = null;
8915 pos = savedPos1;
8916 }
8917 } else {
8918 var result3 = null;
8919 pos = savedPos1;
8920 }
8921 } else {
8922 var result3 = null;
8923 pos = savedPos1;
8924 }
8925 }
8926 if (result2 !== null) {
8927 var result0 = [result1, result2];
8928 } else {
8929 var result0 = null;
8930 pos = savedPos0;
8931 }
8932 } else {
8933 var result0 = null;
8934 pos = savedPos0;
8935 }
8936
8937
8938
8939 cache[cacheKey] = {
8940 nextPos: pos,
8941 result: result0
8942 };
8943 return result0;
8944 }
8945
8946 function parse_RelationalOperator() {
8947 var cacheKey = 'RelationalOperator@' + pos;
8948 var cachedResult = cache[cacheKey];
8949 if (cachedResult) {
8950 pos = cachedResult.nextPos;
8951 return cachedResult.result;
8952 }
8953
8954
8955 if (input.substr(pos, 2) === "<=") {
8956 var result6 = "<=";
8957 pos += 2;
8958 } else {
8959 var result6 = null;
8960 if (reportMatchFailures) {
8961 matchFailed("\"<=\"");
8962 }
8963 }
8964 if (result6 !== null) {
8965 var result0 = result6;
8966 } else {
8967 if (input.substr(pos, 2) === ">=") {
8968 var result5 = ">=";
8969 pos += 2;
8970 } else {
8971 var result5 = null;
8972 if (reportMatchFailures) {
8973 matchFailed("\">=\"");
8974 }
8975 }
8976 if (result5 !== null) {
8977 var result0 = result5;
8978 } else {
8979 if (input.substr(pos, 1) === "<") {
8980 var result4 = "<";
8981 pos += 1;
8982 } else {
8983 var result4 = null;
8984 if (reportMatchFailures) {
8985 matchFailed("\"<\"");
8986 }
8987 }
8988 if (result4 !== null) {
8989 var result0 = result4;
8990 } else {
8991 if (input.substr(pos, 1) === ">") {
8992 var result3 = ">";
8993 pos += 1;
8994 } else {
8995 var result3 = null;
8996 if (reportMatchFailures) {
8997 matchFailed("\">\"");
8998 }
8999 }
9000 if (result3 !== null) {
9001 var result0 = result3;
9002 } else {
9003 var result2 = parse_InstanceofToken();
9004 if (result2 !== null) {
9005 var result0 = result2;
9006 } else {
9007 var result1 = parse_InToken();
9008 if (result1 !== null) {
9009 var result0 = result1;
9010 } else {
9011 var result0 = null;;
9012 };
9013 };
9014 };
9015 };
9016 };
9017 }
9018
9019
9020
9021 cache[cacheKey] = {
9022 nextPos: pos,
9023 result: result0
9024 };
9025 return result0;
9026 }
9027
9028 function parse_RelationalExpressionNoIn() {
9029 var cacheKey = 'RelationalExpressionNoIn@' + pos;
9030 var cachedResult = cache[cacheKey];
9031 if (cachedResult) {
9032 pos = cachedResult.nextPos;
9033 return cachedResult.result;
9034 }
9035
9036
9037 var savedPos0 = pos;
9038 var result1 = parse_ShiftExpression();
9039 if (result1 !== null) {
9040 var result2 = [];
9041 var savedPos1 = pos;
9042 var result4 = parse___();
9043 if (result4 !== null) {
9044 var result5 = parse_RelationalOperatorNoIn();
9045 if (result5 !== null) {
9046 var result6 = parse___();
9047 if (result6 !== null) {
9048 var result7 = parse_ShiftExpression();
9049 if (result7 !== null) {
9050 var result3 = [result4, result5, result6, result7];
9051 } else {
9052 var result3 = null;
9053 pos = savedPos1;
9054 }
9055 } else {
9056 var result3 = null;
9057 pos = savedPos1;
9058 }
9059 } else {
9060 var result3 = null;
9061 pos = savedPos1;
9062 }
9063 } else {
9064 var result3 = null;
9065 pos = savedPos1;
9066 }
9067 while (result3 !== null) {
9068 result2.push(result3);
9069 var savedPos1 = pos;
9070 var result4 = parse___();
9071 if (result4 !== null) {
9072 var result5 = parse_RelationalOperatorNoIn();
9073 if (result5 !== null) {
9074 var result6 = parse___();
9075 if (result6 !== null) {
9076 var result7 = parse_ShiftExpression();
9077 if (result7 !== null) {
9078 var result3 = [result4, result5, result6, result7];
9079 } else {
9080 var result3 = null;
9081 pos = savedPos1;
9082 }
9083 } else {
9084 var result3 = null;
9085 pos = savedPos1;
9086 }
9087 } else {
9088 var result3 = null;
9089 pos = savedPos1;
9090 }
9091 } else {
9092 var result3 = null;
9093 pos = savedPos1;
9094 }
9095 }
9096 if (result2 !== null) {
9097 var result0 = [result1, result2];
9098 } else {
9099 var result0 = null;
9100 pos = savedPos0;
9101 }
9102 } else {
9103 var result0 = null;
9104 pos = savedPos0;
9105 }
9106
9107
9108
9109 cache[cacheKey] = {
9110 nextPos: pos,
9111 result: result0
9112 };
9113 return result0;
9114 }
9115
9116 function parse_RelationalOperatorNoIn() {
9117 var cacheKey = 'RelationalOperatorNoIn@' + pos;
9118 var cachedResult = cache[cacheKey];
9119 if (cachedResult) {
9120 pos = cachedResult.nextPos;
9121 return cachedResult.result;
9122 }
9123
9124
9125 if (input.substr(pos, 2) === "<=") {
9126 var result5 = "<=";
9127 pos += 2;
9128 } else {
9129 var result5 = null;
9130 if (reportMatchFailures) {
9131 matchFailed("\"<=\"");
9132 }
9133 }
9134 if (result5 !== null) {
9135 var result0 = result5;
9136 } else {
9137 if (input.substr(pos, 2) === ">=") {
9138 var result4 = ">=";
9139 pos += 2;
9140 } else {
9141 var result4 = null;
9142 if (reportMatchFailures) {
9143 matchFailed("\">=\"");
9144 }
9145 }
9146 if (result4 !== null) {
9147 var result0 = result4;
9148 } else {
9149 if (input.substr(pos, 1) === "<") {
9150 var result3 = "<";
9151 pos += 1;
9152 } else {
9153 var result3 = null;
9154 if (reportMatchFailures) {
9155 matchFailed("\"<\"");
9156 }
9157 }
9158 if (result3 !== null) {
9159 var result0 = result3;
9160 } else {
9161 if (input.substr(pos, 1) === ">") {
9162 var result2 = ">";
9163 pos += 1;
9164 } else {
9165 var result2 = null;
9166 if (reportMatchFailures) {
9167 matchFailed("\">\"");
9168 }
9169 }
9170 if (result2 !== null) {
9171 var result0 = result2;
9172 } else {
9173 var result1 = parse_InstanceofToken();
9174 if (result1 !== null) {
9175 var result0 = result1;
9176 } else {
9177 var result0 = null;;
9178 };
9179 };
9180 };
9181 };
9182 }
9183
9184
9185
9186 cache[cacheKey] = {
9187 nextPos: pos,
9188 result: result0
9189 };
9190 return result0;
9191 }
9192
9193 function parse_EqualityExpression() {
9194 var cacheKey = 'EqualityExpression@' + pos;
9195 var cachedResult = cache[cacheKey];
9196 if (cachedResult) {
9197 pos = cachedResult.nextPos;
9198 return cachedResult.result;
9199 }
9200
9201
9202 var savedPos0 = pos;
9203 var result1 = parse_RelationalExpression();
9204 if (result1 !== null) {
9205 var result2 = [];
9206 var savedPos1 = pos;
9207 var result4 = parse___();
9208 if (result4 !== null) {
9209 var result5 = parse_EqualityOperator();
9210 if (result5 !== null) {
9211 var result6 = parse___();
9212 if (result6 !== null) {
9213 var result7 = parse_RelationalExpression();
9214 if (result7 !== null) {
9215 var result3 = [result4, result5, result6, result7];
9216 } else {
9217 var result3 = null;
9218 pos = savedPos1;
9219 }
9220 } else {
9221 var result3 = null;
9222 pos = savedPos1;
9223 }
9224 } else {
9225 var result3 = null;
9226 pos = savedPos1;
9227 }
9228 } else {
9229 var result3 = null;
9230 pos = savedPos1;
9231 }
9232 while (result3 !== null) {
9233 result2.push(result3);
9234 var savedPos1 = pos;
9235 var result4 = parse___();
9236 if (result4 !== null) {
9237 var result5 = parse_EqualityOperator();
9238 if (result5 !== null) {
9239 var result6 = parse___();
9240 if (result6 !== null) {
9241 var result7 = parse_RelationalExpression();
9242 if (result7 !== null) {
9243 var result3 = [result4, result5, result6, result7];
9244 } else {
9245 var result3 = null;
9246 pos = savedPos1;
9247 }
9248 } else {
9249 var result3 = null;
9250 pos = savedPos1;
9251 }
9252 } else {
9253 var result3 = null;
9254 pos = savedPos1;
9255 }
9256 } else {
9257 var result3 = null;
9258 pos = savedPos1;
9259 }
9260 }
9261 if (result2 !== null) {
9262 var result0 = [result1, result2];
9263 } else {
9264 var result0 = null;
9265 pos = savedPos0;
9266 }
9267 } else {
9268 var result0 = null;
9269 pos = savedPos0;
9270 }
9271
9272
9273
9274 cache[cacheKey] = {
9275 nextPos: pos,
9276 result: result0
9277 };
9278 return result0;
9279 }
9280
9281 function parse_EqualityExpressionNoIn() {
9282 var cacheKey = 'EqualityExpressionNoIn@' + pos;
9283 var cachedResult = cache[cacheKey];
9284 if (cachedResult) {
9285 pos = cachedResult.nextPos;
9286 return cachedResult.result;
9287 }
9288
9289
9290 var savedPos0 = pos;
9291 var result1 = parse_RelationalExpressionNoIn();
9292 if (result1 !== null) {
9293 var result2 = [];
9294 var savedPos1 = pos;
9295 var result4 = parse___();
9296 if (result4 !== null) {
9297 var result5 = parse_EqualityOperator();
9298 if (result5 !== null) {
9299 var result6 = parse___();
9300 if (result6 !== null) {
9301 var result7 = parse_RelationalExpressionNoIn();
9302 if (result7 !== null) {
9303 var result3 = [result4, result5, result6, result7];
9304 } else {
9305 var result3 = null;
9306 pos = savedPos1;
9307 }
9308 } else {
9309 var result3 = null;
9310 pos = savedPos1;
9311 }
9312 } else {
9313 var result3 = null;
9314 pos = savedPos1;
9315 }
9316 } else {
9317 var result3 = null;
9318 pos = savedPos1;
9319 }
9320 while (result3 !== null) {
9321 result2.push(result3);
9322 var savedPos1 = pos;
9323 var result4 = parse___();
9324 if (result4 !== null) {
9325 var result5 = parse_EqualityOperator();
9326 if (result5 !== null) {
9327 var result6 = parse___();
9328 if (result6 !== null) {
9329 var result7 = parse_RelationalExpressionNoIn();
9330 if (result7 !== null) {
9331 var result3 = [result4, result5, result6, result7];
9332 } else {
9333 var result3 = null;
9334 pos = savedPos1;
9335 }
9336 } else {
9337 var result3 = null;
9338 pos = savedPos1;
9339 }
9340 } else {
9341 var result3 = null;
9342 pos = savedPos1;
9343 }
9344 } else {
9345 var result3 = null;
9346 pos = savedPos1;
9347 }
9348 }
9349 if (result2 !== null) {
9350 var result0 = [result1, result2];
9351 } else {
9352 var result0 = null;
9353 pos = savedPos0;
9354 }
9355 } else {
9356 var result0 = null;
9357 pos = savedPos0;
9358 }
9359
9360
9361
9362 cache[cacheKey] = {
9363 nextPos: pos,
9364 result: result0
9365 };
9366 return result0;
9367 }
9368
9369 function parse_EqualityOperator() {
9370 var cacheKey = 'EqualityOperator@' + pos;
9371 var cachedResult = cache[cacheKey];
9372 if (cachedResult) {
9373 pos = cachedResult.nextPos;
9374 return cachedResult.result;
9375 }
9376
9377
9378 if (input.substr(pos, 3) === "===") {
9379 var result4 = "===";
9380 pos += 3;
9381 } else {
9382 var result4 = null;
9383 if (reportMatchFailures) {
9384 matchFailed("\"===\"");
9385 }
9386 }
9387 if (result4 !== null) {
9388 var result0 = result4;
9389 } else {
9390 if (input.substr(pos, 3) === "!==") {
9391 var result3 = "!==";
9392 pos += 3;
9393 } else {
9394 var result3 = null;
9395 if (reportMatchFailures) {
9396 matchFailed("\"!==\"");
9397 }
9398 }
9399 if (result3 !== null) {
9400 var result0 = result3;
9401 } else {
9402 if (input.substr(pos, 2) === "==") {
9403 var result2 = "==";
9404 pos += 2;
9405 } else {
9406 var result2 = null;
9407 if (reportMatchFailures) {
9408 matchFailed("\"==\"");
9409 }
9410 }
9411 if (result2 !== null) {
9412 var result0 = result2;
9413 } else {
9414 if (input.substr(pos, 2) === "!=") {
9415 var result1 = "!=";
9416 pos += 2;
9417 } else {
9418 var result1 = null;
9419 if (reportMatchFailures) {
9420 matchFailed("\"!=\"");
9421 }
9422 }
9423 if (result1 !== null) {
9424 var result0 = result1;
9425 } else {
9426 var result0 = null;;
9427 };
9428 };
9429 };
9430 }
9431
9432
9433
9434 cache[cacheKey] = {
9435 nextPos: pos,
9436 result: result0
9437 };
9438 return result0;
9439 }
9440
9441 function parse_BitwiseANDExpression() {
9442 var cacheKey = 'BitwiseANDExpression@' + pos;
9443 var cachedResult = cache[cacheKey];
9444 if (cachedResult) {
9445 pos = cachedResult.nextPos;
9446 return cachedResult.result;
9447 }
9448
9449
9450 var savedPos0 = pos;
9451 var result1 = parse_EqualityExpression();
9452 if (result1 !== null) {
9453 var result2 = [];
9454 var savedPos1 = pos;
9455 var result4 = parse___();
9456 if (result4 !== null) {
9457 var result5 = parse_BitwiseANDOperator();
9458 if (result5 !== null) {
9459 var result6 = parse___();
9460 if (result6 !== null) {
9461 var result7 = parse_EqualityExpression();
9462 if (result7 !== null) {
9463 var result3 = [result4, result5, result6, result7];
9464 } else {
9465 var result3 = null;
9466 pos = savedPos1;
9467 }
9468 } else {
9469 var result3 = null;
9470 pos = savedPos1;
9471 }
9472 } else {
9473 var result3 = null;
9474 pos = savedPos1;
9475 }
9476 } else {
9477 var result3 = null;
9478 pos = savedPos1;
9479 }
9480 while (result3 !== null) {
9481 result2.push(result3);
9482 var savedPos1 = pos;
9483 var result4 = parse___();
9484 if (result4 !== null) {
9485 var result5 = parse_BitwiseANDOperator();
9486 if (result5 !== null) {
9487 var result6 = parse___();
9488 if (result6 !== null) {
9489 var result7 = parse_EqualityExpression();
9490 if (result7 !== null) {
9491 var result3 = [result4, result5, result6, result7];
9492 } else {
9493 var result3 = null;
9494 pos = savedPos1;
9495 }
9496 } else {
9497 var result3 = null;
9498 pos = savedPos1;
9499 }
9500 } else {
9501 var result3 = null;
9502 pos = savedPos1;
9503 }
9504 } else {
9505 var result3 = null;
9506 pos = savedPos1;
9507 }
9508 }
9509 if (result2 !== null) {
9510 var result0 = [result1, result2];
9511 } else {
9512 var result0 = null;
9513 pos = savedPos0;
9514 }
9515 } else {
9516 var result0 = null;
9517 pos = savedPos0;
9518 }
9519
9520
9521
9522 cache[cacheKey] = {
9523 nextPos: pos,
9524 result: result0
9525 };
9526 return result0;
9527 }
9528
9529 function parse_BitwiseANDExpressionNoIn() {
9530 var cacheKey = 'BitwiseANDExpressionNoIn@' + pos;
9531 var cachedResult = cache[cacheKey];
9532 if (cachedResult) {
9533 pos = cachedResult.nextPos;
9534 return cachedResult.result;
9535 }
9536
9537
9538 var savedPos0 = pos;
9539 var result1 = parse_EqualityExpressionNoIn();
9540 if (result1 !== null) {
9541 var result2 = [];
9542 var savedPos1 = pos;
9543 var result4 = parse___();
9544 if (result4 !== null) {
9545 var result5 = parse_BitwiseANDOperator();
9546 if (result5 !== null) {
9547 var result6 = parse___();
9548 if (result6 !== null) {
9549 var result7 = parse_EqualityExpressionNoIn();
9550 if (result7 !== null) {
9551 var result3 = [result4, result5, result6, result7];
9552 } else {
9553 var result3 = null;
9554 pos = savedPos1;
9555 }
9556 } else {
9557 var result3 = null;
9558 pos = savedPos1;
9559 }
9560 } else {
9561 var result3 = null;
9562 pos = savedPos1;
9563 }
9564 } else {
9565 var result3 = null;
9566 pos = savedPos1;
9567 }
9568 while (result3 !== null) {
9569 result2.push(result3);
9570 var savedPos1 = pos;
9571 var result4 = parse___();
9572 if (result4 !== null) {
9573 var result5 = parse_BitwiseANDOperator();
9574 if (result5 !== null) {
9575 var result6 = parse___();
9576 if (result6 !== null) {
9577 var result7 = parse_EqualityExpressionNoIn();
9578 if (result7 !== null) {
9579 var result3 = [result4, result5, result6, result7];
9580 } else {
9581 var result3 = null;
9582 pos = savedPos1;
9583 }
9584 } else {
9585 var result3 = null;
9586 pos = savedPos1;
9587 }
9588 } else {
9589 var result3 = null;
9590 pos = savedPos1;
9591 }
9592 } else {
9593 var result3 = null;
9594 pos = savedPos1;
9595 }
9596 }
9597 if (result2 !== null) {
9598 var result0 = [result1, result2];
9599 } else {
9600 var result0 = null;
9601 pos = savedPos0;
9602 }
9603 } else {
9604 var result0 = null;
9605 pos = savedPos0;
9606 }
9607
9608
9609
9610 cache[cacheKey] = {
9611 nextPos: pos,
9612 result: result0
9613 };
9614 return result0;
9615 }
9616
9617 function parse_BitwiseANDOperator() {
9618 var cacheKey = 'BitwiseANDOperator@' + pos;
9619 var cachedResult = cache[cacheKey];
9620 if (cachedResult) {
9621 pos = cachedResult.nextPos;
9622 return cachedResult.result;
9623 }
9624
9625
9626 var savedPos0 = pos;
9627 if (input.substr(pos, 1) === "&") {
9628 var result1 = "&";
9629 pos += 1;
9630 } else {
9631 var result1 = null;
9632 if (reportMatchFailures) {
9633 matchFailed("\"&\"");
9634 }
9635 }
9636 if (result1 !== null) {
9637 var savedPos1 = pos;
9638 var savedReportMatchFailuresVar0 = reportMatchFailures;
9639 reportMatchFailures = false;
9640 if (input.substr(pos, 1) === "&") {
9641 var result5 = "&";
9642 pos += 1;
9643 } else {
9644 var result5 = null;
9645 if (reportMatchFailures) {
9646 matchFailed("\"&\"");
9647 }
9648 }
9649 if (result5 !== null) {
9650 var result3 = result5;
9651 } else {
9652 if (input.substr(pos, 1) === "=") {
9653 var result4 = "=";
9654 pos += 1;
9655 } else {
9656 var result4 = null;
9657 if (reportMatchFailures) {
9658 matchFailed("\"=\"");
9659 }
9660 }
9661 if (result4 !== null) {
9662 var result3 = result4;
9663 } else {
9664 var result3 = null;;
9665 };
9666 }
9667 reportMatchFailures = savedReportMatchFailuresVar0;
9668 if (result3 === null) {
9669 var result2 = '';
9670 } else {
9671 var result2 = null;
9672 pos = savedPos1;
9673 }
9674 if (result2 !== null) {
9675 var result0 = [result1, result2];
9676 } else {
9677 var result0 = null;
9678 pos = savedPos0;
9679 }
9680 } else {
9681 var result0 = null;
9682 pos = savedPos0;
9683 }
9684
9685
9686
9687 cache[cacheKey] = {
9688 nextPos: pos,
9689 result: result0
9690 };
9691 return result0;
9692 }
9693
9694 function parse_BitwiseXORExpression() {
9695 var cacheKey = 'BitwiseXORExpression@' + pos;
9696 var cachedResult = cache[cacheKey];
9697 if (cachedResult) {
9698 pos = cachedResult.nextPos;
9699 return cachedResult.result;
9700 }
9701
9702
9703 var savedPos0 = pos;
9704 var result1 = parse_BitwiseANDExpression();
9705 if (result1 !== null) {
9706 var result2 = [];
9707 var savedPos1 = pos;
9708 var result4 = parse___();
9709 if (result4 !== null) {
9710 var result5 = parse_BitwiseXOROperator();
9711 if (result5 !== null) {
9712 var result6 = parse___();
9713 if (result6 !== null) {
9714 var result7 = parse_BitwiseANDExpression();
9715 if (result7 !== null) {
9716 var result3 = [result4, result5, result6, result7];
9717 } else {
9718 var result3 = null;
9719 pos = savedPos1;
9720 }
9721 } else {
9722 var result3 = null;
9723 pos = savedPos1;
9724 }
9725 } else {
9726 var result3 = null;
9727 pos = savedPos1;
9728 }
9729 } else {
9730 var result3 = null;
9731 pos = savedPos1;
9732 }
9733 while (result3 !== null) {
9734 result2.push(result3);
9735 var savedPos1 = pos;
9736 var result4 = parse___();
9737 if (result4 !== null) {
9738 var result5 = parse_BitwiseXOROperator();
9739 if (result5 !== null) {
9740 var result6 = parse___();
9741 if (result6 !== null) {
9742 var result7 = parse_BitwiseANDExpression();
9743 if (result7 !== null) {
9744 var result3 = [result4, result5, result6, result7];
9745 } else {
9746 var result3 = null;
9747 pos = savedPos1;
9748 }
9749 } else {
9750 var result3 = null;
9751 pos = savedPos1;
9752 }
9753 } else {
9754 var result3 = null;
9755 pos = savedPos1;
9756 }
9757 } else {
9758 var result3 = null;
9759 pos = savedPos1;
9760 }
9761 }
9762 if (result2 !== null) {
9763 var result0 = [result1, result2];
9764 } else {
9765 var result0 = null;
9766 pos = savedPos0;
9767 }
9768 } else {
9769 var result0 = null;
9770 pos = savedPos0;
9771 }
9772
9773
9774
9775 cache[cacheKey] = {
9776 nextPos: pos,
9777 result: result0
9778 };
9779 return result0;
9780 }
9781
9782 function parse_BitwiseXORExpressionNoIn() {
9783 var cacheKey = 'BitwiseXORExpressionNoIn@' + pos;
9784 var cachedResult = cache[cacheKey];
9785 if (cachedResult) {
9786 pos = cachedResult.nextPos;
9787 return cachedResult.result;
9788 }
9789
9790
9791 var savedPos0 = pos;
9792 var result1 = parse_BitwiseANDExpressionNoIn();
9793 if (result1 !== null) {
9794 var result2 = [];
9795 var savedPos1 = pos;
9796 var result4 = parse___();
9797 if (result4 !== null) {
9798 var result5 = parse_BitwiseXOROperator();
9799 if (result5 !== null) {
9800 var result6 = parse___();
9801 if (result6 !== null) {
9802 var result7 = parse_BitwiseANDExpressionNoIn();
9803 if (result7 !== null) {
9804 var result3 = [result4, result5, result6, result7];
9805 } else {
9806 var result3 = null;
9807 pos = savedPos1;
9808 }
9809 } else {
9810 var result3 = null;
9811 pos = savedPos1;
9812 }
9813 } else {
9814 var result3 = null;
9815 pos = savedPos1;
9816 }
9817 } else {
9818 var result3 = null;
9819 pos = savedPos1;
9820 }
9821 while (result3 !== null) {
9822 result2.push(result3);
9823 var savedPos1 = pos;
9824 var result4 = parse___();
9825 if (result4 !== null) {
9826 var result5 = parse_BitwiseXOROperator();
9827 if (result5 !== null) {
9828 var result6 = parse___();
9829 if (result6 !== null) {
9830 var result7 = parse_BitwiseANDExpressionNoIn();
9831 if (result7 !== null) {
9832 var result3 = [result4, result5, result6, result7];
9833 } else {
9834 var result3 = null;
9835 pos = savedPos1;
9836 }
9837 } else {
9838 var result3 = null;
9839 pos = savedPos1;
9840 }
9841 } else {
9842 var result3 = null;
9843 pos = savedPos1;
9844 }
9845 } else {
9846 var result3 = null;
9847 pos = savedPos1;
9848 }
9849 }
9850 if (result2 !== null) {
9851 var result0 = [result1, result2];
9852 } else {
9853 var result0 = null;
9854 pos = savedPos0;
9855 }
9856 } else {
9857 var result0 = null;
9858 pos = savedPos0;
9859 }
9860
9861
9862
9863 cache[cacheKey] = {
9864 nextPos: pos,
9865 result: result0
9866 };
9867 return result0;
9868 }
9869
9870 function parse_BitwiseXOROperator() {
9871 var cacheKey = 'BitwiseXOROperator@' + pos;
9872 var cachedResult = cache[cacheKey];
9873 if (cachedResult) {
9874 pos = cachedResult.nextPos;
9875 return cachedResult.result;
9876 }
9877
9878
9879 var savedPos0 = pos;
9880 if (input.substr(pos, 1) === "^") {
9881 var result1 = "^";
9882 pos += 1;
9883 } else {
9884 var result1 = null;
9885 if (reportMatchFailures) {
9886 matchFailed("\"^\"");
9887 }
9888 }
9889 if (result1 !== null) {
9890 var savedPos1 = pos;
9891 var savedReportMatchFailuresVar0 = reportMatchFailures;
9892 reportMatchFailures = false;
9893 if (input.substr(pos, 1) === "^") {
9894 var result5 = "^";
9895 pos += 1;
9896 } else {
9897 var result5 = null;
9898 if (reportMatchFailures) {
9899 matchFailed("\"^\"");
9900 }
9901 }
9902 if (result5 !== null) {
9903 var result3 = result5;
9904 } else {
9905 if (input.substr(pos, 1) === "=") {
9906 var result4 = "=";
9907 pos += 1;
9908 } else {
9909 var result4 = null;
9910 if (reportMatchFailures) {
9911 matchFailed("\"=\"");
9912 }
9913 }
9914 if (result4 !== null) {
9915 var result3 = result4;
9916 } else {
9917 var result3 = null;;
9918 };
9919 }
9920 reportMatchFailures = savedReportMatchFailuresVar0;
9921 if (result3 === null) {
9922 var result2 = '';
9923 } else {
9924 var result2 = null;
9925 pos = savedPos1;
9926 }
9927 if (result2 !== null) {
9928 var result0 = [result1, result2];
9929 } else {
9930 var result0 = null;
9931 pos = savedPos0;
9932 }
9933 } else {
9934 var result0 = null;
9935 pos = savedPos0;
9936 }
9937
9938
9939
9940 cache[cacheKey] = {
9941 nextPos: pos,
9942 result: result0
9943 };
9944 return result0;
9945 }
9946
9947 function parse_BitwiseORExpression() {
9948 var cacheKey = 'BitwiseORExpression@' + pos;
9949 var cachedResult = cache[cacheKey];
9950 if (cachedResult) {
9951 pos = cachedResult.nextPos;
9952 return cachedResult.result;
9953 }
9954
9955
9956 var savedPos0 = pos;
9957 var result1 = parse_BitwiseXORExpression();
9958 if (result1 !== null) {
9959 var result2 = [];
9960 var savedPos1 = pos;
9961 var result4 = parse___();
9962 if (result4 !== null) {
9963 var result5 = parse_BitwiseOROperator();
9964 if (result5 !== null) {
9965 var result6 = parse___();
9966 if (result6 !== null) {
9967 var result7 = parse_BitwiseXORExpression();
9968 if (result7 !== null) {
9969 var result3 = [result4, result5, result6, result7];
9970 } else {
9971 var result3 = null;
9972 pos = savedPos1;
9973 }
9974 } else {
9975 var result3 = null;
9976 pos = savedPos1;
9977 }
9978 } else {
9979 var result3 = null;
9980 pos = savedPos1;
9981 }
9982 } else {
9983 var result3 = null;
9984 pos = savedPos1;
9985 }
9986 while (result3 !== null) {
9987 result2.push(result3);
9988 var savedPos1 = pos;
9989 var result4 = parse___();
9990 if (result4 !== null) {
9991 var result5 = parse_BitwiseOROperator();
9992 if (result5 !== null) {
9993 var result6 = parse___();
9994 if (result6 !== null) {
9995 var result7 = parse_BitwiseXORExpression();
9996 if (result7 !== null) {
9997 var result3 = [result4, result5, result6, result7];
9998 } else {
9999 var result3 = null;
10000 pos = savedPos1;
10001 }
10002 } else {
10003 var result3 = null;
10004 pos = savedPos1;
10005 }
10006 } else {
10007 var result3 = null;
10008 pos = savedPos1;
10009 }
10010 } else {
10011 var result3 = null;
10012 pos = savedPos1;
10013 }
10014 }
10015 if (result2 !== null) {
10016 var result0 = [result1, result2];
10017 } else {
10018 var result0 = null;
10019 pos = savedPos0;
10020 }
10021 } else {
10022 var result0 = null;
10023 pos = savedPos0;
10024 }
10025
10026
10027
10028 cache[cacheKey] = {
10029 nextPos: pos,
10030 result: result0
10031 };
10032 return result0;
10033 }
10034
10035 function parse_BitwiseORExpressionNoIn() {
10036 var cacheKey = 'BitwiseORExpressionNoIn@' + pos;
10037 var cachedResult = cache[cacheKey];
10038 if (cachedResult) {
10039 pos = cachedResult.nextPos;
10040 return cachedResult.result;
10041 }
10042
10043
10044 var savedPos0 = pos;
10045 var result1 = parse_BitwiseXORExpressionNoIn();
10046 if (result1 !== null) {
10047 var result2 = [];
10048 var savedPos1 = pos;
10049 var result4 = parse___();
10050 if (result4 !== null) {
10051 var result5 = parse_BitwiseOROperator();
10052 if (result5 !== null) {
10053 var result6 = parse___();
10054 if (result6 !== null) {
10055 var result7 = parse_BitwiseXORExpressionNoIn();
10056 if (result7 !== null) {
10057 var result3 = [result4, result5, result6, result7];
10058 } else {
10059 var result3 = null;
10060 pos = savedPos1;
10061 }
10062 } else {
10063 var result3 = null;
10064 pos = savedPos1;
10065 }
10066 } else {
10067 var result3 = null;
10068 pos = savedPos1;
10069 }
10070 } else {
10071 var result3 = null;
10072 pos = savedPos1;
10073 }
10074 while (result3 !== null) {
10075 result2.push(result3);
10076 var savedPos1 = pos;
10077 var result4 = parse___();
10078 if (result4 !== null) {
10079 var result5 = parse_BitwiseOROperator();
10080 if (result5 !== null) {
10081 var result6 = parse___();
10082 if (result6 !== null) {
10083 var result7 = parse_BitwiseXORExpressionNoIn();
10084 if (result7 !== null) {
10085 var result3 = [result4, result5, result6, result7];
10086 } else {
10087 var result3 = null;
10088 pos = savedPos1;
10089 }
10090 } else {
10091 var result3 = null;
10092 pos = savedPos1;
10093 }
10094 } else {
10095 var result3 = null;
10096 pos = savedPos1;
10097 }
10098 } else {
10099 var result3 = null;
10100 pos = savedPos1;
10101 }
10102 }
10103 if (result2 !== null) {
10104 var result0 = [result1, result2];
10105 } else {
10106 var result0 = null;
10107 pos = savedPos0;
10108 }
10109 } else {
10110 var result0 = null;
10111 pos = savedPos0;
10112 }
10113
10114
10115
10116 cache[cacheKey] = {
10117 nextPos: pos,
10118 result: result0
10119 };
10120 return result0;
10121 }
10122
10123 function parse_BitwiseOROperator() {
10124 var cacheKey = 'BitwiseOROperator@' + pos;
10125 var cachedResult = cache[cacheKey];
10126 if (cachedResult) {
10127 pos = cachedResult.nextPos;
10128 return cachedResult.result;
10129 }
10130
10131
10132 var savedPos0 = pos;
10133 if (input.substr(pos, 1) === "|") {
10134 var result1 = "|";
10135 pos += 1;
10136 } else {
10137 var result1 = null;
10138 if (reportMatchFailures) {
10139 matchFailed("\"|\"");
10140 }
10141 }
10142 if (result1 !== null) {
10143 var savedPos1 = pos;
10144 var savedReportMatchFailuresVar0 = reportMatchFailures;
10145 reportMatchFailures = false;
10146 if (input.substr(pos, 1) === "|") {
10147 var result5 = "|";
10148 pos += 1;
10149 } else {
10150 var result5 = null;
10151 if (reportMatchFailures) {
10152 matchFailed("\"|\"");
10153 }
10154 }
10155 if (result5 !== null) {
10156 var result3 = result5;
10157 } else {
10158 if (input.substr(pos, 1) === "=") {
10159 var result4 = "=";
10160 pos += 1;
10161 } else {
10162 var result4 = null;
10163 if (reportMatchFailures) {
10164 matchFailed("\"=\"");
10165 }
10166 }
10167 if (result4 !== null) {
10168 var result3 = result4;
10169 } else {
10170 var result3 = null;;
10171 };
10172 }
10173 reportMatchFailures = savedReportMatchFailuresVar0;
10174 if (result3 === null) {
10175 var result2 = '';
10176 } else {
10177 var result2 = null;
10178 pos = savedPos1;
10179 }
10180 if (result2 !== null) {
10181 var result0 = [result1, result2];
10182 } else {
10183 var result0 = null;
10184 pos = savedPos0;
10185 }
10186 } else {
10187 var result0 = null;
10188 pos = savedPos0;
10189 }
10190
10191
10192
10193 cache[cacheKey] = {
10194 nextPos: pos,
10195 result: result0
10196 };
10197 return result0;
10198 }
10199
10200 function parse_LogicalANDExpression() {
10201 var cacheKey = 'LogicalANDExpression@' + pos;
10202 var cachedResult = cache[cacheKey];
10203 if (cachedResult) {
10204 pos = cachedResult.nextPos;
10205 return cachedResult.result;
10206 }
10207
10208
10209 var savedPos0 = pos;
10210 var result1 = parse_BitwiseORExpression();
10211 if (result1 !== null) {
10212 var result2 = [];
10213 var savedPos1 = pos;
10214 var result4 = parse___();
10215 if (result4 !== null) {
10216 var result5 = parse_LogicalANDOperator();
10217 if (result5 !== null) {
10218 var result6 = parse___();
10219 if (result6 !== null) {
10220 var result7 = parse_BitwiseORExpression();
10221 if (result7 !== null) {
10222 var result3 = [result4, result5, result6, result7];
10223 } else {
10224 var result3 = null;
10225 pos = savedPos1;
10226 }
10227 } else {
10228 var result3 = null;
10229 pos = savedPos1;
10230 }
10231 } else {
10232 var result3 = null;
10233 pos = savedPos1;
10234 }
10235 } else {
10236 var result3 = null;
10237 pos = savedPos1;
10238 }
10239 while (result3 !== null) {
10240 result2.push(result3);
10241 var savedPos1 = pos;
10242 var result4 = parse___();
10243 if (result4 !== null) {
10244 var result5 = parse_LogicalANDOperator();
10245 if (result5 !== null) {
10246 var result6 = parse___();
10247 if (result6 !== null) {
10248 var result7 = parse_BitwiseORExpression();
10249 if (result7 !== null) {
10250 var result3 = [result4, result5, result6, result7];
10251 } else {
10252 var result3 = null;
10253 pos = savedPos1;
10254 }
10255 } else {
10256 var result3 = null;
10257 pos = savedPos1;
10258 }
10259 } else {
10260 var result3 = null;
10261 pos = savedPos1;
10262 }
10263 } else {
10264 var result3 = null;
10265 pos = savedPos1;
10266 }
10267 }
10268 if (result2 !== null) {
10269 var result0 = [result1, result2];
10270 } else {
10271 var result0 = null;
10272 pos = savedPos0;
10273 }
10274 } else {
10275 var result0 = null;
10276 pos = savedPos0;
10277 }
10278
10279
10280
10281 cache[cacheKey] = {
10282 nextPos: pos,
10283 result: result0
10284 };
10285 return result0;
10286 }
10287
10288 function parse_LogicalANDExpressionNoIn() {
10289 var cacheKey = 'LogicalANDExpressionNoIn@' + pos;
10290 var cachedResult = cache[cacheKey];
10291 if (cachedResult) {
10292 pos = cachedResult.nextPos;
10293 return cachedResult.result;
10294 }
10295
10296
10297 var savedPos0 = pos;
10298 var result1 = parse_BitwiseORExpressionNoIn();
10299 if (result1 !== null) {
10300 var result2 = [];
10301 var savedPos1 = pos;
10302 var result4 = parse___();
10303 if (result4 !== null) {
10304 var result5 = parse_LogicalANDOperator();
10305 if (result5 !== null) {
10306 var result6 = parse___();
10307 if (result6 !== null) {
10308 var result7 = parse_BitwiseORExpressionNoIn();
10309 if (result7 !== null) {
10310 var result3 = [result4, result5, result6, result7];
10311 } else {
10312 var result3 = null;
10313 pos = savedPos1;
10314 }
10315 } else {
10316 var result3 = null;
10317 pos = savedPos1;
10318 }
10319 } else {
10320 var result3 = null;
10321 pos = savedPos1;
10322 }
10323 } else {
10324 var result3 = null;
10325 pos = savedPos1;
10326 }
10327 while (result3 !== null) {
10328 result2.push(result3);
10329 var savedPos1 = pos;
10330 var result4 = parse___();
10331 if (result4 !== null) {
10332 var result5 = parse_LogicalANDOperator();
10333 if (result5 !== null) {
10334 var result6 = parse___();
10335 if (result6 !== null) {
10336 var result7 = parse_BitwiseORExpressionNoIn();
10337 if (result7 !== null) {
10338 var result3 = [result4, result5, result6, result7];
10339 } else {
10340 var result3 = null;
10341 pos = savedPos1;
10342 }
10343 } else {
10344 var result3 = null;
10345 pos = savedPos1;
10346 }
10347 } else {
10348 var result3 = null;
10349 pos = savedPos1;
10350 }
10351 } else {
10352 var result3 = null;
10353 pos = savedPos1;
10354 }
10355 }
10356 if (result2 !== null) {
10357 var result0 = [result1, result2];
10358 } else {
10359 var result0 = null;
10360 pos = savedPos0;
10361 }
10362 } else {
10363 var result0 = null;
10364 pos = savedPos0;
10365 }
10366
10367
10368
10369 cache[cacheKey] = {
10370 nextPos: pos,
10371 result: result0
10372 };
10373 return result0;
10374 }
10375
10376 function parse_LogicalANDOperator() {
10377 var cacheKey = 'LogicalANDOperator@' + pos;
10378 var cachedResult = cache[cacheKey];
10379 if (cachedResult) {
10380 pos = cachedResult.nextPos;
10381 return cachedResult.result;
10382 }
10383
10384
10385 var savedPos0 = pos;
10386 if (input.substr(pos, 2) === "&&") {
10387 var result1 = "&&";
10388 pos += 2;
10389 } else {
10390 var result1 = null;
10391 if (reportMatchFailures) {
10392 matchFailed("\"&&\"");
10393 }
10394 }
10395 if (result1 !== null) {
10396 var savedPos1 = pos;
10397 var savedReportMatchFailuresVar0 = reportMatchFailures;
10398 reportMatchFailures = false;
10399 if (input.substr(pos, 1) === "=") {
10400 var result3 = "=";
10401 pos += 1;
10402 } else {
10403 var result3 = null;
10404 if (reportMatchFailures) {
10405 matchFailed("\"=\"");
10406 }
10407 }
10408 reportMatchFailures = savedReportMatchFailuresVar0;
10409 if (result3 === null) {
10410 var result2 = '';
10411 } else {
10412 var result2 = null;
10413 pos = savedPos1;
10414 }
10415 if (result2 !== null) {
10416 var result0 = [result1, result2];
10417 } else {
10418 var result0 = null;
10419 pos = savedPos0;
10420 }
10421 } else {
10422 var result0 = null;
10423 pos = savedPos0;
10424 }
10425
10426
10427
10428 cache[cacheKey] = {
10429 nextPos: pos,
10430 result: result0
10431 };
10432 return result0;
10433 }
10434
10435 function parse_LogicalORExpression() {
10436 var cacheKey = 'LogicalORExpression@' + pos;
10437 var cachedResult = cache[cacheKey];
10438 if (cachedResult) {
10439 pos = cachedResult.nextPos;
10440 return cachedResult.result;
10441 }
10442
10443
10444 var savedPos0 = pos;
10445 var result1 = parse_LogicalANDExpression();
10446 if (result1 !== null) {
10447 var result2 = [];
10448 var savedPos1 = pos;
10449 var result4 = parse___();
10450 if (result4 !== null) {
10451 var result5 = parse_LogicalOROperator();
10452 if (result5 !== null) {
10453 var result6 = parse___();
10454 if (result6 !== null) {
10455 var result7 = parse_LogicalANDExpression();
10456 if (result7 !== null) {
10457 var result3 = [result4, result5, result6, result7];
10458 } else {
10459 var result3 = null;
10460 pos = savedPos1;
10461 }
10462 } else {
10463 var result3 = null;
10464 pos = savedPos1;
10465 }
10466 } else {
10467 var result3 = null;
10468 pos = savedPos1;
10469 }
10470 } else {
10471 var result3 = null;
10472 pos = savedPos1;
10473 }
10474 while (result3 !== null) {
10475 result2.push(result3);
10476 var savedPos1 = pos;
10477 var result4 = parse___();
10478 if (result4 !== null) {
10479 var result5 = parse_LogicalOROperator();
10480 if (result5 !== null) {
10481 var result6 = parse___();
10482 if (result6 !== null) {
10483 var result7 = parse_LogicalANDExpression();
10484 if (result7 !== null) {
10485 var result3 = [result4, result5, result6, result7];
10486 } else {
10487 var result3 = null;
10488 pos = savedPos1;
10489 }
10490 } else {
10491 var result3 = null;
10492 pos = savedPos1;
10493 }
10494 } else {
10495 var result3 = null;
10496 pos = savedPos1;
10497 }
10498 } else {
10499 var result3 = null;
10500 pos = savedPos1;
10501 }
10502 }
10503 if (result2 !== null) {
10504 var result0 = [result1, result2];
10505 } else {
10506 var result0 = null;
10507 pos = savedPos0;
10508 }
10509 } else {
10510 var result0 = null;
10511 pos = savedPos0;
10512 }
10513
10514
10515
10516 cache[cacheKey] = {
10517 nextPos: pos,
10518 result: result0
10519 };
10520 return result0;
10521 }
10522
10523 function parse_LogicalORExpressionNoIn() {
10524 var cacheKey = 'LogicalORExpressionNoIn@' + pos;
10525 var cachedResult = cache[cacheKey];
10526 if (cachedResult) {
10527 pos = cachedResult.nextPos;
10528 return cachedResult.result;
10529 }
10530
10531
10532 var savedPos0 = pos;
10533 var result1 = parse_LogicalANDExpressionNoIn();
10534 if (result1 !== null) {
10535 var result2 = [];
10536 var savedPos1 = pos;
10537 var result4 = parse___();
10538 if (result4 !== null) {
10539 var result5 = parse_LogicalOROperator();
10540 if (result5 !== null) {
10541 var result6 = parse___();
10542 if (result6 !== null) {
10543 var result7 = parse_LogicalANDExpressionNoIn();
10544 if (result7 !== null) {
10545 var result3 = [result4, result5, result6, result7];
10546 } else {
10547 var result3 = null;
10548 pos = savedPos1;
10549 }
10550 } else {
10551 var result3 = null;
10552 pos = savedPos1;
10553 }
10554 } else {
10555 var result3 = null;
10556 pos = savedPos1;
10557 }
10558 } else {
10559 var result3 = null;
10560 pos = savedPos1;
10561 }
10562 while (result3 !== null) {
10563 result2.push(result3);
10564 var savedPos1 = pos;
10565 var result4 = parse___();
10566 if (result4 !== null) {
10567 var result5 = parse_LogicalOROperator();
10568 if (result5 !== null) {
10569 var result6 = parse___();
10570 if (result6 !== null) {
10571 var result7 = parse_LogicalANDExpressionNoIn();
10572 if (result7 !== null) {
10573 var result3 = [result4, result5, result6, result7];
10574 } else {
10575 var result3 = null;
10576 pos = savedPos1;
10577 }
10578 } else {
10579 var result3 = null;
10580 pos = savedPos1;
10581 }
10582 } else {
10583 var result3 = null;
10584 pos = savedPos1;
10585 }
10586 } else {
10587 var result3 = null;
10588 pos = savedPos1;
10589 }
10590 }
10591 if (result2 !== null) {
10592 var result0 = [result1, result2];
10593 } else {
10594 var result0 = null;
10595 pos = savedPos0;
10596 }
10597 } else {
10598 var result0 = null;
10599 pos = savedPos0;
10600 }
10601
10602
10603
10604 cache[cacheKey] = {
10605 nextPos: pos,
10606 result: result0
10607 };
10608 return result0;
10609 }
10610
10611 function parse_LogicalOROperator() {
10612 var cacheKey = 'LogicalOROperator@' + pos;
10613 var cachedResult = cache[cacheKey];
10614 if (cachedResult) {
10615 pos = cachedResult.nextPos;
10616 return cachedResult.result;
10617 }
10618
10619
10620 var savedPos0 = pos;
10621 var savedPos1 = pos;
10622 if (input.substr(pos, 2) === "||") {
10623 var result3 = "||";
10624 pos += 2;
10625 } else {
10626 var result3 = null;
10627 if (reportMatchFailures) {
10628 matchFailed("\"||\"");
10629 }
10630 }
10631 if (result3 !== null) {
10632 var savedPos2 = pos;
10633 var savedReportMatchFailuresVar0 = reportMatchFailures;
10634 reportMatchFailures = false;
10635 if (input.substr(pos, 1) === "=") {
10636 var result5 = "=";
10637 pos += 1;
10638 } else {
10639 var result5 = null;
10640 if (reportMatchFailures) {
10641 matchFailed("\"=\"");
10642 }
10643 }
10644 reportMatchFailures = savedReportMatchFailuresVar0;
10645 if (result5 === null) {
10646 var result4 = '';
10647 } else {
10648 var result4 = null;
10649 pos = savedPos2;
10650 }
10651 if (result4 !== null) {
10652 var result1 = [result3, result4];
10653 } else {
10654 var result1 = null;
10655 pos = savedPos1;
10656 }
10657 } else {
10658 var result1 = null;
10659 pos = savedPos1;
10660 }
10661 var result2 = result1 !== null
10662 ? (function() { return "||"; })()
10663 : null;
10664 if (result2 !== null) {
10665 var result0 = result2;
10666 } else {
10667 var result0 = null;
10668 pos = savedPos0;
10669 }
10670
10671
10672
10673 cache[cacheKey] = {
10674 nextPos: pos,
10675 result: result0
10676 };
10677 return result0;
10678 }
10679
10680 function parse_ConditionalExpression() {
10681 var cacheKey = 'ConditionalExpression@' + pos;
10682 var cachedResult = cache[cacheKey];
10683 if (cachedResult) {
10684 pos = cachedResult.nextPos;
10685 return cachedResult.result;
10686 }
10687
10688
10689 var savedPos0 = pos;
10690 var result3 = parse_LogicalORExpression();
10691 if (result3 !== null) {
10692 var result4 = parse___();
10693 if (result4 !== null) {
10694 if (input.substr(pos, 1) === "?") {
10695 var result5 = "?";
10696 pos += 1;
10697 } else {
10698 var result5 = null;
10699 if (reportMatchFailures) {
10700 matchFailed("\"?\"");
10701 }
10702 }
10703 if (result5 !== null) {
10704 var result6 = parse___();
10705 if (result6 !== null) {
10706 var result7 = parse_AssignmentExpression();
10707 if (result7 !== null) {
10708 var result8 = parse___();
10709 if (result8 !== null) {
10710 if (input.substr(pos, 1) === ":") {
10711 var result9 = ":";
10712 pos += 1;
10713 } else {
10714 var result9 = null;
10715 if (reportMatchFailures) {
10716 matchFailed("\":\"");
10717 }
10718 }
10719 if (result9 !== null) {
10720 var result10 = parse___();
10721 if (result10 !== null) {
10722 var result11 = parse_AssignmentExpression();
10723 if (result11 !== null) {
10724 var result2 = [result3, result4, result5, result6, result7, result8, result9, result10, result11];
10725 } else {
10726 var result2 = null;
10727 pos = savedPos0;
10728 }
10729 } else {
10730 var result2 = null;
10731 pos = savedPos0;
10732 }
10733 } else {
10734 var result2 = null;
10735 pos = savedPos0;
10736 }
10737 } else {
10738 var result2 = null;
10739 pos = savedPos0;
10740 }
10741 } else {
10742 var result2 = null;
10743 pos = savedPos0;
10744 }
10745 } else {
10746 var result2 = null;
10747 pos = savedPos0;
10748 }
10749 } else {
10750 var result2 = null;
10751 pos = savedPos0;
10752 }
10753 } else {
10754 var result2 = null;
10755 pos = savedPos0;
10756 }
10757 } else {
10758 var result2 = null;
10759 pos = savedPos0;
10760 }
10761 if (result2 !== null) {
10762 var result0 = result2;
10763 } else {
10764 var result1 = parse_LogicalORExpression();
10765 if (result1 !== null) {
10766 var result0 = result1;
10767 } else {
10768 var result0 = null;;
10769 };
10770 }
10771
10772
10773
10774 cache[cacheKey] = {
10775 nextPos: pos,
10776 result: result0
10777 };
10778 return result0;
10779 }
10780
10781 function parse_ConditionalExpressionNoIn() {
10782 var cacheKey = 'ConditionalExpressionNoIn@' + pos;
10783 var cachedResult = cache[cacheKey];
10784 if (cachedResult) {
10785 pos = cachedResult.nextPos;
10786 return cachedResult.result;
10787 }
10788
10789
10790 var savedPos0 = pos;
10791 var result3 = parse_LogicalORExpressionNoIn();
10792 if (result3 !== null) {
10793 var result4 = parse___();
10794 if (result4 !== null) {
10795 if (input.substr(pos, 1) === "?") {
10796 var result5 = "?";
10797 pos += 1;
10798 } else {
10799 var result5 = null;
10800 if (reportMatchFailures) {
10801 matchFailed("\"?\"");
10802 }
10803 }
10804 if (result5 !== null) {
10805 var result6 = parse___();
10806 if (result6 !== null) {
10807 var result7 = parse_AssignmentExpressionNoIn();
10808 if (result7 !== null) {
10809 var result8 = parse___();
10810 if (result8 !== null) {
10811 if (input.substr(pos, 1) === ":") {
10812 var result9 = ":";
10813 pos += 1;
10814 } else {
10815 var result9 = null;
10816 if (reportMatchFailures) {
10817 matchFailed("\":\"");
10818 }
10819 }
10820 if (result9 !== null) {
10821 var result10 = parse___();
10822 if (result10 !== null) {
10823 var result11 = parse_AssignmentExpressionNoIn();
10824 if (result11 !== null) {
10825 var result2 = [result3, result4, result5, result6, result7, result8, result9, result10, result11];
10826 } else {
10827 var result2 = null;
10828 pos = savedPos0;
10829 }
10830 } else {
10831 var result2 = null;
10832 pos = savedPos0;
10833 }
10834 } else {
10835 var result2 = null;
10836 pos = savedPos0;
10837 }
10838 } else {
10839 var result2 = null;
10840 pos = savedPos0;
10841 }
10842 } else {
10843 var result2 = null;
10844 pos = savedPos0;
10845 }
10846 } else {
10847 var result2 = null;
10848 pos = savedPos0;
10849 }
10850 } else {
10851 var result2 = null;
10852 pos = savedPos0;
10853 }
10854 } else {
10855 var result2 = null;
10856 pos = savedPos0;
10857 }
10858 } else {
10859 var result2 = null;
10860 pos = savedPos0;
10861 }
10862 if (result2 !== null) {
10863 var result0 = result2;
10864 } else {
10865 var result1 = parse_LogicalORExpressionNoIn();
10866 if (result1 !== null) {
10867 var result0 = result1;
10868 } else {
10869 var result0 = null;;
10870 };
10871 }
10872
10873
10874
10875 cache[cacheKey] = {
10876 nextPos: pos,
10877 result: result0
10878 };
10879 return result0;
10880 }
10881
10882 function parse_AssignmentExpression() {
10883 var cacheKey = 'AssignmentExpression@' + pos;
10884 var cachedResult = cache[cacheKey];
10885 if (cachedResult) {
10886 pos = cachedResult.nextPos;
10887 return cachedResult.result;
10888 }
10889
10890
10891 var savedPos0 = pos;
10892 var result3 = parse_LeftHandSideExpression();
10893 if (result3 !== null) {
10894 var result4 = parse___();
10895 if (result4 !== null) {
10896 var result5 = parse_AssignmentOperator();
10897 if (result5 !== null) {
10898 var result6 = parse___();
10899 if (result6 !== null) {
10900 var result7 = parse_AssignmentExpression();
10901 if (result7 !== null) {
10902 var result2 = [result3, result4, result5, result6, result7];
10903 } else {
10904 var result2 = null;
10905 pos = savedPos0;
10906 }
10907 } else {
10908 var result2 = null;
10909 pos = savedPos0;
10910 }
10911 } else {
10912 var result2 = null;
10913 pos = savedPos0;
10914 }
10915 } else {
10916 var result2 = null;
10917 pos = savedPos0;
10918 }
10919 } else {
10920 var result2 = null;
10921 pos = savedPos0;
10922 }
10923 if (result2 !== null) {
10924 var result0 = result2;
10925 } else {
10926 var result1 = parse_ConditionalExpression();
10927 if (result1 !== null) {
10928 var result0 = result1;
10929 } else {
10930 var result0 = null;;
10931 };
10932 }
10933
10934
10935
10936 cache[cacheKey] = {
10937 nextPos: pos,
10938 result: result0
10939 };
10940 return result0;
10941 }
10942
10943 function parse_AssignmentExpressionNoIn() {
10944 var cacheKey = 'AssignmentExpressionNoIn@' + pos;
10945 var cachedResult = cache[cacheKey];
10946 if (cachedResult) {
10947 pos = cachedResult.nextPos;
10948 return cachedResult.result;
10949 }
10950
10951
10952 var savedPos0 = pos;
10953 var result3 = parse_LeftHandSideExpression();
10954 if (result3 !== null) {
10955 var result4 = parse___();
10956 if (result4 !== null) {
10957 var result5 = parse_AssignmentOperator();
10958 if (result5 !== null) {
10959 var result6 = parse___();
10960 if (result6 !== null) {
10961 var result7 = parse_AssignmentExpressionNoIn();
10962 if (result7 !== null) {
10963 var result2 = [result3, result4, result5, result6, result7];
10964 } else {
10965 var result2 = null;
10966 pos = savedPos0;
10967 }
10968 } else {
10969 var result2 = null;
10970 pos = savedPos0;
10971 }
10972 } else {
10973 var result2 = null;
10974 pos = savedPos0;
10975 }
10976 } else {
10977 var result2 = null;
10978 pos = savedPos0;
10979 }
10980 } else {
10981 var result2 = null;
10982 pos = savedPos0;
10983 }
10984 if (result2 !== null) {
10985 var result0 = result2;
10986 } else {
10987 var result1 = parse_ConditionalExpressionNoIn();
10988 if (result1 !== null) {
10989 var result0 = result1;
10990 } else {
10991 var result0 = null;;
10992 };
10993 }
10994
10995
10996
10997 cache[cacheKey] = {
10998 nextPos: pos,
10999 result: result0
11000 };
11001 return result0;
11002 }
11003
11004 function parse_AssignmentOperator() {
11005 var cacheKey = 'AssignmentOperator@' + pos;
11006 var cachedResult = cache[cacheKey];
11007 if (cachedResult) {
11008 pos = cachedResult.nextPos;
11009 return cachedResult.result;
11010 }
11011
11012
11013 var savedPos0 = pos;
11014 if (input.substr(pos, 1) === "=") {
11015 var result13 = "=";
11016 pos += 1;
11017 } else {
11018 var result13 = null;
11019 if (reportMatchFailures) {
11020 matchFailed("\"=\"");
11021 }
11022 }
11023 if (result13 !== null) {
11024 var savedPos1 = pos;
11025 var savedReportMatchFailuresVar0 = reportMatchFailures;
11026 reportMatchFailures = false;
11027 if (input.substr(pos, 1) === "=") {
11028 var result15 = "=";
11029 pos += 1;
11030 } else {
11031 var result15 = null;
11032 if (reportMatchFailures) {
11033 matchFailed("\"=\"");
11034 }
11035 }
11036 reportMatchFailures = savedReportMatchFailuresVar0;
11037 if (result15 === null) {
11038 var result14 = '';
11039 } else {
11040 var result14 = null;
11041 pos = savedPos1;
11042 }
11043 if (result14 !== null) {
11044 var result12 = [result13, result14];
11045 } else {
11046 var result12 = null;
11047 pos = savedPos0;
11048 }
11049 } else {
11050 var result12 = null;
11051 pos = savedPos0;
11052 }
11053 if (result12 !== null) {
11054 var result0 = result12;
11055 } else {
11056 if (input.substr(pos, 2) === "*=") {
11057 var result11 = "*=";
11058 pos += 2;
11059 } else {
11060 var result11 = null;
11061 if (reportMatchFailures) {
11062 matchFailed("\"*=\"");
11063 }
11064 }
11065 if (result11 !== null) {
11066 var result0 = result11;
11067 } else {
11068 if (input.substr(pos, 2) === "/=") {
11069 var result10 = "/=";
11070 pos += 2;
11071 } else {
11072 var result10 = null;
11073 if (reportMatchFailures) {
11074 matchFailed("\"/=\"");
11075 }
11076 }
11077 if (result10 !== null) {
11078 var result0 = result10;
11079 } else {
11080 if (input.substr(pos, 2) === "%=") {
11081 var result9 = "%=";
11082 pos += 2;
11083 } else {
11084 var result9 = null;
11085 if (reportMatchFailures) {
11086 matchFailed("\"%=\"");
11087 }
11088 }
11089 if (result9 !== null) {
11090 var result0 = result9;
11091 } else {
11092 if (input.substr(pos, 2) === "+=") {
11093 var result8 = "+=";
11094 pos += 2;
11095 } else {
11096 var result8 = null;
11097 if (reportMatchFailures) {
11098 matchFailed("\"+=\"");
11099 }
11100 }
11101 if (result8 !== null) {
11102 var result0 = result8;
11103 } else {
11104 if (input.substr(pos, 2) === "-=") {
11105 var result7 = "-=";
11106 pos += 2;
11107 } else {
11108 var result7 = null;
11109 if (reportMatchFailures) {
11110 matchFailed("\"-=\"");
11111 }
11112 }
11113 if (result7 !== null) {
11114 var result0 = result7;
11115 } else {
11116 if (input.substr(pos, 3) === "<<=") {
11117 var result6 = "<<=";
11118 pos += 3;
11119 } else {
11120 var result6 = null;
11121 if (reportMatchFailures) {
11122 matchFailed("\"<<=\"");
11123 }
11124 }
11125 if (result6 !== null) {
11126 var result0 = result6;
11127 } else {
11128 if (input.substr(pos, 3) === ">>=") {
11129 var result5 = ">>=";
11130 pos += 3;
11131 } else {
11132 var result5 = null;
11133 if (reportMatchFailures) {
11134 matchFailed("\">>=\"");
11135 }
11136 }
11137 if (result5 !== null) {
11138 var result0 = result5;
11139 } else {
11140 if (input.substr(pos, 4) === ">>>=") {
11141 var result4 = ">>>=";
11142 pos += 4;
11143 } else {
11144 var result4 = null;
11145 if (reportMatchFailures) {
11146 matchFailed("\">>>=\"");
11147 }
11148 }
11149 if (result4 !== null) {
11150 var result0 = result4;
11151 } else {
11152 if (input.substr(pos, 2) === "&=") {
11153 var result3 = "&=";
11154 pos += 2;
11155 } else {
11156 var result3 = null;
11157 if (reportMatchFailures) {
11158 matchFailed("\"&=\"");
11159 }
11160 }
11161 if (result3 !== null) {
11162 var result0 = result3;
11163 } else {
11164 if (input.substr(pos, 2) === "^=") {
11165 var result2 = "^=";
11166 pos += 2;
11167 } else {
11168 var result2 = null;
11169 if (reportMatchFailures) {
11170 matchFailed("\"^=\"");
11171 }
11172 }
11173 if (result2 !== null) {
11174 var result0 = result2;
11175 } else {
11176 if (input.substr(pos, 2) === "|=") {
11177 var result1 = "|=";
11178 pos += 2;
11179 } else {
11180 var result1 = null;
11181 if (reportMatchFailures) {
11182 matchFailed("\"|=\"");
11183 }
11184 }
11185 if (result1 !== null) {
11186 var result0 = result1;
11187 } else {
11188 var result0 = null;;
11189 };
11190 };
11191 };
11192 };
11193 };
11194 };
11195 };
11196 };
11197 };
11198 };
11199 };
11200 }
11201
11202
11203
11204 cache[cacheKey] = {
11205 nextPos: pos,
11206 result: result0
11207 };
11208 return result0;
11209 }
11210
11211 function parse_Expression() {
11212 var cacheKey = 'Expression@' + pos;
11213 var cachedResult = cache[cacheKey];
11214 if (cachedResult) {
11215 pos = cachedResult.nextPos;
11216 return cachedResult.result;
11217 }
11218
11219
11220 var savedPos0 = pos;
11221 var result1 = parse_AssignmentExpression();
11222 if (result1 !== null) {
11223 var result2 = [];
11224 var savedPos1 = pos;
11225 var result4 = parse___();
11226 if (result4 !== null) {
11227 if (input.substr(pos, 1) === ",") {
11228 var result5 = ",";
11229 pos += 1;
11230 } else {
11231 var result5 = null;
11232 if (reportMatchFailures) {
11233 matchFailed("\",\"");
11234 }
11235 }
11236 if (result5 !== null) {
11237 var result6 = parse___();
11238 if (result6 !== null) {
11239 var result7 = parse_AssignmentExpression();
11240 if (result7 !== null) {
11241 var result3 = [result4, result5, result6, result7];
11242 } else {
11243 var result3 = null;
11244 pos = savedPos1;
11245 }
11246 } else {
11247 var result3 = null;
11248 pos = savedPos1;
11249 }
11250 } else {
11251 var result3 = null;
11252 pos = savedPos1;
11253 }
11254 } else {
11255 var result3 = null;
11256 pos = savedPos1;
11257 }
11258 while (result3 !== null) {
11259 result2.push(result3);
11260 var savedPos1 = pos;
11261 var result4 = parse___();
11262 if (result4 !== null) {
11263 if (input.substr(pos, 1) === ",") {
11264 var result5 = ",";
11265 pos += 1;
11266 } else {
11267 var result5 = null;
11268 if (reportMatchFailures) {
11269 matchFailed("\",\"");
11270 }
11271 }
11272 if (result5 !== null) {
11273 var result6 = parse___();
11274 if (result6 !== null) {
11275 var result7 = parse_AssignmentExpression();
11276 if (result7 !== null) {
11277 var result3 = [result4, result5, result6, result7];
11278 } else {
11279 var result3 = null;
11280 pos = savedPos1;
11281 }
11282 } else {
11283 var result3 = null;
11284 pos = savedPos1;
11285 }
11286 } else {
11287 var result3 = null;
11288 pos = savedPos1;
11289 }
11290 } else {
11291 var result3 = null;
11292 pos = savedPos1;
11293 }
11294 }
11295 if (result2 !== null) {
11296 var result0 = [result1, result2];
11297 } else {
11298 var result0 = null;
11299 pos = savedPos0;
11300 }
11301 } else {
11302 var result0 = null;
11303 pos = savedPos0;
11304 }
11305
11306
11307
11308 cache[cacheKey] = {
11309 nextPos: pos,
11310 result: result0
11311 };
11312 return result0;
11313 }
11314
11315 function parse_ExpressionNoIn() {
11316 var cacheKey = 'ExpressionNoIn@' + pos;
11317 var cachedResult = cache[cacheKey];
11318 if (cachedResult) {
11319 pos = cachedResult.nextPos;
11320 return cachedResult.result;
11321 }
11322
11323
11324 var savedPos0 = pos;
11325 var result1 = parse_AssignmentExpressionNoIn();
11326 if (result1 !== null) {
11327 var result2 = [];
11328 var savedPos1 = pos;
11329 var result4 = parse___();
11330 if (result4 !== null) {
11331 if (input.substr(pos, 1) === ",") {
11332 var result5 = ",";
11333 pos += 1;
11334 } else {
11335 var result5 = null;
11336 if (reportMatchFailures) {
11337 matchFailed("\",\"");
11338 }
11339 }
11340 if (result5 !== null) {
11341 var result6 = parse___();
11342 if (result6 !== null) {
11343 var result7 = parse_AssignmentExpressionNoIn();
11344 if (result7 !== null) {
11345 var result3 = [result4, result5, result6, result7];
11346 } else {
11347 var result3 = null;
11348 pos = savedPos1;
11349 }
11350 } else {
11351 var result3 = null;
11352 pos = savedPos1;
11353 }
11354 } else {
11355 var result3 = null;
11356 pos = savedPos1;
11357 }
11358 } else {
11359 var result3 = null;
11360 pos = savedPos1;
11361 }
11362 while (result3 !== null) {
11363 result2.push(result3);
11364 var savedPos1 = pos;
11365 var result4 = parse___();
11366 if (result4 !== null) {
11367 if (input.substr(pos, 1) === ",") {
11368 var result5 = ",";
11369 pos += 1;
11370 } else {
11371 var result5 = null;
11372 if (reportMatchFailures) {
11373 matchFailed("\",\"");
11374 }
11375 }
11376 if (result5 !== null) {
11377 var result6 = parse___();
11378 if (result6 !== null) {
11379 var result7 = parse_AssignmentExpressionNoIn();
11380 if (result7 !== null) {
11381 var result3 = [result4, result5, result6, result7];
11382 } else {
11383 var result3 = null;
11384 pos = savedPos1;
11385 }
11386 } else {
11387 var result3 = null;
11388 pos = savedPos1;
11389 }
11390 } else {
11391 var result3 = null;
11392 pos = savedPos1;
11393 }
11394 } else {
11395 var result3 = null;
11396 pos = savedPos1;
11397 }
11398 }
11399 if (result2 !== null) {
11400 var result0 = [result1, result2];
11401 } else {
11402 var result0 = null;
11403 pos = savedPos0;
11404 }
11405 } else {
11406 var result0 = null;
11407 pos = savedPos0;
11408 }
11409
11410
11411
11412 cache[cacheKey] = {
11413 nextPos: pos,
11414 result: result0
11415 };
11416 return result0;
11417 }
11418
11419 function parse_Statement() {
11420 var cacheKey = 'Statement@' + pos;
11421 var cachedResult = cache[cacheKey];
11422 if (cachedResult) {
11423 pos = cachedResult.nextPos;
11424 return cachedResult.result;
11425 }
11426
11427
11428 var result17 = parse_Block();
11429 if (result17 !== null) {
11430 var result0 = result17;
11431 } else {
11432 var result16 = parse_VariableStatement();
11433 if (result16 !== null) {
11434 var result0 = result16;
11435 } else {
11436 var result15 = parse_EmptyStatement();
11437 if (result15 !== null) {
11438 var result0 = result15;
11439 } else {
11440 var result14 = parse_ExpressionStatement();
11441 if (result14 !== null) {
11442 var result0 = result14;
11443 } else {
11444 var result13 = parse_IfStatement();
11445 if (result13 !== null) {
11446 var result0 = result13;
11447 } else {
11448 var result12 = parse_IterationStatement();
11449 if (result12 !== null) {
11450 var result0 = result12;
11451 } else {
11452 var result11 = parse_ContinueStatement();
11453 if (result11 !== null) {
11454 var result0 = result11;
11455 } else {
11456 var result10 = parse_BreakStatement();
11457 if (result10 !== null) {
11458 var result0 = result10;
11459 } else {
11460 var result9 = parse_ReturnStatement();
11461 if (result9 !== null) {
11462 var result0 = result9;
11463 } else {
11464 var result8 = parse_WithStatement();
11465 if (result8 !== null) {
11466 var result0 = result8;
11467 } else {
11468 var result7 = parse_LabelledStatement();
11469 if (result7 !== null) {
11470 var result0 = result7;
11471 } else {
11472 var result6 = parse_SwitchStatement();
11473 if (result6 !== null) {
11474 var result0 = result6;
11475 } else {
11476 var result5 = parse_ThrowStatement();
11477 if (result5 !== null) {
11478 var result0 = result5;
11479 } else {
11480 var result4 = parse_TryStatement();
11481 if (result4 !== null) {
11482 var result0 = result4;
11483 } else {
11484 var result3 = parse_DebuggerStatement();
11485 if (result3 !== null) {
11486 var result0 = result3;
11487 } else {
11488 var result2 = parse_FunctionDeclaration();
11489 if (result2 !== null) {
11490 var result0 = result2;
11491 } else {
11492 var result1 = parse_FunctionExpression();
11493 if (result1 !== null) {
11494 var result0 = result1;
11495 } else {
11496 var result0 = null;;
11497 };
11498 };
11499 };
11500 };
11501 };
11502 };
11503 };
11504 };
11505 };
11506 };
11507 };
11508 };
11509 };
11510 };
11511 };
11512 };
11513 }
11514
11515
11516
11517 cache[cacheKey] = {
11518 nextPos: pos,
11519 result: result0
11520 };
11521 return result0;
11522 }
11523
11524 function parse_Block() {
11525 var cacheKey = 'Block@' + pos;
11526 var cachedResult = cache[cacheKey];
11527 if (cachedResult) {
11528 pos = cachedResult.nextPos;
11529 return cachedResult.result;
11530 }
11531
11532
11533 var savedPos0 = pos;
11534 if (input.substr(pos, 1) === "{") {
11535 var result1 = "{";
11536 pos += 1;
11537 } else {
11538 var result1 = null;
11539 if (reportMatchFailures) {
11540 matchFailed("\"{\"");
11541 }
11542 }
11543 if (result1 !== null) {
11544 var result2 = parse___();
11545 if (result2 !== null) {
11546 var savedPos1 = pos;
11547 var result6 = parse_StatementList();
11548 if (result6 !== null) {
11549 var result7 = parse___();
11550 if (result7 !== null) {
11551 var result5 = [result6, result7];
11552 } else {
11553 var result5 = null;
11554 pos = savedPos1;
11555 }
11556 } else {
11557 var result5 = null;
11558 pos = savedPos1;
11559 }
11560 var result3 = result5 !== null ? result5 : '';
11561 if (result3 !== null) {
11562 if (input.substr(pos, 1) === "}") {
11563 var result4 = "}";
11564 pos += 1;
11565 } else {
11566 var result4 = null;
11567 if (reportMatchFailures) {
11568 matchFailed("\"}\"");
11569 }
11570 }
11571 if (result4 !== null) {
11572 var result0 = [result1, result2, result3, result4];
11573 } else {
11574 var result0 = null;
11575 pos = savedPos0;
11576 }
11577 } else {
11578 var result0 = null;
11579 pos = savedPos0;
11580 }
11581 } else {
11582 var result0 = null;
11583 pos = savedPos0;
11584 }
11585 } else {
11586 var result0 = null;
11587 pos = savedPos0;
11588 }
11589
11590
11591
11592 cache[cacheKey] = {
11593 nextPos: pos,
11594 result: result0
11595 };
11596 return result0;
11597 }
11598
11599 function parse_StatementList() {
11600 var cacheKey = 'StatementList@' + pos;
11601 var cachedResult = cache[cacheKey];
11602 if (cachedResult) {
11603 pos = cachedResult.nextPos;
11604 return cachedResult.result;
11605 }
11606
11607
11608 var savedPos0 = pos;
11609 var result1 = parse_Statement();
11610 if (result1 !== null) {
11611 var result2 = [];
11612 var savedPos1 = pos;
11613 var result4 = parse___();
11614 if (result4 !== null) {
11615 var result5 = parse_Statement();
11616 if (result5 !== null) {
11617 var result3 = [result4, result5];
11618 } else {
11619 var result3 = null;
11620 pos = savedPos1;
11621 }
11622 } else {
11623 var result3 = null;
11624 pos = savedPos1;
11625 }
11626 while (result3 !== null) {
11627 result2.push(result3);
11628 var savedPos1 = pos;
11629 var result4 = parse___();
11630 if (result4 !== null) {
11631 var result5 = parse_Statement();
11632 if (result5 !== null) {
11633 var result3 = [result4, result5];
11634 } else {
11635 var result3 = null;
11636 pos = savedPos1;
11637 }
11638 } else {
11639 var result3 = null;
11640 pos = savedPos1;
11641 }
11642 }
11643 if (result2 !== null) {
11644 var result0 = [result1, result2];
11645 } else {
11646 var result0 = null;
11647 pos = savedPos0;
11648 }
11649 } else {
11650 var result0 = null;
11651 pos = savedPos0;
11652 }
11653
11654
11655
11656 cache[cacheKey] = {
11657 nextPos: pos,
11658 result: result0
11659 };
11660 return result0;
11661 }
11662
11663 function parse_VariableStatement() {
11664 var cacheKey = 'VariableStatement@' + pos;
11665 var cachedResult = cache[cacheKey];
11666 if (cachedResult) {
11667 pos = cachedResult.nextPos;
11668 return cachedResult.result;
11669 }
11670
11671
11672 var savedPos0 = pos;
11673 var result1 = parse_VarToken();
11674 if (result1 !== null) {
11675 var result2 = parse___();
11676 if (result2 !== null) {
11677 var result3 = parse_VariableDeclarationList();
11678 if (result3 !== null) {
11679 var result4 = parse_EOS();
11680 if (result4 !== null) {
11681 var result0 = [result1, result2, result3, result4];
11682 } else {
11683 var result0 = null;
11684 pos = savedPos0;
11685 }
11686 } else {
11687 var result0 = null;
11688 pos = savedPos0;
11689 }
11690 } else {
11691 var result0 = null;
11692 pos = savedPos0;
11693 }
11694 } else {
11695 var result0 = null;
11696 pos = savedPos0;
11697 }
11698
11699
11700
11701 cache[cacheKey] = {
11702 nextPos: pos,
11703 result: result0
11704 };
11705 return result0;
11706 }
11707
11708 function parse_VariableDeclarationList() {
11709 var cacheKey = 'VariableDeclarationList@' + pos;
11710 var cachedResult = cache[cacheKey];
11711 if (cachedResult) {
11712 pos = cachedResult.nextPos;
11713 return cachedResult.result;
11714 }
11715
11716
11717 var savedPos0 = pos;
11718 var result1 = parse_VariableDeclaration();
11719 if (result1 !== null) {
11720 var result2 = [];
11721 var savedPos1 = pos;
11722 var result4 = parse___();
11723 if (result4 !== null) {
11724 if (input.substr(pos, 1) === ",") {
11725 var result5 = ",";
11726 pos += 1;
11727 } else {
11728 var result5 = null;
11729 if (reportMatchFailures) {
11730 matchFailed("\",\"");
11731 }
11732 }
11733 if (result5 !== null) {
11734 var result6 = parse___();
11735 if (result6 !== null) {
11736 var result7 = parse_VariableDeclaration();
11737 if (result7 !== null) {
11738 var result3 = [result4, result5, result6, result7];
11739 } else {
11740 var result3 = null;
11741 pos = savedPos1;
11742 }
11743 } else {
11744 var result3 = null;
11745 pos = savedPos1;
11746 }
11747 } else {
11748 var result3 = null;
11749 pos = savedPos1;
11750 }
11751 } else {
11752 var result3 = null;
11753 pos = savedPos1;
11754 }
11755 while (result3 !== null) {
11756 result2.push(result3);
11757 var savedPos1 = pos;
11758 var result4 = parse___();
11759 if (result4 !== null) {
11760 if (input.substr(pos, 1) === ",") {
11761 var result5 = ",";
11762 pos += 1;
11763 } else {
11764 var result5 = null;
11765 if (reportMatchFailures) {
11766 matchFailed("\",\"");
11767 }
11768 }
11769 if (result5 !== null) {
11770 var result6 = parse___();
11771 if (result6 !== null) {
11772 var result7 = parse_VariableDeclaration();
11773 if (result7 !== null) {
11774 var result3 = [result4, result5, result6, result7];
11775 } else {
11776 var result3 = null;
11777 pos = savedPos1;
11778 }
11779 } else {
11780 var result3 = null;
11781 pos = savedPos1;
11782 }
11783 } else {
11784 var result3 = null;
11785 pos = savedPos1;
11786 }
11787 } else {
11788 var result3 = null;
11789 pos = savedPos1;
11790 }
11791 }
11792 if (result2 !== null) {
11793 var result0 = [result1, result2];
11794 } else {
11795 var result0 = null;
11796 pos = savedPos0;
11797 }
11798 } else {
11799 var result0 = null;
11800 pos = savedPos0;
11801 }
11802
11803
11804
11805 cache[cacheKey] = {
11806 nextPos: pos,
11807 result: result0
11808 };
11809 return result0;
11810 }
11811
11812 function parse_VariableDeclarationListNoIn() {
11813 var cacheKey = 'VariableDeclarationListNoIn@' + pos;
11814 var cachedResult = cache[cacheKey];
11815 if (cachedResult) {
11816 pos = cachedResult.nextPos;
11817 return cachedResult.result;
11818 }
11819
11820
11821 var savedPos0 = pos;
11822 var result1 = parse_VariableDeclarationNoIn();
11823 if (result1 !== null) {
11824 var result2 = [];
11825 var savedPos1 = pos;
11826 var result4 = parse___();
11827 if (result4 !== null) {
11828 if (input.substr(pos, 1) === ",") {
11829 var result5 = ",";
11830 pos += 1;
11831 } else {
11832 var result5 = null;
11833 if (reportMatchFailures) {
11834 matchFailed("\",\"");
11835 }
11836 }
11837 if (result5 !== null) {
11838 var result6 = parse___();
11839 if (result6 !== null) {
11840 var result7 = parse_VariableDeclarationNoIn();
11841 if (result7 !== null) {
11842 var result3 = [result4, result5, result6, result7];
11843 } else {
11844 var result3 = null;
11845 pos = savedPos1;
11846 }
11847 } else {
11848 var result3 = null;
11849 pos = savedPos1;
11850 }
11851 } else {
11852 var result3 = null;
11853 pos = savedPos1;
11854 }
11855 } else {
11856 var result3 = null;
11857 pos = savedPos1;
11858 }
11859 while (result3 !== null) {
11860 result2.push(result3);
11861 var savedPos1 = pos;
11862 var result4 = parse___();
11863 if (result4 !== null) {
11864 if (input.substr(pos, 1) === ",") {
11865 var result5 = ",";
11866 pos += 1;
11867 } else {
11868 var result5 = null;
11869 if (reportMatchFailures) {
11870 matchFailed("\",\"");
11871 }
11872 }
11873 if (result5 !== null) {
11874 var result6 = parse___();
11875 if (result6 !== null) {
11876 var result7 = parse_VariableDeclarationNoIn();
11877 if (result7 !== null) {
11878 var result3 = [result4, result5, result6, result7];
11879 } else {
11880 var result3 = null;
11881 pos = savedPos1;
11882 }
11883 } else {
11884 var result3 = null;
11885 pos = savedPos1;
11886 }
11887 } else {
11888 var result3 = null;
11889 pos = savedPos1;
11890 }
11891 } else {
11892 var result3 = null;
11893 pos = savedPos1;
11894 }
11895 }
11896 if (result2 !== null) {
11897 var result0 = [result1, result2];
11898 } else {
11899 var result0 = null;
11900 pos = savedPos0;
11901 }
11902 } else {
11903 var result0 = null;
11904 pos = savedPos0;
11905 }
11906
11907
11908
11909 cache[cacheKey] = {
11910 nextPos: pos,
11911 result: result0
11912 };
11913 return result0;
11914 }
11915
11916 function parse_VariableDeclaration() {
11917 var cacheKey = 'VariableDeclaration@' + pos;
11918 var cachedResult = cache[cacheKey];
11919 if (cachedResult) {
11920 pos = cachedResult.nextPos;
11921 return cachedResult.result;
11922 }
11923
11924
11925 var savedPos0 = pos;
11926 var result1 = parse_Identifier();
11927 if (result1 !== null) {
11928 var result2 = parse___();
11929 if (result2 !== null) {
11930 var result4 = parse_Initialiser();
11931 var result3 = result4 !== null ? result4 : '';
11932 if (result3 !== null) {
11933 var result0 = [result1, result2, result3];
11934 } else {
11935 var result0 = null;
11936 pos = savedPos0;
11937 }
11938 } else {
11939 var result0 = null;
11940 pos = savedPos0;
11941 }
11942 } else {
11943 var result0 = null;
11944 pos = savedPos0;
11945 }
11946
11947
11948
11949 cache[cacheKey] = {
11950 nextPos: pos,
11951 result: result0
11952 };
11953 return result0;
11954 }
11955
11956 function parse_VariableDeclarationNoIn() {
11957 var cacheKey = 'VariableDeclarationNoIn@' + pos;
11958 var cachedResult = cache[cacheKey];
11959 if (cachedResult) {
11960 pos = cachedResult.nextPos;
11961 return cachedResult.result;
11962 }
11963
11964
11965 var savedPos0 = pos;
11966 var result1 = parse_Identifier();
11967 if (result1 !== null) {
11968 var result2 = parse___();
11969 if (result2 !== null) {
11970 var result4 = parse_InitialiserNoIn();
11971 var result3 = result4 !== null ? result4 : '';
11972 if (result3 !== null) {
11973 var result0 = [result1, result2, result3];
11974 } else {
11975 var result0 = null;
11976 pos = savedPos0;
11977 }
11978 } else {
11979 var result0 = null;
11980 pos = savedPos0;
11981 }
11982 } else {
11983 var result0 = null;
11984 pos = savedPos0;
11985 }
11986
11987
11988
11989 cache[cacheKey] = {
11990 nextPos: pos,
11991 result: result0
11992 };
11993 return result0;
11994 }
11995
11996 function parse_Initialiser() {
11997 var cacheKey = 'Initialiser@' + pos;
11998 var cachedResult = cache[cacheKey];
11999 if (cachedResult) {
12000 pos = cachedResult.nextPos;
12001 return cachedResult.result;
12002 }
12003
12004
12005 var savedPos0 = pos;
12006 if (input.substr(pos, 1) === "=") {
12007 var result1 = "=";
12008 pos += 1;
12009 } else {
12010 var result1 = null;
12011 if (reportMatchFailures) {
12012 matchFailed("\"=\"");
12013 }
12014 }
12015 if (result1 !== null) {
12016 var savedPos1 = pos;
12017 var savedReportMatchFailuresVar0 = reportMatchFailures;
12018 reportMatchFailures = false;
12019 if (input.substr(pos, 1) === "=") {
12020 var result5 = "=";
12021 pos += 1;
12022 } else {
12023 var result5 = null;
12024 if (reportMatchFailures) {
12025 matchFailed("\"=\"");
12026 }
12027 }
12028 reportMatchFailures = savedReportMatchFailuresVar0;
12029 if (result5 === null) {
12030 var result2 = '';
12031 } else {
12032 var result2 = null;
12033 pos = savedPos1;
12034 }
12035 if (result2 !== null) {
12036 var result3 = parse___();
12037 if (result3 !== null) {
12038 var result4 = parse_AssignmentExpression();
12039 if (result4 !== null) {
12040 var result0 = [result1, result2, result3, result4];
12041 } else {
12042 var result0 = null;
12043 pos = savedPos0;
12044 }
12045 } else {
12046 var result0 = null;
12047 pos = savedPos0;
12048 }
12049 } else {
12050 var result0 = null;
12051 pos = savedPos0;
12052 }
12053 } else {
12054 var result0 = null;
12055 pos = savedPos0;
12056 }
12057
12058
12059
12060 cache[cacheKey] = {
12061 nextPos: pos,
12062 result: result0
12063 };
12064 return result0;
12065 }
12066
12067 function parse_InitialiserNoIn() {
12068 var cacheKey = 'InitialiserNoIn@' + pos;
12069 var cachedResult = cache[cacheKey];
12070 if (cachedResult) {
12071 pos = cachedResult.nextPos;
12072 return cachedResult.result;
12073 }
12074
12075
12076 var savedPos0 = pos;
12077 if (input.substr(pos, 1) === "=") {
12078 var result1 = "=";
12079 pos += 1;
12080 } else {
12081 var result1 = null;
12082 if (reportMatchFailures) {
12083 matchFailed("\"=\"");
12084 }
12085 }
12086 if (result1 !== null) {
12087 var savedPos1 = pos;
12088 var savedReportMatchFailuresVar0 = reportMatchFailures;
12089 reportMatchFailures = false;
12090 if (input.substr(pos, 1) === "=") {
12091 var result5 = "=";
12092 pos += 1;
12093 } else {
12094 var result5 = null;
12095 if (reportMatchFailures) {
12096 matchFailed("\"=\"");
12097 }
12098 }
12099 reportMatchFailures = savedReportMatchFailuresVar0;
12100 if (result5 === null) {
12101 var result2 = '';
12102 } else {
12103 var result2 = null;
12104 pos = savedPos1;
12105 }
12106 if (result2 !== null) {
12107 var result3 = parse___();
12108 if (result3 !== null) {
12109 var result4 = parse_AssignmentExpressionNoIn();
12110 if (result4 !== null) {
12111 var result0 = [result1, result2, result3, result4];
12112 } else {
12113 var result0 = null;
12114 pos = savedPos0;
12115 }
12116 } else {
12117 var result0 = null;
12118 pos = savedPos0;
12119 }
12120 } else {
12121 var result0 = null;
12122 pos = savedPos0;
12123 }
12124 } else {
12125 var result0 = null;
12126 pos = savedPos0;
12127 }
12128
12129
12130
12131 cache[cacheKey] = {
12132 nextPos: pos,
12133 result: result0
12134 };
12135 return result0;
12136 }
12137
12138 function parse_EmptyStatement() {
12139 var cacheKey = 'EmptyStatement@' + pos;
12140 var cachedResult = cache[cacheKey];
12141 if (cachedResult) {
12142 pos = cachedResult.nextPos;
12143 return cachedResult.result;
12144 }
12145
12146
12147 if (input.substr(pos, 1) === ";") {
12148 var result0 = ";";
12149 pos += 1;
12150 } else {
12151 var result0 = null;
12152 if (reportMatchFailures) {
12153 matchFailed("\";\"");
12154 }
12155 }
12156
12157
12158
12159 cache[cacheKey] = {
12160 nextPos: pos,
12161 result: result0
12162 };
12163 return result0;
12164 }
12165
12166 function parse_ExpressionStatement() {
12167 var cacheKey = 'ExpressionStatement@' + pos;
12168 var cachedResult = cache[cacheKey];
12169 if (cachedResult) {
12170 pos = cachedResult.nextPos;
12171 return cachedResult.result;
12172 }
12173
12174
12175 var savedPos0 = pos;
12176 var savedPos1 = pos;
12177 var savedReportMatchFailuresVar0 = reportMatchFailures;
12178 reportMatchFailures = false;
12179 if (input.substr(pos, 1) === "{") {
12180 var result6 = "{";
12181 pos += 1;
12182 } else {
12183 var result6 = null;
12184 if (reportMatchFailures) {
12185 matchFailed("\"{\"");
12186 }
12187 }
12188 if (result6 !== null) {
12189 var result4 = result6;
12190 } else {
12191 var result5 = parse_FunctionToken();
12192 if (result5 !== null) {
12193 var result4 = result5;
12194 } else {
12195 var result4 = null;;
12196 };
12197 }
12198 reportMatchFailures = savedReportMatchFailuresVar0;
12199 if (result4 === null) {
12200 var result1 = '';
12201 } else {
12202 var result1 = null;
12203 pos = savedPos1;
12204 }
12205 if (result1 !== null) {
12206 var result2 = parse_Expression();
12207 if (result2 !== null) {
12208 var result3 = parse_EOS();
12209 if (result3 !== null) {
12210 var result0 = [result1, result2, result3];
12211 } else {
12212 var result0 = null;
12213 pos = savedPos0;
12214 }
12215 } else {
12216 var result0 = null;
12217 pos = savedPos0;
12218 }
12219 } else {
12220 var result0 = null;
12221 pos = savedPos0;
12222 }
12223
12224
12225
12226 cache[cacheKey] = {
12227 nextPos: pos,
12228 result: result0
12229 };
12230 return result0;
12231 }
12232
12233 function parse_IfStatement() {
12234 var cacheKey = 'IfStatement@' + pos;
12235 var cachedResult = cache[cacheKey];
12236 if (cachedResult) {
12237 pos = cachedResult.nextPos;
12238 return cachedResult.result;
12239 }
12240
12241
12242 var savedPos0 = pos;
12243 var result1 = parse_IfToken();
12244 if (result1 !== null) {
12245 var result2 = parse___();
12246 if (result2 !== null) {
12247 if (input.substr(pos, 1) === "(") {
12248 var result3 = "(";
12249 pos += 1;
12250 } else {
12251 var result3 = null;
12252 if (reportMatchFailures) {
12253 matchFailed("\"(\"");
12254 }
12255 }
12256 if (result3 !== null) {
12257 var result4 = parse___();
12258 if (result4 !== null) {
12259 var result5 = parse_Expression();
12260 if (result5 !== null) {
12261 var result6 = parse___();
12262 if (result6 !== null) {
12263 if (input.substr(pos, 1) === ")") {
12264 var result7 = ")";
12265 pos += 1;
12266 } else {
12267 var result7 = null;
12268 if (reportMatchFailures) {
12269 matchFailed("\")\"");
12270 }
12271 }
12272 if (result7 !== null) {
12273 var result8 = parse___();
12274 if (result8 !== null) {
12275 var result9 = parse_Statement();
12276 if (result9 !== null) {
12277 var savedPos1 = pos;
12278 var result12 = parse___();
12279 if (result12 !== null) {
12280 var result13 = parse_ElseToken();
12281 if (result13 !== null) {
12282 var result14 = parse___();
12283 if (result14 !== null) {
12284 var result15 = parse_Statement();
12285 if (result15 !== null) {
12286 var result11 = [result12, result13, result14, result15];
12287 } else {
12288 var result11 = null;
12289 pos = savedPos1;
12290 }
12291 } else {
12292 var result11 = null;
12293 pos = savedPos1;
12294 }
12295 } else {
12296 var result11 = null;
12297 pos = savedPos1;
12298 }
12299 } else {
12300 var result11 = null;
12301 pos = savedPos1;
12302 }
12303 var result10 = result11 !== null ? result11 : '';
12304 if (result10 !== null) {
12305 var result0 = [result1, result2, result3, result4, result5, result6, result7, result8, result9, result10];
12306 } else {
12307 var result0 = null;
12308 pos = savedPos0;
12309 }
12310 } else {
12311 var result0 = null;
12312 pos = savedPos0;
12313 }
12314 } else {
12315 var result0 = null;
12316 pos = savedPos0;
12317 }
12318 } else {
12319 var result0 = null;
12320 pos = savedPos0;
12321 }
12322 } else {
12323 var result0 = null;
12324 pos = savedPos0;
12325 }
12326 } else {
12327 var result0 = null;
12328 pos = savedPos0;
12329 }
12330 } else {
12331 var result0 = null;
12332 pos = savedPos0;
12333 }
12334 } else {
12335 var result0 = null;
12336 pos = savedPos0;
12337 }
12338 } else {
12339 var result0 = null;
12340 pos = savedPos0;
12341 }
12342 } else {
12343 var result0 = null;
12344 pos = savedPos0;
12345 }
12346
12347
12348
12349 cache[cacheKey] = {
12350 nextPos: pos,
12351 result: result0
12352 };
12353 return result0;
12354 }
12355
12356 function parse_IterationStatement() {
12357 var cacheKey = 'IterationStatement@' + pos;
12358 var cachedResult = cache[cacheKey];
12359 if (cachedResult) {
12360 pos = cachedResult.nextPos;
12361 return cachedResult.result;
12362 }
12363
12364
12365 var result4 = parse_DoWhileStatement();
12366 if (result4 !== null) {
12367 var result0 = result4;
12368 } else {
12369 var result3 = parse_WhileStatement();
12370 if (result3 !== null) {
12371 var result0 = result3;
12372 } else {
12373 var result2 = parse_ForStatement();
12374 if (result2 !== null) {
12375 var result0 = result2;
12376 } else {
12377 var result1 = parse_ForInStatement();
12378 if (result1 !== null) {
12379 var result0 = result1;
12380 } else {
12381 var result0 = null;;
12382 };
12383 };
12384 };
12385 }
12386
12387
12388
12389 cache[cacheKey] = {
12390 nextPos: pos,
12391 result: result0
12392 };
12393 return result0;
12394 }
12395
12396 function parse_DoWhileStatement() {
12397 var cacheKey = 'DoWhileStatement@' + pos;
12398 var cachedResult = cache[cacheKey];
12399 if (cachedResult) {
12400 pos = cachedResult.nextPos;
12401 return cachedResult.result;
12402 }
12403
12404
12405 var savedPos0 = pos;
12406 var result1 = parse_DoToken();
12407 if (result1 !== null) {
12408 var result2 = parse___();
12409 if (result2 !== null) {
12410 var result3 = parse_Statement();
12411 if (result3 !== null) {
12412 var result4 = parse___();
12413 if (result4 !== null) {
12414 var result5 = parse_WhileToken();
12415 if (result5 !== null) {
12416 var result6 = parse___();
12417 if (result6 !== null) {
12418 if (input.substr(pos, 1) === "(") {
12419 var result7 = "(";
12420 pos += 1;
12421 } else {
12422 var result7 = null;
12423 if (reportMatchFailures) {
12424 matchFailed("\"(\"");
12425 }
12426 }
12427 if (result7 !== null) {
12428 var result8 = parse___();
12429 if (result8 !== null) {
12430 var result9 = parse_Expression();
12431 if (result9 !== null) {
12432 var result10 = parse___();
12433 if (result10 !== null) {
12434 if (input.substr(pos, 1) === ")") {
12435 var result11 = ")";
12436 pos += 1;
12437 } else {
12438 var result11 = null;
12439 if (reportMatchFailures) {
12440 matchFailed("\")\"");
12441 }
12442 }
12443 if (result11 !== null) {
12444 var result12 = parse_EOS();
12445 if (result12 !== null) {
12446 var result0 = [result1, result2, result3, result4, result5, result6, result7, result8, result9, result10, result11, result12];
12447 } else {
12448 var result0 = null;
12449 pos = savedPos0;
12450 }
12451 } else {
12452 var result0 = null;
12453 pos = savedPos0;
12454 }
12455 } else {
12456 var result0 = null;
12457 pos = savedPos0;
12458 }
12459 } else {
12460 var result0 = null;
12461 pos = savedPos0;
12462 }
12463 } else {
12464 var result0 = null;
12465 pos = savedPos0;
12466 }
12467 } else {
12468 var result0 = null;
12469 pos = savedPos0;
12470 }
12471 } else {
12472 var result0 = null;
12473 pos = savedPos0;
12474 }
12475 } else {
12476 var result0 = null;
12477 pos = savedPos0;
12478 }
12479 } else {
12480 var result0 = null;
12481 pos = savedPos0;
12482 }
12483 } else {
12484 var result0 = null;
12485 pos = savedPos0;
12486 }
12487 } else {
12488 var result0 = null;
12489 pos = savedPos0;
12490 }
12491 } else {
12492 var result0 = null;
12493 pos = savedPos0;
12494 }
12495
12496
12497
12498 cache[cacheKey] = {
12499 nextPos: pos,
12500 result: result0
12501 };
12502 return result0;
12503 }
12504
12505 function parse_WhileStatement() {
12506 var cacheKey = 'WhileStatement@' + pos;
12507 var cachedResult = cache[cacheKey];
12508 if (cachedResult) {
12509 pos = cachedResult.nextPos;
12510 return cachedResult.result;
12511 }
12512
12513
12514 var savedPos0 = pos;
12515 var result1 = parse_WhileToken();
12516 if (result1 !== null) {
12517 var result2 = parse___();
12518 if (result2 !== null) {
12519 if (input.substr(pos, 1) === "(") {
12520 var result3 = "(";
12521 pos += 1;
12522 } else {
12523 var result3 = null;
12524 if (reportMatchFailures) {
12525 matchFailed("\"(\"");
12526 }
12527 }
12528 if (result3 !== null) {
12529 var result4 = parse___();
12530 if (result4 !== null) {
12531 var result5 = parse_Expression();
12532 if (result5 !== null) {
12533 var result6 = parse___();
12534 if (result6 !== null) {
12535 if (input.substr(pos, 1) === ")") {
12536 var result7 = ")";
12537 pos += 1;
12538 } else {
12539 var result7 = null;
12540 if (reportMatchFailures) {
12541 matchFailed("\")\"");
12542 }
12543 }
12544 if (result7 !== null) {
12545 var result8 = parse___();
12546 if (result8 !== null) {
12547 var result9 = parse_Statement();
12548 if (result9 !== null) {
12549 var result0 = [result1, result2, result3, result4, result5, result6, result7, result8, result9];
12550 } else {
12551 var result0 = null;
12552 pos = savedPos0;
12553 }
12554 } else {
12555 var result0 = null;
12556 pos = savedPos0;
12557 }
12558 } else {
12559 var result0 = null;
12560 pos = savedPos0;
12561 }
12562 } else {
12563 var result0 = null;
12564 pos = savedPos0;
12565 }
12566 } else {
12567 var result0 = null;
12568 pos = savedPos0;
12569 }
12570 } else {
12571 var result0 = null;
12572 pos = savedPos0;
12573 }
12574 } else {
12575 var result0 = null;
12576 pos = savedPos0;
12577 }
12578 } else {
12579 var result0 = null;
12580 pos = savedPos0;
12581 }
12582 } else {
12583 var result0 = null;
12584 pos = savedPos0;
12585 }
12586
12587
12588
12589 cache[cacheKey] = {
12590 nextPos: pos,
12591 result: result0
12592 };
12593 return result0;
12594 }
12595
12596 function parse_ForStatement() {
12597 var cacheKey = 'ForStatement@' + pos;
12598 var cachedResult = cache[cacheKey];
12599 if (cachedResult) {
12600 pos = cachedResult.nextPos;
12601 return cachedResult.result;
12602 }
12603
12604
12605 var savedPos0 = pos;
12606 var result1 = parse_ForToken();
12607 if (result1 !== null) {
12608 var result2 = parse___();
12609 if (result2 !== null) {
12610 if (input.substr(pos, 1) === "(") {
12611 var result3 = "(";
12612 pos += 1;
12613 } else {
12614 var result3 = null;
12615 if (reportMatchFailures) {
12616 matchFailed("\"(\"");
12617 }
12618 }
12619 if (result3 !== null) {
12620 var result4 = parse___();
12621 if (result4 !== null) {
12622 var savedPos1 = pos;
12623 var result23 = parse_VarToken();
12624 if (result23 !== null) {
12625 var result24 = parse___();
12626 if (result24 !== null) {
12627 var result25 = parse_VariableDeclarationListNoIn();
12628 if (result25 !== null) {
12629 var result22 = [result23, result24, result25];
12630 } else {
12631 var result22 = null;
12632 pos = savedPos1;
12633 }
12634 } else {
12635 var result22 = null;
12636 pos = savedPos1;
12637 }
12638 } else {
12639 var result22 = null;
12640 pos = savedPos1;
12641 }
12642 if (result22 !== null) {
12643 var result5 = result22;
12644 } else {
12645 var result21 = parse_ExpressionNoIn();
12646 var result20 = result21 !== null ? result21 : '';
12647 if (result20 !== null) {
12648 var result5 = result20;
12649 } else {
12650 var result5 = null;;
12651 };
12652 }
12653 if (result5 !== null) {
12654 var result6 = parse___();
12655 if (result6 !== null) {
12656 if (input.substr(pos, 1) === ";") {
12657 var result7 = ";";
12658 pos += 1;
12659 } else {
12660 var result7 = null;
12661 if (reportMatchFailures) {
12662 matchFailed("\";\"");
12663 }
12664 }
12665 if (result7 !== null) {
12666 var result8 = parse___();
12667 if (result8 !== null) {
12668 var result19 = parse_Expression();
12669 var result9 = result19 !== null ? result19 : '';
12670 if (result9 !== null) {
12671 var result10 = parse___();
12672 if (result10 !== null) {
12673 if (input.substr(pos, 1) === ";") {
12674 var result11 = ";";
12675 pos += 1;
12676 } else {
12677 var result11 = null;
12678 if (reportMatchFailures) {
12679 matchFailed("\";\"");
12680 }
12681 }
12682 if (result11 !== null) {
12683 var result12 = parse___();
12684 if (result12 !== null) {
12685 var result18 = parse_Expression();
12686 var result13 = result18 !== null ? result18 : '';
12687 if (result13 !== null) {
12688 var result14 = parse___();
12689 if (result14 !== null) {
12690 if (input.substr(pos, 1) === ")") {
12691 var result15 = ")";
12692 pos += 1;
12693 } else {
12694 var result15 = null;
12695 if (reportMatchFailures) {
12696 matchFailed("\")\"");
12697 }
12698 }
12699 if (result15 !== null) {
12700 var result16 = parse___();
12701 if (result16 !== null) {
12702 var result17 = parse_Statement();
12703 if (result17 !== null) {
12704 var result0 = [result1, result2, result3, result4, result5, result6, result7, result8, result9, result10, result11, result12, result13, result14, result15, result16, result17];
12705 } else {
12706 var result0 = null;
12707 pos = savedPos0;
12708 }
12709 } else {
12710 var result0 = null;
12711 pos = savedPos0;
12712 }
12713 } else {
12714 var result0 = null;
12715 pos = savedPos0;
12716 }
12717 } else {
12718 var result0 = null;
12719 pos = savedPos0;
12720 }
12721 } else {
12722 var result0 = null;
12723 pos = savedPos0;
12724 }
12725 } else {
12726 var result0 = null;
12727 pos = savedPos0;
12728 }
12729 } else {
12730 var result0 = null;
12731 pos = savedPos0;
12732 }
12733 } else {
12734 var result0 = null;
12735 pos = savedPos0;
12736 }
12737 } else {
12738 var result0 = null;
12739 pos = savedPos0;
12740 }
12741 } else {
12742 var result0 = null;
12743 pos = savedPos0;
12744 }
12745 } else {
12746 var result0 = null;
12747 pos = savedPos0;
12748 }
12749 } else {
12750 var result0 = null;
12751 pos = savedPos0;
12752 }
12753 } else {
12754 var result0 = null;
12755 pos = savedPos0;
12756 }
12757 } else {
12758 var result0 = null;
12759 pos = savedPos0;
12760 }
12761 } else {
12762 var result0 = null;
12763 pos = savedPos0;
12764 }
12765 } else {
12766 var result0 = null;
12767 pos = savedPos0;
12768 }
12769 } else {
12770 var result0 = null;
12771 pos = savedPos0;
12772 }
12773
12774
12775
12776 cache[cacheKey] = {
12777 nextPos: pos,
12778 result: result0
12779 };
12780 return result0;
12781 }
12782
12783 function parse_ForInStatement() {
12784 var cacheKey = 'ForInStatement@' + pos;
12785 var cachedResult = cache[cacheKey];
12786 if (cachedResult) {
12787 pos = cachedResult.nextPos;
12788 return cachedResult.result;
12789 }
12790
12791
12792 var savedPos0 = pos;
12793 var result1 = parse_ForToken();
12794 if (result1 !== null) {
12795 var result2 = parse___();
12796 if (result2 !== null) {
12797 if (input.substr(pos, 1) === "(") {
12798 var result3 = "(";
12799 pos += 1;
12800 } else {
12801 var result3 = null;
12802 if (reportMatchFailures) {
12803 matchFailed("\"(\"");
12804 }
12805 }
12806 if (result3 !== null) {
12807 var result4 = parse___();
12808 if (result4 !== null) {
12809 var savedPos1 = pos;
12810 var result16 = parse_VarToken();
12811 if (result16 !== null) {
12812 var result17 = parse___();
12813 if (result17 !== null) {
12814 var result18 = parse_VariableDeclarationNoIn();
12815 if (result18 !== null) {
12816 var result15 = [result16, result17, result18];
12817 } else {
12818 var result15 = null;
12819 pos = savedPos1;
12820 }
12821 } else {
12822 var result15 = null;
12823 pos = savedPos1;
12824 }
12825 } else {
12826 var result15 = null;
12827 pos = savedPos1;
12828 }
12829 if (result15 !== null) {
12830 var result5 = result15;
12831 } else {
12832 var result14 = parse_LeftHandSideExpression();
12833 if (result14 !== null) {
12834 var result5 = result14;
12835 } else {
12836 var result5 = null;;
12837 };
12838 }
12839 if (result5 !== null) {
12840 var result6 = parse___();
12841 if (result6 !== null) {
12842 var result7 = parse_InToken();
12843 if (result7 !== null) {
12844 var result8 = parse___();
12845 if (result8 !== null) {
12846 var result9 = parse_Expression();
12847 if (result9 !== null) {
12848 var result10 = parse___();
12849 if (result10 !== null) {
12850 if (input.substr(pos, 1) === ")") {
12851 var result11 = ")";
12852 pos += 1;
12853 } else {
12854 var result11 = null;
12855 if (reportMatchFailures) {
12856 matchFailed("\")\"");
12857 }
12858 }
12859 if (result11 !== null) {
12860 var result12 = parse___();
12861 if (result12 !== null) {
12862 var result13 = parse_Statement();
12863 if (result13 !== null) {
12864 var result0 = [result1, result2, result3, result4, result5, result6, result7, result8, result9, result10, result11, result12, result13];
12865 } else {
12866 var result0 = null;
12867 pos = savedPos0;
12868 }
12869 } else {
12870 var result0 = null;
12871 pos = savedPos0;
12872 }
12873 } else {
12874 var result0 = null;
12875 pos = savedPos0;
12876 }
12877 } else {
12878 var result0 = null;
12879 pos = savedPos0;
12880 }
12881 } else {
12882 var result0 = null;
12883 pos = savedPos0;
12884 }
12885 } else {
12886 var result0 = null;
12887 pos = savedPos0;
12888 }
12889 } else {
12890 var result0 = null;
12891 pos = savedPos0;
12892 }
12893 } else {
12894 var result0 = null;
12895 pos = savedPos0;
12896 }
12897 } else {
12898 var result0 = null;
12899 pos = savedPos0;
12900 }
12901 } else {
12902 var result0 = null;
12903 pos = savedPos0;
12904 }
12905 } else {
12906 var result0 = null;
12907 pos = savedPos0;
12908 }
12909 } else {
12910 var result0 = null;
12911 pos = savedPos0;
12912 }
12913 } else {
12914 var result0 = null;
12915 pos = savedPos0;
12916 }
12917
12918
12919
12920 cache[cacheKey] = {
12921 nextPos: pos,
12922 result: result0
12923 };
12924 return result0;
12925 }
12926
12927 function parse_ContinueStatement() {
12928 var cacheKey = 'ContinueStatement@' + pos;
12929 var cachedResult = cache[cacheKey];
12930 if (cachedResult) {
12931 pos = cachedResult.nextPos;
12932 return cachedResult.result;
12933 }
12934
12935
12936 var savedPos0 = pos;
12937 var result1 = parse_ContinueToken();
12938 if (result1 !== null) {
12939 var result2 = parse__();
12940 if (result2 !== null) {
12941 var savedPos1 = pos;
12942 var result6 = parse_Identifier();
12943 if (result6 !== null) {
12944 var result7 = parse_EOS();
12945 if (result7 !== null) {
12946 var result5 = [result6, result7];
12947 } else {
12948 var result5 = null;
12949 pos = savedPos1;
12950 }
12951 } else {
12952 var result5 = null;
12953 pos = savedPos1;
12954 }
12955 if (result5 !== null) {
12956 var result3 = result5;
12957 } else {
12958 var result4 = parse_EOSNoLineTerminator();
12959 if (result4 !== null) {
12960 var result3 = result4;
12961 } else {
12962 var result3 = null;;
12963 };
12964 }
12965 if (result3 !== null) {
12966 var result0 = [result1, result2, result3];
12967 } else {
12968 var result0 = null;
12969 pos = savedPos0;
12970 }
12971 } else {
12972 var result0 = null;
12973 pos = savedPos0;
12974 }
12975 } else {
12976 var result0 = null;
12977 pos = savedPos0;
12978 }
12979
12980
12981
12982 cache[cacheKey] = {
12983 nextPos: pos,
12984 result: result0
12985 };
12986 return result0;
12987 }
12988
12989 function parse_BreakStatement() {
12990 var cacheKey = 'BreakStatement@' + pos;
12991 var cachedResult = cache[cacheKey];
12992 if (cachedResult) {
12993 pos = cachedResult.nextPos;
12994 return cachedResult.result;
12995 }
12996
12997
12998 var savedPos0 = pos;
12999 var result1 = parse_BreakToken();
13000 if (result1 !== null) {
13001 var result2 = parse__();
13002 if (result2 !== null) {
13003 var savedPos1 = pos;
13004 var result6 = parse_Identifier();
13005 if (result6 !== null) {
13006 var result7 = parse_EOS();
13007 if (result7 !== null) {
13008 var result5 = [result6, result7];
13009 } else {
13010 var result5 = null;
13011 pos = savedPos1;
13012 }
13013 } else {
13014 var result5 = null;
13015 pos = savedPos1;
13016 }
13017 if (result5 !== null) {
13018 var result3 = result5;
13019 } else {
13020 var result4 = parse_EOSNoLineTerminator();
13021 if (result4 !== null) {
13022 var result3 = result4;
13023 } else {
13024 var result3 = null;;
13025 };
13026 }
13027 if (result3 !== null) {
13028 var result0 = [result1, result2, result3];
13029 } else {
13030 var result0 = null;
13031 pos = savedPos0;
13032 }
13033 } else {
13034 var result0 = null;
13035 pos = savedPos0;
13036 }
13037 } else {
13038 var result0 = null;
13039 pos = savedPos0;
13040 }
13041
13042
13043
13044 cache[cacheKey] = {
13045 nextPos: pos,
13046 result: result0
13047 };
13048 return result0;
13049 }
13050
13051 function parse_ReturnStatement() {
13052 var cacheKey = 'ReturnStatement@' + pos;
13053 var cachedResult = cache[cacheKey];
13054 if (cachedResult) {
13055 pos = cachedResult.nextPos;
13056 return cachedResult.result;
13057 }
13058
13059
13060 var savedPos0 = pos;
13061 var result1 = parse_ReturnToken();
13062 if (result1 !== null) {
13063 var result2 = parse__();
13064 if (result2 !== null) {
13065 var savedPos1 = pos;
13066 var result6 = parse_Expression();
13067 if (result6 !== null) {
13068 var result7 = parse_EOS();
13069 if (result7 !== null) {
13070 var result5 = [result6, result7];
13071 } else {
13072 var result5 = null;
13073 pos = savedPos1;
13074 }
13075 } else {
13076 var result5 = null;
13077 pos = savedPos1;
13078 }
13079 if (result5 !== null) {
13080 var result3 = result5;
13081 } else {
13082 var result4 = parse_EOSNoLineTerminator();
13083 if (result4 !== null) {
13084 var result3 = result4;
13085 } else {
13086 var result3 = null;;
13087 };
13088 }
13089 if (result3 !== null) {
13090 var result0 = [result1, result2, result3];
13091 } else {
13092 var result0 = null;
13093 pos = savedPos0;
13094 }
13095 } else {
13096 var result0 = null;
13097 pos = savedPos0;
13098 }
13099 } else {
13100 var result0 = null;
13101 pos = savedPos0;
13102 }
13103
13104
13105
13106 cache[cacheKey] = {
13107 nextPos: pos,
13108 result: result0
13109 };
13110 return result0;
13111 }
13112
13113 function parse_WithStatement() {
13114 var cacheKey = 'WithStatement@' + pos;
13115 var cachedResult = cache[cacheKey];
13116 if (cachedResult) {
13117 pos = cachedResult.nextPos;
13118 return cachedResult.result;
13119 }
13120
13121
13122 var savedPos0 = pos;
13123 var result1 = parse_WithToken();
13124 if (result1 !== null) {
13125 var result2 = parse___();
13126 if (result2 !== null) {
13127 if (input.substr(pos, 1) === "(") {
13128 var result3 = "(";
13129 pos += 1;
13130 } else {
13131 var result3 = null;
13132 if (reportMatchFailures) {
13133 matchFailed("\"(\"");
13134 }
13135 }
13136 if (result3 !== null) {
13137 var result4 = parse___();
13138 if (result4 !== null) {
13139 var result5 = parse_Expression();
13140 if (result5 !== null) {
13141 var result6 = parse___();
13142 if (result6 !== null) {
13143 if (input.substr(pos, 1) === ")") {
13144 var result7 = ")";
13145 pos += 1;
13146 } else {
13147 var result7 = null;
13148 if (reportMatchFailures) {
13149 matchFailed("\")\"");
13150 }
13151 }
13152 if (result7 !== null) {
13153 var result8 = parse___();
13154 if (result8 !== null) {
13155 var result9 = parse_Statement();
13156 if (result9 !== null) {
13157 var result0 = [result1, result2, result3, result4, result5, result6, result7, result8, result9];
13158 } else {
13159 var result0 = null;
13160 pos = savedPos0;
13161 }
13162 } else {
13163 var result0 = null;
13164 pos = savedPos0;
13165 }
13166 } else {
13167 var result0 = null;
13168 pos = savedPos0;
13169 }
13170 } else {
13171 var result0 = null;
13172 pos = savedPos0;
13173 }
13174 } else {
13175 var result0 = null;
13176 pos = savedPos0;
13177 }
13178 } else {
13179 var result0 = null;
13180 pos = savedPos0;
13181 }
13182 } else {
13183 var result0 = null;
13184 pos = savedPos0;
13185 }
13186 } else {
13187 var result0 = null;
13188 pos = savedPos0;
13189 }
13190 } else {
13191 var result0 = null;
13192 pos = savedPos0;
13193 }
13194
13195
13196
13197 cache[cacheKey] = {
13198 nextPos: pos,
13199 result: result0
13200 };
13201 return result0;
13202 }
13203
13204 function parse_SwitchStatement() {
13205 var cacheKey = 'SwitchStatement@' + pos;
13206 var cachedResult = cache[cacheKey];
13207 if (cachedResult) {
13208 pos = cachedResult.nextPos;
13209 return cachedResult.result;
13210 }
13211
13212
13213 var savedPos0 = pos;
13214 var result1 = parse_SwitchToken();
13215 if (result1 !== null) {
13216 var result2 = parse___();
13217 if (result2 !== null) {
13218 if (input.substr(pos, 1) === "(") {
13219 var result3 = "(";
13220 pos += 1;
13221 } else {
13222 var result3 = null;
13223 if (reportMatchFailures) {
13224 matchFailed("\"(\"");
13225 }
13226 }
13227 if (result3 !== null) {
13228 var result4 = parse___();
13229 if (result4 !== null) {
13230 var result5 = parse_Expression();
13231 if (result5 !== null) {
13232 var result6 = parse___();
13233 if (result6 !== null) {
13234 if (input.substr(pos, 1) === ")") {
13235 var result7 = ")";
13236 pos += 1;
13237 } else {
13238 var result7 = null;
13239 if (reportMatchFailures) {
13240 matchFailed("\")\"");
13241 }
13242 }
13243 if (result7 !== null) {
13244 var result8 = parse___();
13245 if (result8 !== null) {
13246 var result9 = parse_CaseBlock();
13247 if (result9 !== null) {
13248 var result0 = [result1, result2, result3, result4, result5, result6, result7, result8, result9];
13249 } else {
13250 var result0 = null;
13251 pos = savedPos0;
13252 }
13253 } else {
13254 var result0 = null;
13255 pos = savedPos0;
13256 }
13257 } else {
13258 var result0 = null;
13259 pos = savedPos0;
13260 }
13261 } else {
13262 var result0 = null;
13263 pos = savedPos0;
13264 }
13265 } else {
13266 var result0 = null;
13267 pos = savedPos0;
13268 }
13269 } else {
13270 var result0 = null;
13271 pos = savedPos0;
13272 }
13273 } else {
13274 var result0 = null;
13275 pos = savedPos0;
13276 }
13277 } else {
13278 var result0 = null;
13279 pos = savedPos0;
13280 }
13281 } else {
13282 var result0 = null;
13283 pos = savedPos0;
13284 }
13285
13286
13287
13288 cache[cacheKey] = {
13289 nextPos: pos,
13290 result: result0
13291 };
13292 return result0;
13293 }
13294
13295 function parse_CaseBlock() {
13296 var cacheKey = 'CaseBlock@' + pos;
13297 var cachedResult = cache[cacheKey];
13298 if (cachedResult) {
13299 pos = cachedResult.nextPos;
13300 return cachedResult.result;
13301 }
13302
13303
13304 var savedPos0 = pos;
13305 if (input.substr(pos, 1) === "{") {
13306 var result1 = "{";
13307 pos += 1;
13308 } else {
13309 var result1 = null;
13310 if (reportMatchFailures) {
13311 matchFailed("\"{\"");
13312 }
13313 }
13314 if (result1 !== null) {
13315 var result2 = parse___();
13316 if (result2 !== null) {
13317 var result13 = parse_CaseClauses();
13318 var result3 = result13 !== null ? result13 : '';
13319 if (result3 !== null) {
13320 var savedPos1 = pos;
13321 var result8 = parse___();
13322 if (result8 !== null) {
13323 var result9 = parse_DefaultClause();
13324 if (result9 !== null) {
13325 var result10 = parse___();
13326 if (result10 !== null) {
13327 var result12 = parse_CaseClauses();
13328 var result11 = result12 !== null ? result12 : '';
13329 if (result11 !== null) {
13330 var result7 = [result8, result9, result10, result11];
13331 } else {
13332 var result7 = null;
13333 pos = savedPos1;
13334 }
13335 } else {
13336 var result7 = null;
13337 pos = savedPos1;
13338 }
13339 } else {
13340 var result7 = null;
13341 pos = savedPos1;
13342 }
13343 } else {
13344 var result7 = null;
13345 pos = savedPos1;
13346 }
13347 var result4 = result7 !== null ? result7 : '';
13348 if (result4 !== null) {
13349 var result5 = parse___();
13350 if (result5 !== null) {
13351 if (input.substr(pos, 1) === "}") {
13352 var result6 = "}";
13353 pos += 1;
13354 } else {
13355 var result6 = null;
13356 if (reportMatchFailures) {
13357 matchFailed("\"}\"");
13358 }
13359 }
13360 if (result6 !== null) {
13361 var result0 = [result1, result2, result3, result4, result5, result6];
13362 } else {
13363 var result0 = null;
13364 pos = savedPos0;
13365 }
13366 } else {
13367 var result0 = null;
13368 pos = savedPos0;
13369 }
13370 } else {
13371 var result0 = null;
13372 pos = savedPos0;
13373 }
13374 } else {
13375 var result0 = null;
13376 pos = savedPos0;
13377 }
13378 } else {
13379 var result0 = null;
13380 pos = savedPos0;
13381 }
13382 } else {
13383 var result0 = null;
13384 pos = savedPos0;
13385 }
13386
13387
13388
13389 cache[cacheKey] = {
13390 nextPos: pos,
13391 result: result0
13392 };
13393 return result0;
13394 }
13395
13396 function parse_CaseClauses() {
13397 var cacheKey = 'CaseClauses@' + pos;
13398 var cachedResult = cache[cacheKey];
13399 if (cachedResult) {
13400 pos = cachedResult.nextPos;
13401 return cachedResult.result;
13402 }
13403
13404
13405 var savedPos0 = pos;
13406 var result1 = parse_CaseClause();
13407 if (result1 !== null) {
13408 var result2 = [];
13409 var savedPos1 = pos;
13410 var result4 = parse___();
13411 if (result4 !== null) {
13412 var result5 = parse_CaseClause();
13413 if (result5 !== null) {
13414 var result3 = [result4, result5];
13415 } else {
13416 var result3 = null;
13417 pos = savedPos1;
13418 }
13419 } else {
13420 var result3 = null;
13421 pos = savedPos1;
13422 }
13423 while (result3 !== null) {
13424 result2.push(result3);
13425 var savedPos1 = pos;
13426 var result4 = parse___();
13427 if (result4 !== null) {
13428 var result5 = parse_CaseClause();
13429 if (result5 !== null) {
13430 var result3 = [result4, result5];
13431 } else {
13432 var result3 = null;
13433 pos = savedPos1;
13434 }
13435 } else {
13436 var result3 = null;
13437 pos = savedPos1;
13438 }
13439 }
13440 if (result2 !== null) {
13441 var result0 = [result1, result2];
13442 } else {
13443 var result0 = null;
13444 pos = savedPos0;
13445 }
13446 } else {
13447 var result0 = null;
13448 pos = savedPos0;
13449 }
13450
13451
13452
13453 cache[cacheKey] = {
13454 nextPos: pos,
13455 result: result0
13456 };
13457 return result0;
13458 }
13459
13460 function parse_CaseClause() {
13461 var cacheKey = 'CaseClause@' + pos;
13462 var cachedResult = cache[cacheKey];
13463 if (cachedResult) {
13464 pos = cachedResult.nextPos;
13465 return cachedResult.result;
13466 }
13467
13468
13469 var savedPos0 = pos;
13470 var result1 = parse_CaseToken();
13471 if (result1 !== null) {
13472 var result2 = parse___();
13473 if (result2 !== null) {
13474 var result3 = parse_Expression();
13475 if (result3 !== null) {
13476 var result4 = parse___();
13477 if (result4 !== null) {
13478 if (input.substr(pos, 1) === ":") {
13479 var result5 = ":";
13480 pos += 1;
13481 } else {
13482 var result5 = null;
13483 if (reportMatchFailures) {
13484 matchFailed("\":\"");
13485 }
13486 }
13487 if (result5 !== null) {
13488 var savedPos1 = pos;
13489 var result8 = parse___();
13490 if (result8 !== null) {
13491 var result9 = parse_StatementList();
13492 if (result9 !== null) {
13493 var result7 = [result8, result9];
13494 } else {
13495 var result7 = null;
13496 pos = savedPos1;
13497 }
13498 } else {
13499 var result7 = null;
13500 pos = savedPos1;
13501 }
13502 var result6 = result7 !== null ? result7 : '';
13503 if (result6 !== null) {
13504 var result0 = [result1, result2, result3, result4, result5, result6];
13505 } else {
13506 var result0 = null;
13507 pos = savedPos0;
13508 }
13509 } else {
13510 var result0 = null;
13511 pos = savedPos0;
13512 }
13513 } else {
13514 var result0 = null;
13515 pos = savedPos0;
13516 }
13517 } else {
13518 var result0 = null;
13519 pos = savedPos0;
13520 }
13521 } else {
13522 var result0 = null;
13523 pos = savedPos0;
13524 }
13525 } else {
13526 var result0 = null;
13527 pos = savedPos0;
13528 }
13529
13530
13531
13532 cache[cacheKey] = {
13533 nextPos: pos,
13534 result: result0
13535 };
13536 return result0;
13537 }
13538
13539 function parse_DefaultClause() {
13540 var cacheKey = 'DefaultClause@' + pos;
13541 var cachedResult = cache[cacheKey];
13542 if (cachedResult) {
13543 pos = cachedResult.nextPos;
13544 return cachedResult.result;
13545 }
13546
13547
13548 var savedPos0 = pos;
13549 var result1 = parse_DefaultToken();
13550 if (result1 !== null) {
13551 var result2 = parse___();
13552 if (result2 !== null) {
13553 if (input.substr(pos, 1) === ":") {
13554 var result3 = ":";
13555 pos += 1;
13556 } else {
13557 var result3 = null;
13558 if (reportMatchFailures) {
13559 matchFailed("\":\"");
13560 }
13561 }
13562 if (result3 !== null) {
13563 var savedPos1 = pos;
13564 var result6 = parse___();
13565 if (result6 !== null) {
13566 var result7 = parse_StatementList();
13567 if (result7 !== null) {
13568 var result5 = [result6, result7];
13569 } else {
13570 var result5 = null;
13571 pos = savedPos1;
13572 }
13573 } else {
13574 var result5 = null;
13575 pos = savedPos1;
13576 }
13577 var result4 = result5 !== null ? result5 : '';
13578 if (result4 !== null) {
13579 var result0 = [result1, result2, result3, result4];
13580 } else {
13581 var result0 = null;
13582 pos = savedPos0;
13583 }
13584 } else {
13585 var result0 = null;
13586 pos = savedPos0;
13587 }
13588 } else {
13589 var result0 = null;
13590 pos = savedPos0;
13591 }
13592 } else {
13593 var result0 = null;
13594 pos = savedPos0;
13595 }
13596
13597
13598
13599 cache[cacheKey] = {
13600 nextPos: pos,
13601 result: result0
13602 };
13603 return result0;
13604 }
13605
13606 function parse_LabelledStatement() {
13607 var cacheKey = 'LabelledStatement@' + pos;
13608 var cachedResult = cache[cacheKey];
13609 if (cachedResult) {
13610 pos = cachedResult.nextPos;
13611 return cachedResult.result;
13612 }
13613
13614
13615 var savedPos0 = pos;
13616 var result1 = parse_Identifier();
13617 if (result1 !== null) {
13618 var result2 = parse___();
13619 if (result2 !== null) {
13620 if (input.substr(pos, 1) === ":") {
13621 var result3 = ":";
13622 pos += 1;
13623 } else {
13624 var result3 = null;
13625 if (reportMatchFailures) {
13626 matchFailed("\":\"");
13627 }
13628 }
13629 if (result3 !== null) {
13630 var result4 = parse___();
13631 if (result4 !== null) {
13632 var result5 = parse_Statement();
13633 if (result5 !== null) {
13634 var result0 = [result1, result2, result3, result4, result5];
13635 } else {
13636 var result0 = null;
13637 pos = savedPos0;
13638 }
13639 } else {
13640 var result0 = null;
13641 pos = savedPos0;
13642 }
13643 } else {
13644 var result0 = null;
13645 pos = savedPos0;
13646 }
13647 } else {
13648 var result0 = null;
13649 pos = savedPos0;
13650 }
13651 } else {
13652 var result0 = null;
13653 pos = savedPos0;
13654 }
13655
13656
13657
13658 cache[cacheKey] = {
13659 nextPos: pos,
13660 result: result0
13661 };
13662 return result0;
13663 }
13664
13665 function parse_ThrowStatement() {
13666 var cacheKey = 'ThrowStatement@' + pos;
13667 var cachedResult = cache[cacheKey];
13668 if (cachedResult) {
13669 pos = cachedResult.nextPos;
13670 return cachedResult.result;
13671 }
13672
13673
13674 var savedPos0 = pos;
13675 var result1 = parse_ThrowToken();
13676 if (result1 !== null) {
13677 var result2 = parse__();
13678 if (result2 !== null) {
13679 var result3 = parse_Expression();
13680 if (result3 !== null) {
13681 var result4 = parse_EOSNoLineTerminator();
13682 if (result4 !== null) {
13683 var result0 = [result1, result2, result3, result4];
13684 } else {
13685 var result0 = null;
13686 pos = savedPos0;
13687 }
13688 } else {
13689 var result0 = null;
13690 pos = savedPos0;
13691 }
13692 } else {
13693 var result0 = null;
13694 pos = savedPos0;
13695 }
13696 } else {
13697 var result0 = null;
13698 pos = savedPos0;
13699 }
13700
13701
13702
13703 cache[cacheKey] = {
13704 nextPos: pos,
13705 result: result0
13706 };
13707 return result0;
13708 }
13709
13710 function parse_TryStatement() {
13711 var cacheKey = 'TryStatement@' + pos;
13712 var cachedResult = cache[cacheKey];
13713 if (cachedResult) {
13714 pos = cachedResult.nextPos;
13715 return cachedResult.result;
13716 }
13717
13718
13719 var savedPos2 = pos;
13720 var result14 = parse_TryToken();
13721 if (result14 !== null) {
13722 var result15 = parse___();
13723 if (result15 !== null) {
13724 var result16 = parse_Block();
13725 if (result16 !== null) {
13726 var result17 = parse___();
13727 if (result17 !== null) {
13728 var result18 = parse_Catch();
13729 if (result18 !== null) {
13730 var result19 = parse___();
13731 if (result19 !== null) {
13732 var result20 = parse_Finally();
13733 if (result20 !== null) {
13734 var result13 = [result14, result15, result16, result17, result18, result19, result20];
13735 } else {
13736 var result13 = null;
13737 pos = savedPos2;
13738 }
13739 } else {
13740 var result13 = null;
13741 pos = savedPos2;
13742 }
13743 } else {
13744 var result13 = null;
13745 pos = savedPos2;
13746 }
13747 } else {
13748 var result13 = null;
13749 pos = savedPos2;
13750 }
13751 } else {
13752 var result13 = null;
13753 pos = savedPos2;
13754 }
13755 } else {
13756 var result13 = null;
13757 pos = savedPos2;
13758 }
13759 } else {
13760 var result13 = null;
13761 pos = savedPos2;
13762 }
13763 if (result13 !== null) {
13764 var result0 = result13;
13765 } else {
13766 var savedPos1 = pos;
13767 var result8 = parse_TryToken();
13768 if (result8 !== null) {
13769 var result9 = parse___();
13770 if (result9 !== null) {
13771 var result10 = parse_Block();
13772 if (result10 !== null) {
13773 var result11 = parse___();
13774 if (result11 !== null) {
13775 var result12 = parse_Catch();
13776 if (result12 !== null) {
13777 var result7 = [result8, result9, result10, result11, result12];
13778 } else {
13779 var result7 = null;
13780 pos = savedPos1;
13781 }
13782 } else {
13783 var result7 = null;
13784 pos = savedPos1;
13785 }
13786 } else {
13787 var result7 = null;
13788 pos = savedPos1;
13789 }
13790 } else {
13791 var result7 = null;
13792 pos = savedPos1;
13793 }
13794 } else {
13795 var result7 = null;
13796 pos = savedPos1;
13797 }
13798 if (result7 !== null) {
13799 var result0 = result7;
13800 } else {
13801 var savedPos0 = pos;
13802 var result2 = parse_TryToken();
13803 if (result2 !== null) {
13804 var result3 = parse___();
13805 if (result3 !== null) {
13806 var result4 = parse_Block();
13807 if (result4 !== null) {
13808 var result5 = parse___();
13809 if (result5 !== null) {
13810 var result6 = parse_Finally();
13811 if (result6 !== null) {
13812 var result1 = [result2, result3, result4, result5, result6];
13813 } else {
13814 var result1 = null;
13815 pos = savedPos0;
13816 }
13817 } else {
13818 var result1 = null;
13819 pos = savedPos0;
13820 }
13821 } else {
13822 var result1 = null;
13823 pos = savedPos0;
13824 }
13825 } else {
13826 var result1 = null;
13827 pos = savedPos0;
13828 }
13829 } else {
13830 var result1 = null;
13831 pos = savedPos0;
13832 }
13833 if (result1 !== null) {
13834 var result0 = result1;
13835 } else {
13836 var result0 = null;;
13837 };
13838 };
13839 }
13840
13841
13842
13843 cache[cacheKey] = {
13844 nextPos: pos,
13845 result: result0
13846 };
13847 return result0;
13848 }
13849
13850 function parse_Catch() {
13851 var cacheKey = 'Catch@' + pos;
13852 var cachedResult = cache[cacheKey];
13853 if (cachedResult) {
13854 pos = cachedResult.nextPos;
13855 return cachedResult.result;
13856 }
13857
13858
13859 var savedPos0 = pos;
13860 var result1 = parse_CatchToken();
13861 if (result1 !== null) {
13862 var result2 = parse___();
13863 if (result2 !== null) {
13864 if (input.substr(pos, 1) === "(") {
13865 var result3 = "(";
13866 pos += 1;
13867 } else {
13868 var result3 = null;
13869 if (reportMatchFailures) {
13870 matchFailed("\"(\"");
13871 }
13872 }
13873 if (result3 !== null) {
13874 var result4 = parse___();
13875 if (result4 !== null) {
13876 var result5 = parse_Identifier();
13877 if (result5 !== null) {
13878 var result6 = parse___();
13879 if (result6 !== null) {
13880 if (input.substr(pos, 1) === ")") {
13881 var result7 = ")";
13882 pos += 1;
13883 } else {
13884 var result7 = null;
13885 if (reportMatchFailures) {
13886 matchFailed("\")\"");
13887 }
13888 }
13889 if (result7 !== null) {
13890 var result8 = parse___();
13891 if (result8 !== null) {
13892 var result9 = parse_Block();
13893 if (result9 !== null) {
13894 var result0 = [result1, result2, result3, result4, result5, result6, result7, result8, result9];
13895 } else {
13896 var result0 = null;
13897 pos = savedPos0;
13898 }
13899 } else {
13900 var result0 = null;
13901 pos = savedPos0;
13902 }
13903 } else {
13904 var result0 = null;
13905 pos = savedPos0;
13906 }
13907 } else {
13908 var result0 = null;
13909 pos = savedPos0;
13910 }
13911 } else {
13912 var result0 = null;
13913 pos = savedPos0;
13914 }
13915 } else {
13916 var result0 = null;
13917 pos = savedPos0;
13918 }
13919 } else {
13920 var result0 = null;
13921 pos = savedPos0;
13922 }
13923 } else {
13924 var result0 = null;
13925 pos = savedPos0;
13926 }
13927 } else {
13928 var result0 = null;
13929 pos = savedPos0;
13930 }
13931
13932
13933
13934 cache[cacheKey] = {
13935 nextPos: pos,
13936 result: result0
13937 };
13938 return result0;
13939 }
13940
13941 function parse_Finally() {
13942 var cacheKey = 'Finally@' + pos;
13943 var cachedResult = cache[cacheKey];
13944 if (cachedResult) {
13945 pos = cachedResult.nextPos;
13946 return cachedResult.result;
13947 }
13948
13949
13950 var savedPos0 = pos;
13951 var result1 = parse_FinallyToken();
13952 if (result1 !== null) {
13953 var result2 = parse___();
13954 if (result2 !== null) {
13955 var result3 = parse_Block();
13956 if (result3 !== null) {
13957 var result0 = [result1, result2, result3];
13958 } else {
13959 var result0 = null;
13960 pos = savedPos0;
13961 }
13962 } else {
13963 var result0 = null;
13964 pos = savedPos0;
13965 }
13966 } else {
13967 var result0 = null;
13968 pos = savedPos0;
13969 }
13970
13971
13972
13973 cache[cacheKey] = {
13974 nextPos: pos,
13975 result: result0
13976 };
13977 return result0;
13978 }
13979
13980 function parse_DebuggerStatement() {
13981 var cacheKey = 'DebuggerStatement@' + pos;
13982 var cachedResult = cache[cacheKey];
13983 if (cachedResult) {
13984 pos = cachedResult.nextPos;
13985 return cachedResult.result;
13986 }
13987
13988
13989 var savedPos0 = pos;
13990 var result1 = parse_DebuggerToken();
13991 if (result1 !== null) {
13992 var result2 = parse_EOS();
13993 if (result2 !== null) {
13994 var result0 = [result1, result2];
13995 } else {
13996 var result0 = null;
13997 pos = savedPos0;
13998 }
13999 } else {
14000 var result0 = null;
14001 pos = savedPos0;
14002 }
14003
14004
14005
14006 cache[cacheKey] = {
14007 nextPos: pos,
14008 result: result0
14009 };
14010 return result0;
14011 }
14012
14013 function parse_FunctionDeclaration() {
14014 var cacheKey = 'FunctionDeclaration@' + pos;
14015 var cachedResult = cache[cacheKey];
14016 if (cachedResult) {
14017 pos = cachedResult.nextPos;
14018 return cachedResult.result;
14019 }
14020
14021
14022 var savedPos0 = pos;
14023 var result1 = parse_FunctionToken();
14024 if (result1 !== null) {
14025 var result2 = parse___();
14026 if (result2 !== null) {
14027 var result3 = parse_Identifier();
14028 if (result3 !== null) {
14029 var result4 = parse___();
14030 if (result4 !== null) {
14031 if (input.substr(pos, 1) === "(") {
14032 var result5 = "(";
14033 pos += 1;
14034 } else {
14035 var result5 = null;
14036 if (reportMatchFailures) {
14037 matchFailed("\"(\"");
14038 }
14039 }
14040 if (result5 !== null) {
14041 var result6 = parse___();
14042 if (result6 !== null) {
14043 var result16 = parse_FormalParameterList();
14044 var result7 = result16 !== null ? result16 : '';
14045 if (result7 !== null) {
14046 var result8 = parse___();
14047 if (result8 !== null) {
14048 if (input.substr(pos, 1) === ")") {
14049 var result9 = ")";
14050 pos += 1;
14051 } else {
14052 var result9 = null;
14053 if (reportMatchFailures) {
14054 matchFailed("\")\"");
14055 }
14056 }
14057 if (result9 !== null) {
14058 var result10 = parse___();
14059 if (result10 !== null) {
14060 if (input.substr(pos, 1) === "{") {
14061 var result11 = "{";
14062 pos += 1;
14063 } else {
14064 var result11 = null;
14065 if (reportMatchFailures) {
14066 matchFailed("\"{\"");
14067 }
14068 }
14069 if (result11 !== null) {
14070 var result12 = parse___();
14071 if (result12 !== null) {
14072 var result13 = parse_FunctionBody();
14073 if (result13 !== null) {
14074 var result14 = parse___();
14075 if (result14 !== null) {
14076 if (input.substr(pos, 1) === "}") {
14077 var result15 = "}";
14078 pos += 1;
14079 } else {
14080 var result15 = null;
14081 if (reportMatchFailures) {
14082 matchFailed("\"}\"");
14083 }
14084 }
14085 if (result15 !== null) {
14086 var result0 = [result1, result2, result3, result4, result5, result6, result7, result8, result9, result10, result11, result12, result13, result14, result15];
14087 } else {
14088 var result0 = null;
14089 pos = savedPos0;
14090 }
14091 } else {
14092 var result0 = null;
14093 pos = savedPos0;
14094 }
14095 } else {
14096 var result0 = null;
14097 pos = savedPos0;
14098 }
14099 } else {
14100 var result0 = null;
14101 pos = savedPos0;
14102 }
14103 } else {
14104 var result0 = null;
14105 pos = savedPos0;
14106 }
14107 } else {
14108 var result0 = null;
14109 pos = savedPos0;
14110 }
14111 } else {
14112 var result0 = null;
14113 pos = savedPos0;
14114 }
14115 } else {
14116 var result0 = null;
14117 pos = savedPos0;
14118 }
14119 } else {
14120 var result0 = null;
14121 pos = savedPos0;
14122 }
14123 } else {
14124 var result0 = null;
14125 pos = savedPos0;
14126 }
14127 } else {
14128 var result0 = null;
14129 pos = savedPos0;
14130 }
14131 } else {
14132 var result0 = null;
14133 pos = savedPos0;
14134 }
14135 } else {
14136 var result0 = null;
14137 pos = savedPos0;
14138 }
14139 } else {
14140 var result0 = null;
14141 pos = savedPos0;
14142 }
14143 } else {
14144 var result0 = null;
14145 pos = savedPos0;
14146 }
14147
14148
14149
14150 cache[cacheKey] = {
14151 nextPos: pos,
14152 result: result0
14153 };
14154 return result0;
14155 }
14156
14157 function parse_FunctionExpression() {
14158 var cacheKey = 'FunctionExpression@' + pos;
14159 var cachedResult = cache[cacheKey];
14160 if (cachedResult) {
14161 pos = cachedResult.nextPos;
14162 return cachedResult.result;
14163 }
14164
14165
14166 var savedPos0 = pos;
14167 var result1 = parse_FunctionToken();
14168 if (result1 !== null) {
14169 var result2 = parse___();
14170 if (result2 !== null) {
14171 var result17 = parse_Identifier();
14172 var result3 = result17 !== null ? result17 : '';
14173 if (result3 !== null) {
14174 var result4 = parse___();
14175 if (result4 !== null) {
14176 if (input.substr(pos, 1) === "(") {
14177 var result5 = "(";
14178 pos += 1;
14179 } else {
14180 var result5 = null;
14181 if (reportMatchFailures) {
14182 matchFailed("\"(\"");
14183 }
14184 }
14185 if (result5 !== null) {
14186 var result6 = parse___();
14187 if (result6 !== null) {
14188 var result16 = parse_FormalParameterList();
14189 var result7 = result16 !== null ? result16 : '';
14190 if (result7 !== null) {
14191 var result8 = parse___();
14192 if (result8 !== null) {
14193 if (input.substr(pos, 1) === ")") {
14194 var result9 = ")";
14195 pos += 1;
14196 } else {
14197 var result9 = null;
14198 if (reportMatchFailures) {
14199 matchFailed("\")\"");
14200 }
14201 }
14202 if (result9 !== null) {
14203 var result10 = parse___();
14204 if (result10 !== null) {
14205 if (input.substr(pos, 1) === "{") {
14206 var result11 = "{";
14207 pos += 1;
14208 } else {
14209 var result11 = null;
14210 if (reportMatchFailures) {
14211 matchFailed("\"{\"");
14212 }
14213 }
14214 if (result11 !== null) {
14215 var result12 = parse___();
14216 if (result12 !== null) {
14217 var result13 = parse_FunctionBody();
14218 if (result13 !== null) {
14219 var result14 = parse___();
14220 if (result14 !== null) {
14221 if (input.substr(pos, 1) === "}") {
14222 var result15 = "}";
14223 pos += 1;
14224 } else {
14225 var result15 = null;
14226 if (reportMatchFailures) {
14227 matchFailed("\"}\"");
14228 }
14229 }
14230 if (result15 !== null) {
14231 var result0 = [result1, result2, result3, result4, result5, result6, result7, result8, result9, result10, result11, result12, result13, result14, result15];
14232 } else {
14233 var result0 = null;
14234 pos = savedPos0;
14235 }
14236 } else {
14237 var result0 = null;
14238 pos = savedPos0;
14239 }
14240 } else {
14241 var result0 = null;
14242 pos = savedPos0;
14243 }
14244 } else {
14245 var result0 = null;
14246 pos = savedPos0;
14247 }
14248 } else {
14249 var result0 = null;
14250 pos = savedPos0;
14251 }
14252 } else {
14253 var result0 = null;
14254 pos = savedPos0;
14255 }
14256 } else {
14257 var result0 = null;
14258 pos = savedPos0;
14259 }
14260 } else {
14261 var result0 = null;
14262 pos = savedPos0;
14263 }
14264 } else {
14265 var result0 = null;
14266 pos = savedPos0;
14267 }
14268 } else {
14269 var result0 = null;
14270 pos = savedPos0;
14271 }
14272 } else {
14273 var result0 = null;
14274 pos = savedPos0;
14275 }
14276 } else {
14277 var result0 = null;
14278 pos = savedPos0;
14279 }
14280 } else {
14281 var result0 = null;
14282 pos = savedPos0;
14283 }
14284 } else {
14285 var result0 = null;
14286 pos = savedPos0;
14287 }
14288 } else {
14289 var result0 = null;
14290 pos = savedPos0;
14291 }
14292
14293
14294
14295 cache[cacheKey] = {
14296 nextPos: pos,
14297 result: result0
14298 };
14299 return result0;
14300 }
14301
14302 function parse_FormalParameterList() {
14303 var cacheKey = 'FormalParameterList@' + pos;
14304 var cachedResult = cache[cacheKey];
14305 if (cachedResult) {
14306 pos = cachedResult.nextPos;
14307 return cachedResult.result;
14308 }
14309
14310
14311 var savedPos0 = pos;
14312 var result1 = parse_Identifier();
14313 if (result1 !== null) {
14314 var result2 = [];
14315 var savedPos1 = pos;
14316 var result4 = parse___();
14317 if (result4 !== null) {
14318 if (input.substr(pos, 1) === ",") {
14319 var result5 = ",";
14320 pos += 1;
14321 } else {
14322 var result5 = null;
14323 if (reportMatchFailures) {
14324 matchFailed("\",\"");
14325 }
14326 }
14327 if (result5 !== null) {
14328 var result6 = parse___();
14329 if (result6 !== null) {
14330 var result7 = parse_Identifier();
14331 if (result7 !== null) {
14332 var result3 = [result4, result5, result6, result7];
14333 } else {
14334 var result3 = null;
14335 pos = savedPos1;
14336 }
14337 } else {
14338 var result3 = null;
14339 pos = savedPos1;
14340 }
14341 } else {
14342 var result3 = null;
14343 pos = savedPos1;
14344 }
14345 } else {
14346 var result3 = null;
14347 pos = savedPos1;
14348 }
14349 while (result3 !== null) {
14350 result2.push(result3);
14351 var savedPos1 = pos;
14352 var result4 = parse___();
14353 if (result4 !== null) {
14354 if (input.substr(pos, 1) === ",") {
14355 var result5 = ",";
14356 pos += 1;
14357 } else {
14358 var result5 = null;
14359 if (reportMatchFailures) {
14360 matchFailed("\",\"");
14361 }
14362 }
14363 if (result5 !== null) {
14364 var result6 = parse___();
14365 if (result6 !== null) {
14366 var result7 = parse_Identifier();
14367 if (result7 !== null) {
14368 var result3 = [result4, result5, result6, result7];
14369 } else {
14370 var result3 = null;
14371 pos = savedPos1;
14372 }
14373 } else {
14374 var result3 = null;
14375 pos = savedPos1;
14376 }
14377 } else {
14378 var result3 = null;
14379 pos = savedPos1;
14380 }
14381 } else {
14382 var result3 = null;
14383 pos = savedPos1;
14384 }
14385 }
14386 if (result2 !== null) {
14387 var result0 = [result1, result2];
14388 } else {
14389 var result0 = null;
14390 pos = savedPos0;
14391 }
14392 } else {
14393 var result0 = null;
14394 pos = savedPos0;
14395 }
14396
14397
14398
14399 cache[cacheKey] = {
14400 nextPos: pos,
14401 result: result0
14402 };
14403 return result0;
14404 }
14405
14406 function parse_FunctionBody() {
14407 var cacheKey = 'FunctionBody@' + pos;
14408 var cachedResult = cache[cacheKey];
14409 if (cachedResult) {
14410 pos = cachedResult.nextPos;
14411 return cachedResult.result;
14412 }
14413
14414
14415 var result1 = parse_SourceElements();
14416 var result0 = result1 !== null ? result1 : '';
14417
14418
14419
14420 cache[cacheKey] = {
14421 nextPos: pos,
14422 result: result0
14423 };
14424 return result0;
14425 }
14426
14427 function parse_Program() {
14428 var cacheKey = 'Program@' + pos;
14429 var cachedResult = cache[cacheKey];
14430 if (cachedResult) {
14431 pos = cachedResult.nextPos;
14432 return cachedResult.result;
14433 }
14434
14435
14436 var result1 = parse_SourceElements();
14437 var result0 = result1 !== null ? result1 : '';
14438
14439
14440
14441 cache[cacheKey] = {
14442 nextPos: pos,
14443 result: result0
14444 };
14445 return result0;
14446 }
14447
14448 function parse_SourceElements() {
14449 var cacheKey = 'SourceElements@' + pos;
14450 var cachedResult = cache[cacheKey];
14451 if (cachedResult) {
14452 pos = cachedResult.nextPos;
14453 return cachedResult.result;
14454 }
14455
14456
14457 var savedPos0 = pos;
14458 var result1 = parse_Statement();
14459 if (result1 !== null) {
14460 var result2 = [];
14461 var savedPos1 = pos;
14462 var result4 = parse___();
14463 if (result4 !== null) {
14464 var result5 = parse_Statement();
14465 if (result5 !== null) {
14466 var result3 = [result4, result5];
14467 } else {
14468 var result3 = null;
14469 pos = savedPos1;
14470 }
14471 } else {
14472 var result3 = null;
14473 pos = savedPos1;
14474 }
14475 while (result3 !== null) {
14476 result2.push(result3);
14477 var savedPos1 = pos;
14478 var result4 = parse___();
14479 if (result4 !== null) {
14480 var result5 = parse_Statement();
14481 if (result5 !== null) {
14482 var result3 = [result4, result5];
14483 } else {
14484 var result3 = null;
14485 pos = savedPos1;
14486 }
14487 } else {
14488 var result3 = null;
14489 pos = savedPos1;
14490 }
14491 }
14492 if (result2 !== null) {
14493 var result0 = [result1, result2];
14494 } else {
14495 var result0 = null;
14496 pos = savedPos0;
14497 }
14498 } else {
14499 var result0 = null;
14500 pos = savedPos0;
14501 }
14502
14503
14504
14505 cache[cacheKey] = {
14506 nextPos: pos,
14507 result: result0
14508 };
14509 return result0;
14510 }
14511
14512 function buildErrorMessage() {
14513 function buildExpected(failuresExpected) {
14514 failuresExpected.sort();
14515
14516 var lastFailure = null;
14517 var failuresExpectedUnique = [];
14518 for (var i = 0; i < failuresExpected.length; i++) {
14519 if (failuresExpected[i] !== lastFailure) {
14520 failuresExpectedUnique.push(failuresExpected[i]);
14521 lastFailure = failuresExpected[i];
14522 }
14523 }
14524
14525 switch (failuresExpectedUnique.length) {
14526 case 0:
14527 return 'end of input';
14528 case 1:
14529 return failuresExpectedUnique[0];
14530 default:
14531 return failuresExpectedUnique.slice(0, failuresExpectedUnique.length - 1).join(', ')
14532 + ' or '
14533 + failuresExpectedUnique[failuresExpectedUnique.length - 1];
14534 }
14535 }
14536
14537 var expected = buildExpected(rightmostMatchFailuresExpected);
14538 var actualPos = Math.max(pos, rightmostMatchFailuresPos);
14539 var actual = actualPos < input.length
14540 ? quote(input.charAt(actualPos))
14541 : 'end of input';
14542
14543 return 'Expected ' + expected + ' but ' + actual + ' found.';
14544 }
14545
14546 function computeErrorPosition() {
14547 /*
14548 * The first idea was to use |String.split| to break the input up to the
14549 * error position along newlines and derive the line and column from
14550 * there. However IE's |split| implementation is so broken that it was
14551 * enough to prevent it.
14552 */
14553
14554 var line = 1;
14555 var column = 1;
14556 var seenCR = false;
14557
14558 for (var i = 0; i < rightmostMatchFailuresPos; i++) {
14559 var ch = input.charAt(i);
14560 if (ch === '\n') {
14561 if (!seenCR) { line++; }
14562 column = 1;
14563 seenCR = false;
14564 } else if (ch === '\r' | ch === '\u2028' || ch === '\u2029') {
14565 line++;
14566 column = 1;
14567 seenCR = true;
14568 } else {
14569 column++;
14570 seenCR = false;
14571 }
14572 }
14573
14574 return { line: line, column: column };
14575 }
14576
14577
14578
14579 // Any variables or functions defined in here are visible to all semantic
14580
14581 // actions below.
14582
14583
14584
14585 var result = parseFunctions[startRule]();
14586
14587 /*
14588 * The parser is now in one of the following three states:
14589 *
14590 * 1. The parser successfully parsed the whole input.
14591 *
14592 * - |result !== null|
14593 * - |pos === input.length|
14594 * - |rightmostMatchFailuresExpected| may or may not contain something
14595 *
14596 * 2. The parser successfully parsed only a part of the input.
14597 *
14598 * - |result !== null|
14599 * - |pos < input.length|
14600 * - |rightmostMatchFailuresExpected| may or may not contain something
14601 *
14602 * 3. The parser did not successfully parse any part of the input.
14603 *
14604 * - |result === null|
14605 * - |pos === 0|
14606 * - |rightmostMatchFailuresExpected| contains at least one failure
14607 *
14608 * All code following this comment (including called functions) must
14609 * handle these states.
14610 */
14611 if (result === null || pos !== input.length) {
14612 var errorPosition = computeErrorPosition();
14613 throw new this.SyntaxError(
14614 buildErrorMessage(),
14615 errorPosition.line,
14616 errorPosition.column
14617 );
14618 }
14619
14620 return result;
14621 },
14622
14623 /* Returns the parser source code. */
14624 toSource: function() { return this._source; }
14625 };
14626
14627 /* Thrown when a parser encounters a syntax error. */
14628
14629 result.SyntaxError = function(message, line, column) {
14630 this.name = 'SyntaxError';
14631 this.message = message;
14632 this.line = line;
14633 this.column = column;
14634 };
14635
14636 result.SyntaxError.prototype = Error.prototype;
14637
14638 return result;
14639})();