graphql 1.7.14 → 1.8.0.pre1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/lib/generators/graphql/function_generator.rb +1 -1
- data/lib/generators/graphql/loader_generator.rb +1 -1
- data/lib/generators/graphql/mutation_generator.rb +1 -6
- data/lib/generators/graphql/templates/function.erb +2 -2
- data/lib/generators/graphql/templates/loader.erb +2 -2
- data/lib/graphql.rb +2 -0
- data/lib/graphql/argument.rb +0 -1
- data/lib/graphql/backwards_compatibility.rb +2 -3
- data/lib/graphql/base_type.rb +18 -16
- data/lib/graphql/compatibility/query_parser_specification.rb +0 -117
- data/lib/graphql/compatibility/query_parser_specification/parse_error_specification.rb +0 -14
- data/lib/graphql/define/assign_object_field.rb +5 -12
- data/lib/graphql/deprecated_dsl.rb +28 -0
- data/lib/graphql/directive.rb +0 -1
- data/lib/graphql/enum_type.rb +1 -3
- data/lib/graphql/execution.rb +0 -1
- data/lib/graphql/execution/multiplex.rb +29 -12
- data/lib/graphql/field.rb +5 -20
- data/lib/graphql/function.rb +12 -0
- data/lib/graphql/input_object_type.rb +1 -3
- data/lib/graphql/internal_representation/node.rb +14 -26
- data/lib/graphql/internal_representation/visit.rb +6 -3
- data/lib/graphql/introspection/arguments_field.rb +0 -1
- data/lib/graphql/introspection/enum_values_field.rb +0 -1
- data/lib/graphql/introspection/fields_field.rb +0 -1
- data/lib/graphql/introspection/input_fields_field.rb +0 -1
- data/lib/graphql/introspection/interfaces_field.rb +0 -1
- data/lib/graphql/introspection/of_type_field.rb +0 -1
- data/lib/graphql/introspection/possible_types_field.rb +0 -1
- data/lib/graphql/introspection/schema_field.rb +0 -1
- data/lib/graphql/introspection/type_by_name_field.rb +0 -1
- data/lib/graphql/introspection/typename_field.rb +0 -1
- data/lib/graphql/language.rb +0 -3
- data/lib/graphql/language/generation.rb +182 -3
- data/lib/graphql/language/lexer.rb +69 -144
- data/lib/graphql/language/lexer.rl +4 -15
- data/lib/graphql/language/nodes.rb +76 -136
- data/lib/graphql/language/parser.rb +621 -668
- data/lib/graphql/language/parser.y +11 -17
- data/lib/graphql/language/token.rb +3 -10
- data/lib/graphql/object_type.rb +6 -1
- data/lib/graphql/query.rb +13 -8
- data/lib/graphql/query/arguments.rb +33 -48
- data/lib/graphql/query/context.rb +1 -0
- data/lib/graphql/query/literal_input.rb +1 -4
- data/lib/graphql/relay/connection_resolve.rb +3 -0
- data/lib/graphql/relay/global_id_resolve.rb +5 -1
- data/lib/graphql/relay/relation_connection.rb +19 -14
- data/lib/graphql/schema.rb +219 -12
- data/lib/graphql/schema/argument.rb +33 -0
- data/lib/graphql/schema/build_from_definition.rb +18 -64
- data/lib/graphql/schema/enum.rb +76 -0
- data/lib/graphql/schema/field.rb +127 -0
- data/lib/graphql/schema/field/dynamic_resolve.rb +63 -0
- data/lib/graphql/schema/field/unwrapped_resolve.rb +20 -0
- data/lib/graphql/schema/input_object.rb +61 -0
- data/lib/graphql/schema/interface.rb +32 -0
- data/lib/graphql/schema/loader.rb +2 -2
- data/lib/graphql/schema/member.rb +97 -0
- data/lib/graphql/schema/member/build_type.rb +106 -0
- data/lib/graphql/schema/member/has_fields.rb +56 -0
- data/lib/graphql/schema/member/instrumentation.rb +113 -0
- data/lib/graphql/schema/member/list_type_proxy.rb +21 -0
- data/lib/graphql/schema/member/non_null_type_proxy.rb +21 -0
- data/lib/graphql/schema/object.rb +65 -0
- data/lib/graphql/schema/printer.rb +266 -33
- data/lib/graphql/schema/scalar.rb +25 -0
- data/lib/graphql/schema/traversal.rb +26 -17
- data/lib/graphql/schema/union.rb +48 -0
- data/lib/graphql/static_validation/rules/fields_have_appropriate_selections.rb +1 -5
- data/lib/graphql/static_validation/rules/fields_will_merge.rb +8 -15
- data/lib/graphql/static_validation/rules/variables_are_used_and_defined.rb +1 -11
- data/lib/graphql/subscriptions/action_cable_subscriptions.rb +5 -7
- data/lib/graphql/tracing.rb +0 -1
- data/lib/graphql/tracing/platform_tracing.rb +7 -20
- data/lib/graphql/tracing/scout_tracing.rb +2 -2
- data/lib/graphql/unresolved_type_error.rb +2 -3
- data/lib/graphql/version.rb +1 -1
- data/readme.md +1 -1
- data/spec/dummy/app/channels/graphql_channel.rb +1 -22
- data/spec/dummy/log/development.log +0 -239
- data/spec/dummy/log/test.log +0 -204
- data/spec/dummy/test/system/action_cable_subscription_test.rb +0 -4
- data/spec/dummy/tmp/screenshots/failures_test_it_handles_subscriptions.png +0 -0
- data/spec/generators/graphql/function_generator_spec.rb +0 -26
- data/spec/generators/graphql/loader_generator_spec.rb +0 -24
- data/spec/graphql/analysis/max_query_complexity_spec.rb +3 -3
- data/spec/graphql/analysis/max_query_depth_spec.rb +3 -3
- data/spec/graphql/backtrace_spec.rb +0 -10
- data/spec/graphql/base_type_spec.rb +5 -19
- data/spec/graphql/boolean_type_spec.rb +3 -3
- data/spec/graphql/directive_spec.rb +1 -3
- data/spec/graphql/enum_type_spec.rb +5 -18
- data/spec/graphql/execution/execute_spec.rb +1 -1
- data/spec/graphql/execution/multiplex_spec.rb +2 -2
- data/spec/graphql/float_type_spec.rb +2 -2
- data/spec/graphql/id_type_spec.rb +1 -1
- data/spec/graphql/input_object_type_spec.rb +2 -15
- data/spec/graphql/int_type_spec.rb +2 -2
- data/spec/graphql/internal_representation/rewrite_spec.rb +2 -2
- data/spec/graphql/introspection/schema_type_spec.rb +0 -1
- data/spec/graphql/language/generation_spec.rb +186 -21
- data/spec/graphql/language/lexer_spec.rb +1 -21
- data/spec/graphql/language/nodes_spec.rb +12 -21
- data/spec/graphql/language/parser_spec.rb +1 -1
- data/spec/graphql/query/arguments_spec.rb +15 -37
- data/spec/graphql/query/serial_execution/value_resolution_spec.rb +2 -2
- data/spec/graphql/query/variables_spec.rb +1 -1
- data/spec/graphql/query_spec.rb +5 -31
- data/spec/graphql/rake_task_spec.rb +1 -3
- data/spec/graphql/relay/base_connection_spec.rb +1 -1
- data/spec/graphql/relay/connection_instrumentation_spec.rb +2 -2
- data/spec/graphql/relay/connection_resolve_spec.rb +1 -1
- data/spec/graphql/relay/connection_type_spec.rb +1 -1
- data/spec/graphql/relay/mutation_spec.rb +3 -3
- data/spec/graphql/relay/relation_connection_spec.rb +1 -65
- data/spec/graphql/schema/build_from_definition_spec.rb +4 -86
- data/spec/graphql/schema/enum_spec.rb +60 -0
- data/spec/graphql/schema/field_spec.rb +14 -0
- data/spec/graphql/schema/input_object_spec.rb +43 -0
- data/spec/graphql/schema/interface_spec.rb +98 -0
- data/spec/graphql/schema/object_spec.rb +119 -0
- data/spec/graphql/schema/printer_spec.rb +15 -92
- data/spec/graphql/schema/scalar_spec.rb +40 -0
- data/spec/graphql/schema/union_spec.rb +35 -0
- data/spec/graphql/schema/validation_spec.rb +1 -1
- data/spec/graphql/schema/warden_spec.rb +11 -11
- data/spec/graphql/schema_spec.rb +25 -23
- data/spec/graphql/static_validation/rules/fields_have_appropriate_selections_spec.rb +2 -10
- data/spec/graphql/static_validation/rules/fields_will_merge_spec.rb +2 -2
- data/spec/graphql/string_type_spec.rb +3 -3
- data/spec/graphql/subscriptions_spec.rb +1 -1
- data/spec/graphql/tracing/platform_tracing_spec.rb +1 -60
- data/spec/support/dummy/schema.rb +25 -39
- data/spec/support/jazz.rb +334 -0
- data/spec/support/lazy_helpers.rb +21 -23
- data/spec/support/star_wars/data.rb +7 -6
- data/spec/support/star_wars/schema.rb +109 -142
- metadata +39 -33
- data/lib/graphql/execution/instrumentation.rb +0 -82
- data/lib/graphql/language/block_string.rb +0 -47
- data/lib/graphql/language/document_from_schema_definition.rb +0 -277
- data/lib/graphql/language/printer.rb +0 -351
- data/lib/graphql/tracing/data_dog_tracing.rb +0 -49
- data/spec/graphql/execution/instrumentation_spec.rb +0 -165
- data/spec/graphql/language/block_string_spec.rb +0 -70
- data/spec/graphql/language/document_from_schema_definition_spec.rb +0 -770
- data/spec/graphql/language/printer_spec.rb +0 -203
| @@ -20,7 +20,7 @@ class << self | |
| 20 20 | 
             
            	private :_graphql_lexer_trans_keys, :_graphql_lexer_trans_keys=
         | 
| 21 21 | 
             
            end
         | 
| 22 22 | 
             
            self._graphql_lexer_trans_keys = [
         | 
| 23 | 
            -
            4,  | 
| 23 | 
            +
            4, 20, 4, 20, 12, 13, 12, 13, 9, 13, 11, 11, 0, 45, 0, 0, 4, 20, 1, 1, 12, 13, 9, 26, 12, 13, 9, 26, 9, 26, 11, 11, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 12, 42, 0 , 
         | 
| 24 24 | 
             
            ]
         | 
| 25 25 |  | 
| 26 26 | 
             
            class << self
         | 
| @@ -28,7 +28,7 @@ class << self | |
| 28 28 | 
             
            	private :_graphql_lexer_char_class, :_graphql_lexer_char_class=
         | 
| 29 29 | 
             
            end
         | 
| 30 30 | 
             
            self._graphql_lexer_char_class = [
         | 
| 31 | 
            -
            0, 1, 2, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 3, 4, 5, 6, 2,  | 
| 31 | 
            +
            0, 1, 2, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 3, 4, 5, 6, 2, 2, 2, 7, 8, 2, 9, 0, 10, 11, 2, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 2, 2, 15, 2, 2, 16, 17, 17, 17, 17, 18, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 19, 20, 21, 2, 17, 2, 22, 23, 24, 25, 26, 27, 28, 29, 30, 17, 17, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 17, 17, 42, 17, 43, 44, 45, 0 , 
         | 
| 32 32 | 
             
            ]
         | 
| 33 33 |  | 
| 34 34 | 
             
            class << self
         | 
| @@ -36,7 +36,7 @@ class << self | |
| 36 36 | 
             
            	private :_graphql_lexer_index_offsets, :_graphql_lexer_index_offsets=
         | 
| 37 37 | 
             
            end
         | 
| 38 38 | 
             
            self._graphql_lexer_index_offsets = [
         | 
| 39 | 
            -
            0,  | 
| 39 | 
            +
            0, 17, 34, 36, 38, 43, 44, 90, 91, 108, 109, 111, 129, 131, 149, 167, 168, 199, 230, 261, 292, 323, 354, 385, 416, 447, 478, 509, 540, 571, 602, 633, 664, 695, 726, 757, 788, 819, 850, 881, 912, 943, 974, 1005, 1036, 1067, 1098, 1129, 1160, 1191, 1222, 1253, 1284, 1315, 1346, 1377, 1408, 1439, 1470, 1501, 1532, 1563, 1594, 1625, 1656, 1687, 1718, 1749, 1780, 1811, 1842, 1873, 1904, 1935, 1966, 1997, 2028, 2059, 2090, 2121, 2152, 2183, 2214, 2245, 2276, 2307, 2338, 2369, 2400, 2431, 2462, 2493, 2524, 2555, 2586, 2617, 2648, 2679, 0 , 
         | 
| 40 40 | 
             
            ]
         | 
| 41 41 |  | 
| 42 42 | 
             
            class << self
         | 
| @@ -44,7 +44,7 @@ class << self | |
| 44 44 | 
             
            	private :_graphql_lexer_indicies, :_graphql_lexer_indicies=
         | 
| 45 45 | 
             
            end
         | 
| 46 46 | 
             
            self._graphql_lexer_indicies = [
         | 
| 47 | 
            -
            2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 6, 7, 8, 9, 9, 11, 11, 12, 12, 0, 9, 9, 14, 16, 17, 15, 18, 19, 20, 21, 22, 23, 24, 15, 25, 26, 27, 28, 29, 30, 31, 32, 32, 33, 15, 34, 32, 32, 32, 35, 36, 37, 32, 32, 38, 32, 39, 40, 41, 32, 42, 32, 43, 44, 45, 32, 32, 46, 47, 48, 16, 51, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 5, 8, 54, 27, 28, 12, 12, 56, 9, 9, 55, 55, 55, 55, 57, 55, 55, 55, 55, 55, 55, 55, 57, 9, 9, 12, 12, 58, 11, 11, 58, 58, 58, 58, 57, 58, 58, 58, 58, 58, 58, 58, 57, 12, 12, 56, 28, 28, 55, 55, 55, 55, 57, 55, 55, 55, 55, 55, 55, 55, 57, 59, 32, 32, 0, 0, 0, 32, 32, 0, 0, 0, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 61, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 62, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 63, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 64, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 65, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 66, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 67, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 68, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 70, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 71, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 72, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 73, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 74, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 75, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 76, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 77, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 78, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 79, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 80, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 81, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 82, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 83, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 85, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 87, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 88, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 89, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 90, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 91, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 92, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 93, 32, 32, 32, 94, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 95, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 96, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 97, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 99, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 100, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 101, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 102, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 103, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 104, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 105, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 106, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 107, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 111, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 113, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 115, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 117, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 118, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 120, 32, 32, 32, 32, 32, 32, 121, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 122, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 123, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 124, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 125, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 126, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 127, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 128, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 129, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 130, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 131, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 132, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 133, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 134, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 135, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 136, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 137, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 138, 32, 32, 32, 32, 139, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 140, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 141, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 142, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 143, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 144, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 145, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 146, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 60, 60, 60, 32, 32, 60, 60, 60, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 147, 32, 32, 32, 32, 32, 32, 32, 32, 32, 0 , 
         | 
| 47 | 
            +
            2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 5, 5, 7, 7, 8, 8, 0, 5, 5, 10, 12, 13, 11, 14, 15, 16, 17, 18, 19, 11, 20, 21, 22, 23, 24, 25, 26, 27, 27, 28, 11, 29, 27, 27, 27, 30, 31, 32, 27, 27, 33, 27, 34, 35, 36, 27, 37, 27, 38, 39, 40, 27, 27, 41, 42, 43, 12, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 45, 22, 23, 8, 8, 48, 5, 5, 47, 47, 47, 47, 49, 47, 47, 47, 47, 47, 47, 47, 49, 5, 5, 8, 8, 50, 7, 7, 50, 50, 50, 50, 49, 50, 50, 50, 50, 50, 50, 50, 49, 8, 8, 48, 23, 23, 47, 47, 47, 47, 49, 47, 47, 47, 47, 47, 47, 47, 49, 51, 27, 27, 0, 0, 0, 27, 27, 0, 0, 0, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 53, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 54, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 55, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 56, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 57, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 58, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 59, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 60, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 61, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 62, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 63, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 64, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 65, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 66, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 67, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 68, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 69, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 70, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 71, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 72, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 73, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 74, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 75, 76, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 77, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 78, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 79, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 80, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 81, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 82, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 83, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 84, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 85, 27, 27, 27, 86, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 87, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 88, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 89, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 90, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 91, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 92, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 93, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 94, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 95, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 96, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 97, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 98, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 99, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 100, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 101, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 102, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 103, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 104, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 105, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 106, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 107, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 108, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 109, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 110, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 111, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 112, 27, 27, 27, 27, 27, 27, 113, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 114, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 115, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 116, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 117, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 118, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 119, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 120, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 121, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 122, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 123, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 124, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 125, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 126, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 127, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 128, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 129, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 130, 27, 27, 27, 27, 131, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 132, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 133, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 134, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 135, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 136, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 137, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 138, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 52, 52, 52, 27, 27, 52, 52, 52, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 139, 27, 27, 27, 27, 27, 27, 27, 27, 27, 0 , 
         | 
| 48 48 | 
             
            ]
         | 
| 49 49 |  | 
| 50 50 | 
             
            class << self
         | 
| @@ -52,7 +52,7 @@ class << self | |
| 52 52 | 
             
            	private :_graphql_lexer_index_defaults, :_graphql_lexer_index_defaults=
         | 
| 53 53 | 
             
            end
         | 
| 54 54 | 
             
            self._graphql_lexer_index_defaults = [
         | 
| 55 | 
            -
            1, 1,  | 
| 55 | 
            +
            1, 1, 0, 6, 0, 9, 11, 44, 1, 16, 46, 47, 50, 50, 47, 46, 0, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 0 , 
         | 
| 56 56 | 
             
            ]
         | 
| 57 57 |  | 
| 58 58 | 
             
            class << self
         | 
| @@ -60,7 +60,7 @@ class << self | |
| 60 60 | 
             
            	private :_graphql_lexer_trans_cond_spaces, :_graphql_lexer_trans_cond_spaces=
         | 
| 61 61 | 
             
            end
         | 
| 62 62 | 
             
            self._graphql_lexer_trans_cond_spaces = [
         | 
| 63 | 
            -
            -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,  | 
| 63 | 
            +
            -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0 , 
         | 
| 64 64 | 
             
            ]
         | 
| 65 65 |  | 
| 66 66 | 
             
            class << self
         | 
| @@ -68,7 +68,7 @@ class << self | |
| 68 68 | 
             
            	private :_graphql_lexer_cond_targs, :_graphql_lexer_cond_targs=
         | 
| 69 69 | 
             
            end
         | 
| 70 70 | 
             
            self._graphql_lexer_cond_targs = [
         | 
| 71 | 
            -
             | 
| 71 | 
            +
            6, 0, 6, 1, 8, 12, 6, 13, 2, 6, 6, 6, 7, 6, 6, 8, 9, 6, 6, 6, 10, 15, 11, 14, 6, 6, 6, 16, 6, 6, 17, 25, 28, 38, 56, 63, 66, 67, 71, 89, 94, 6, 6, 6, 6, 6, 6, 6, 3, 4, 6, 5, 6, 18, 19, 20, 21, 22, 23, 24, 16, 26, 27, 16, 29, 32, 30, 31, 16, 33, 34, 35, 36, 37, 16, 39, 47, 40, 41, 42, 43, 44, 45, 46, 16, 48, 50, 49, 16, 51, 52, 53, 54, 55, 16, 57, 58, 59, 60, 61, 62, 16, 64, 65, 16, 16, 68, 69, 70, 16, 72, 79, 73, 76, 74, 75, 16, 77, 78, 16, 80, 81, 82, 83, 84, 85, 86, 87, 88, 16, 90, 92, 91, 16, 93, 16, 95, 96, 97, 16, 0 , 
         | 
| 72 72 | 
             
            ]
         | 
| 73 73 |  | 
| 74 74 | 
             
            class << self
         | 
| @@ -76,7 +76,7 @@ class << self | |
| 76 76 | 
             
            	private :_graphql_lexer_cond_actions, :_graphql_lexer_cond_actions=
         | 
| 77 77 | 
             
            end
         | 
| 78 78 | 
             
            self._graphql_lexer_cond_actions = [
         | 
| 79 | 
            -
            1, 0, 2, 0, 3, 0,  | 
| 79 | 
            +
            1, 0, 2, 0, 3, 0, 4, 5, 0, 6, 7, 10, 0, 11, 12, 13, 0, 14, 15, 16, 0, 17, 18, 18, 19, 20, 21, 22, 23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 26, 27, 28, 29, 30, 31, 0, 0, 32, 0, 33, 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 35, 0, 0, 0, 0, 36, 0, 0, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 0, 0, 0, 39, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 41, 0, 0, 42, 43, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 45, 0, 0, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 0, 0, 0, 48, 0, 49, 0, 0, 0, 50, 0 , 
         | 
| 80 80 | 
             
            ]
         | 
| 81 81 |  | 
| 82 82 | 
             
            class << self
         | 
| @@ -84,7 +84,7 @@ class << self | |
| 84 84 | 
             
            	private :_graphql_lexer_to_state_actions, :_graphql_lexer_to_state_actions=
         | 
| 85 85 | 
             
            end
         | 
| 86 86 | 
             
            self._graphql_lexer_to_state_actions = [
         | 
| 87 | 
            -
            0, 0, 0, 0, 0, 0,  | 
| 87 | 
            +
            0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 
         | 
| 88 88 | 
             
            ]
         | 
| 89 89 |  | 
| 90 90 | 
             
            class << self
         | 
| @@ -92,7 +92,7 @@ class << self | |
| 92 92 | 
             
            	private :_graphql_lexer_from_state_actions, :_graphql_lexer_from_state_actions=
         | 
| 93 93 | 
             
            end
         | 
| 94 94 | 
             
            self._graphql_lexer_from_state_actions = [
         | 
| 95 | 
            -
            0, 0, 0, 0, 0, 0,  | 
| 95 | 
            +
            0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 
         | 
| 96 96 | 
             
            ]
         | 
| 97 97 |  | 
| 98 98 | 
             
            class << self
         | 
| @@ -100,7 +100,7 @@ class << self | |
| 100 100 | 
             
            	private :_graphql_lexer_eof_trans, :_graphql_lexer_eof_trans=
         | 
| 101 101 | 
             
            end
         | 
| 102 102 | 
             
            self._graphql_lexer_eof_trans = [
         | 
| 103 | 
            -
            1, 1, 1,  | 
| 103 | 
            +
            1, 1, 1, 7, 1, 10, 0, 45, 1, 46, 47, 48, 51, 51, 48, 47, 1, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 0 , 
         | 
| 104 104 | 
             
            ]
         | 
| 105 105 |  | 
| 106 106 | 
             
            class << self
         | 
| @@ -116,7 +116,7 @@ class << self | |
| 116 116 | 
             
            	private :_graphql_lexer_nfa_offsets, :_graphql_lexer_nfa_offsets=
         | 
| 117 117 | 
             
            end
         | 
| 118 118 | 
             
            self._graphql_lexer_nfa_offsets = [
         | 
| 119 | 
            -
            0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 | 
| 119 | 
            +
            0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 
         | 
| 120 120 | 
             
            ]
         | 
| 121 121 |  | 
| 122 122 | 
             
            class << self
         | 
| @@ -138,12 +138,12 @@ self._graphql_lexer_nfa_pop_trans = [ | |
| 138 138 | 
             
            class << self
         | 
| 139 139 | 
             
            	attr_accessor :graphql_lexer_start 
         | 
| 140 140 | 
             
            end
         | 
| 141 | 
            -
            self.graphql_lexer_start  =  | 
| 141 | 
            +
            self.graphql_lexer_start  = 6;
         | 
| 142 142 |  | 
| 143 143 | 
             
            class << self
         | 
| 144 144 | 
             
            	attr_accessor :graphql_lexer_first_final 
         | 
| 145 145 | 
             
            end
         | 
| 146 | 
            -
            self.graphql_lexer_first_final  =  | 
| 146 | 
            +
            self.graphql_lexer_first_final  = 6;
         | 
| 147 147 |  | 
| 148 148 | 
             
            class << self
         | 
| 149 149 | 
             
            	attr_accessor :graphql_lexer_error 
         | 
| @@ -153,7 +153,7 @@ self.graphql_lexer_error  = -1; | |
| 153 153 | 
             
            class << self
         | 
| 154 154 | 
             
            	attr_accessor :graphql_lexer_en_main 
         | 
| 155 155 | 
             
            end
         | 
| 156 | 
            -
            self.graphql_lexer_en_main  =  | 
| 156 | 
            +
            self.graphql_lexer_en_main  = 6;
         | 
| 157 157 |  | 
| 158 158 | 
             
            def self.run_lexer(query_string)
         | 
| 159 159 | 
             
            	data = query_string.unpack("c*")
         | 
| @@ -226,7 +226,7 @@ def self.run_lexer(query_string) | |
| 226 226 | 
             
            								when -2 then
         | 
| 227 227 | 
             
            								begin
         | 
| 228 228 | 
             
            								end
         | 
| 229 | 
            -
            								when  | 
| 229 | 
            +
            								when 9  then
         | 
| 230 230 | 
             
            								begin
         | 
| 231 231 | 
             
            									begin
         | 
| 232 232 | 
             
            										begin
         | 
| @@ -272,7 +272,7 @@ def self.run_lexer(query_string) | |
| 272 272 | 
             
            							when -2 then
         | 
| 273 273 | 
             
            							begin
         | 
| 274 274 | 
             
            							end
         | 
| 275 | 
            -
            							when  | 
| 275 | 
            +
            							when 17  then
         | 
| 276 276 | 
             
            							begin
         | 
| 277 277 | 
             
            								begin
         | 
| 278 278 | 
             
            									begin
         | 
| @@ -283,7 +283,7 @@ def self.run_lexer(query_string) | |
| 283 283 | 
             
            								end
         | 
| 284 284 |  | 
| 285 285 | 
             
            							end
         | 
| 286 | 
            -
            							when  | 
| 286 | 
            +
            							when 27  then
         | 
| 287 287 | 
             
            							begin
         | 
| 288 288 | 
             
            								begin
         | 
| 289 289 | 
             
            									begin
         | 
| @@ -297,7 +297,7 @@ def self.run_lexer(query_string) | |
| 297 297 | 
             
            								end
         | 
| 298 298 |  | 
| 299 299 | 
             
            							end
         | 
| 300 | 
            -
            							when  | 
| 300 | 
            +
            							when 25  then
         | 
| 301 301 | 
             
            							begin
         | 
| 302 302 | 
             
            								begin
         | 
| 303 303 | 
             
            									begin
         | 
| @@ -311,7 +311,7 @@ def self.run_lexer(query_string) | |
| 311 311 | 
             
            								end
         | 
| 312 312 |  | 
| 313 313 | 
             
            							end
         | 
| 314 | 
            -
            							when  | 
| 314 | 
            +
            							when 16  then
         | 
| 315 315 | 
             
            							begin
         | 
| 316 316 | 
             
            								begin
         | 
| 317 317 | 
             
            									begin
         | 
| @@ -325,7 +325,7 @@ def self.run_lexer(query_string) | |
| 325 325 | 
             
            								end
         | 
| 326 326 |  | 
| 327 327 | 
             
            							end
         | 
| 328 | 
            -
            							when  | 
| 328 | 
            +
            							when 15  then
         | 
| 329 329 | 
             
            							begin
         | 
| 330 330 | 
             
            								begin
         | 
| 331 331 | 
             
            									begin
         | 
| @@ -339,7 +339,7 @@ def self.run_lexer(query_string) | |
| 339 339 | 
             
            								end
         | 
| 340 340 |  | 
| 341 341 | 
             
            							end
         | 
| 342 | 
            -
            							when  | 
| 342 | 
            +
            							when 24  then
         | 
| 343 343 | 
             
            							begin
         | 
| 344 344 | 
             
            								begin
         | 
| 345 345 | 
             
            									begin
         | 
| @@ -353,7 +353,7 @@ def self.run_lexer(query_string) | |
| 353 353 | 
             
            								end
         | 
| 354 354 |  | 
| 355 355 | 
             
            							end
         | 
| 356 | 
            -
            							when  | 
| 356 | 
            +
            							when 23  then
         | 
| 357 357 | 
             
            							begin
         | 
| 358 358 | 
             
            								begin
         | 
| 359 359 | 
             
            									begin
         | 
| @@ -367,7 +367,7 @@ def self.run_lexer(query_string) | |
| 367 367 | 
             
            								end
         | 
| 368 368 |  | 
| 369 369 | 
             
            							end
         | 
| 370 | 
            -
            							when  | 
| 370 | 
            +
            							when 19  then
         | 
| 371 371 | 
             
            							begin
         | 
| 372 372 | 
             
            								begin
         | 
| 373 373 | 
             
            									begin
         | 
| @@ -387,7 +387,7 @@ def self.run_lexer(query_string) | |
| 387 387 | 
             
            									begin
         | 
| 388 388 | 
             
            										te = p+1;
         | 
| 389 389 | 
             
            										begin
         | 
| 390 | 
            -
            											emit_string(ts, te, meta | 
| 390 | 
            +
            											emit_string(ts + 1, te - 1, meta) 
         | 
| 391 391 | 
             
            										end
         | 
| 392 392 |  | 
| 393 393 | 
             
            									end
         | 
| @@ -395,7 +395,7 @@ def self.run_lexer(query_string) | |
| 395 395 | 
             
            								end
         | 
| 396 396 |  | 
| 397 397 | 
             
            							end
         | 
| 398 | 
            -
            							when  | 
| 398 | 
            +
            							when 14  then
         | 
| 399 399 | 
             
            							begin
         | 
| 400 400 | 
             
            								begin
         | 
| 401 401 | 
             
            									begin
         | 
| @@ -409,7 +409,7 @@ def self.run_lexer(query_string) | |
| 409 409 | 
             
            								end
         | 
| 410 410 |  | 
| 411 411 | 
             
            							end
         | 
| 412 | 
            -
            							when  | 
| 412 | 
            +
            							when 21  then
         | 
| 413 413 | 
             
            							begin
         | 
| 414 414 | 
             
            								begin
         | 
| 415 415 | 
             
            									begin
         | 
| @@ -423,7 +423,7 @@ def self.run_lexer(query_string) | |
| 423 423 | 
             
            								end
         | 
| 424 424 |  | 
| 425 425 | 
             
            							end
         | 
| 426 | 
            -
            							when  | 
| 426 | 
            +
            							when 7  then
         | 
| 427 427 | 
             
            							begin
         | 
| 428 428 | 
             
            								begin
         | 
| 429 429 | 
             
            									begin
         | 
| @@ -437,7 +437,7 @@ def self.run_lexer(query_string) | |
| 437 437 | 
             
            								end
         | 
| 438 438 |  | 
| 439 439 | 
             
            							end
         | 
| 440 | 
            -
            							when  | 
| 440 | 
            +
            							when 20  then
         | 
| 441 441 | 
             
            							begin
         | 
| 442 442 | 
             
            								begin
         | 
| 443 443 | 
             
            									begin
         | 
| @@ -451,7 +451,7 @@ def self.run_lexer(query_string) | |
| 451 451 | 
             
            								end
         | 
| 452 452 |  | 
| 453 453 | 
             
            							end
         | 
| 454 | 
            -
            							when  | 
| 454 | 
            +
            							when 12  then
         | 
| 455 455 | 
             
            							begin
         | 
| 456 456 | 
             
            								begin
         | 
| 457 457 | 
             
            									begin
         | 
| @@ -465,7 +465,7 @@ def self.run_lexer(query_string) | |
| 465 465 | 
             
            								end
         | 
| 466 466 |  | 
| 467 467 | 
             
            							end
         | 
| 468 | 
            -
            							when  | 
| 468 | 
            +
            							when 26  then
         | 
| 469 469 | 
             
            							begin
         | 
| 470 470 | 
             
            								begin
         | 
| 471 471 | 
             
            									begin
         | 
| @@ -479,21 +479,7 @@ def self.run_lexer(query_string) | |
| 479 479 | 
             
            								end
         | 
| 480 480 |  | 
| 481 481 | 
             
            							end
         | 
| 482 | 
            -
            							when  | 
| 483 | 
            -
            							begin
         | 
| 484 | 
            -
            								begin
         | 
| 485 | 
            -
            									begin
         | 
| 486 | 
            -
            										te = p+1;
         | 
| 487 | 
            -
            										begin
         | 
| 488 | 
            -
            											emit(:AMP, ts, te, meta) 
         | 
| 489 | 
            -
            										end
         | 
| 490 | 
            -
            										
         | 
| 491 | 
            -
            									end
         | 
| 492 | 
            -
            									
         | 
| 493 | 
            -
            								end
         | 
| 494 | 
            -
            								
         | 
| 495 | 
            -
            							end
         | 
| 496 | 
            -
            							when 12  then
         | 
| 482 | 
            +
            							when 11  then
         | 
| 497 483 | 
             
            							begin
         | 
| 498 484 | 
             
            								begin
         | 
| 499 485 | 
             
            									begin
         | 
| @@ -509,7 +495,7 @@ def self.run_lexer(query_string) | |
| 509 495 | 
             
            								end
         | 
| 510 496 |  | 
| 511 497 | 
             
            							end
         | 
| 512 | 
            -
            							when  | 
| 498 | 
            +
            							when 10  then
         | 
| 513 499 | 
             
            							begin
         | 
| 514 500 | 
             
            								begin
         | 
| 515 501 | 
             
            									begin
         | 
| @@ -523,7 +509,7 @@ def self.run_lexer(query_string) | |
| 523 509 | 
             
            								end
         | 
| 524 510 |  | 
| 525 511 | 
             
            							end
         | 
| 526 | 
            -
            							when  | 
| 512 | 
            +
            							when 31  then
         | 
| 527 513 | 
             
            							begin
         | 
| 528 514 | 
             
            								begin
         | 
| 529 515 | 
             
            									begin
         | 
| @@ -537,21 +523,6 @@ def self.run_lexer(query_string) | |
| 537 523 |  | 
| 538 524 | 
             
            								end
         | 
| 539 525 |  | 
| 540 | 
            -
            							end
         | 
| 541 | 
            -
            							when 36  then
         | 
| 542 | 
            -
            							begin
         | 
| 543 | 
            -
            								begin
         | 
| 544 | 
            -
            									begin
         | 
| 545 | 
            -
            										te = p;
         | 
| 546 | 
            -
            										p = p - 1;
         | 
| 547 | 
            -
            										begin
         | 
| 548 | 
            -
            											emit(:FLOAT, ts, te, meta) 
         | 
| 549 | 
            -
            										end
         | 
| 550 | 
            -
            										
         | 
| 551 | 
            -
            									end
         | 
| 552 | 
            -
            									
         | 
| 553 | 
            -
            								end
         | 
| 554 | 
            -
            								
         | 
| 555 526 | 
             
            							end
         | 
| 556 527 | 
             
            							when 32  then
         | 
| 557 528 | 
             
            							begin
         | 
| @@ -560,7 +531,7 @@ def self.run_lexer(query_string) | |
| 560 531 | 
             
            										te = p;
         | 
| 561 532 | 
             
            										p = p - 1;
         | 
| 562 533 | 
             
            										begin
         | 
| 563 | 
            -
            											 | 
| 534 | 
            +
            											emit(:FLOAT, ts, te, meta) 
         | 
| 564 535 | 
             
            										end
         | 
| 565 536 |  | 
| 566 537 | 
             
            									end
         | 
| @@ -569,21 +540,6 @@ def self.run_lexer(query_string) | |
| 569 540 |  | 
| 570 541 | 
             
            							end
         | 
| 571 542 | 
             
            							when 33  then
         | 
| 572 | 
            -
            							begin
         | 
| 573 | 
            -
            								begin
         | 
| 574 | 
            -
            									begin
         | 
| 575 | 
            -
            										te = p;
         | 
| 576 | 
            -
            										p = p - 1;
         | 
| 577 | 
            -
            										begin
         | 
| 578 | 
            -
            											emit_string(ts, te, meta, block: true) 
         | 
| 579 | 
            -
            										end
         | 
| 580 | 
            -
            										
         | 
| 581 | 
            -
            									end
         | 
| 582 | 
            -
            									
         | 
| 583 | 
            -
            								end
         | 
| 584 | 
            -
            								
         | 
| 585 | 
            -
            							end
         | 
| 586 | 
            -
            							when 37  then
         | 
| 587 543 | 
             
            							begin
         | 
| 588 544 | 
             
            								begin
         | 
| 589 545 | 
             
            									begin
         | 
| @@ -598,7 +554,7 @@ def self.run_lexer(query_string) | |
| 598 554 | 
             
            								end
         | 
| 599 555 |  | 
| 600 556 | 
             
            							end
         | 
| 601 | 
            -
            							when  | 
| 557 | 
            +
            							when 29  then
         | 
| 602 558 | 
             
            							begin
         | 
| 603 559 | 
             
            								begin
         | 
| 604 560 | 
             
            									begin
         | 
| @@ -613,7 +569,7 @@ def self.run_lexer(query_string) | |
| 613 569 | 
             
            								end
         | 
| 614 570 |  | 
| 615 571 | 
             
            							end
         | 
| 616 | 
            -
            							when  | 
| 572 | 
            +
            							when 28  then
         | 
| 617 573 | 
             
            							begin
         | 
| 618 574 | 
             
            								begin
         | 
| 619 575 | 
             
            									begin
         | 
| @@ -628,7 +584,7 @@ def self.run_lexer(query_string) | |
| 628 584 | 
             
            								end
         | 
| 629 585 |  | 
| 630 586 | 
             
            							end
         | 
| 631 | 
            -
            							when  | 
| 587 | 
            +
            							when 30  then
         | 
| 632 588 | 
             
            							begin
         | 
| 633 589 | 
             
            								begin
         | 
| 634 590 | 
             
            									begin
         | 
| @@ -643,7 +599,7 @@ def self.run_lexer(query_string) | |
| 643 599 | 
             
            								end
         | 
| 644 600 |  | 
| 645 601 | 
             
            							end
         | 
| 646 | 
            -
            							when  | 
| 602 | 
            +
            							when 4  then
         | 
| 647 603 | 
             
            							begin
         | 
| 648 604 | 
             
            								begin
         | 
| 649 605 | 
             
            									begin
         | 
| @@ -657,7 +613,7 @@ def self.run_lexer(query_string) | |
| 657 613 | 
             
            								end
         | 
| 658 614 |  | 
| 659 615 | 
             
            							end
         | 
| 660 | 
            -
            							when  | 
| 616 | 
            +
            							when 6  then
         | 
| 661 617 | 
             
            							begin
         | 
| 662 618 | 
             
            								begin
         | 
| 663 619 | 
             
            									begin
         | 
| @@ -835,19 +791,11 @@ def self.run_lexer(query_string) | |
| 835 791 | 
             
            										begin
         | 
| 836 792 | 
             
            											p = ((te))-1;
         | 
| 837 793 | 
             
            											begin
         | 
| 838 | 
            -
            												emit_string(ts, te, meta | 
| 839 | 
            -
            											end
         | 
| 840 | 
            -
            											
         | 
| 841 | 
            -
            										end
         | 
| 842 | 
            -
            										when 28  then
         | 
| 843 | 
            -
            										begin
         | 
| 844 | 
            -
            											p = ((te))-1;
         | 
| 845 | 
            -
            											begin
         | 
| 846 | 
            -
            												emit_string(ts, te, meta, block: true) 
         | 
| 794 | 
            +
            												emit_string(ts + 1, te - 1, meta) 
         | 
| 847 795 | 
             
            											end
         | 
| 848 796 |  | 
| 849 797 | 
             
            										end
         | 
| 850 | 
            -
            										when  | 
| 798 | 
            +
            										when 34  then
         | 
| 851 799 | 
             
            										begin
         | 
| 852 800 | 
             
            											p = ((te))-1;
         | 
| 853 801 | 
             
            											begin
         | 
| @@ -855,7 +803,7 @@ def self.run_lexer(query_string) | |
| 855 803 | 
             
            											end
         | 
| 856 804 |  | 
| 857 805 | 
             
            										end
         | 
| 858 | 
            -
            										when  | 
| 806 | 
            +
            										when 38  then
         | 
| 859 807 | 
             
            										begin
         | 
| 860 808 | 
             
            											p = ((te))-1;
         | 
| 861 809 | 
             
            											begin
         | 
| @@ -872,7 +820,7 @@ def self.run_lexer(query_string) | |
| 872 820 | 
             
            							end
         | 
| 873 821 |  | 
| 874 822 | 
             
            						end
         | 
| 875 | 
            -
            						when  | 
| 823 | 
            +
            						when 18  then
         | 
| 876 824 | 
             
            						begin
         | 
| 877 825 | 
             
            							begin
         | 
| 878 826 | 
             
            								begin
         | 
| @@ -890,7 +838,7 @@ def self.run_lexer(query_string) | |
| 890 838 | 
             
            							end
         | 
| 891 839 |  | 
| 892 840 | 
             
            						end
         | 
| 893 | 
            -
            						when  | 
| 841 | 
            +
            						when 5  then
         | 
| 894 842 | 
             
            						begin
         | 
| 895 843 | 
             
            							begin
         | 
| 896 844 | 
             
            								begin
         | 
| @@ -908,7 +856,7 @@ def self.run_lexer(query_string) | |
| 908 856 | 
             
            							end
         | 
| 909 857 |  | 
| 910 858 | 
             
            						end
         | 
| 911 | 
            -
            						when  | 
| 859 | 
            +
            						when 43  then
         | 
| 912 860 | 
             
            						begin
         | 
| 913 861 | 
             
            							begin
         | 
| 914 862 | 
             
            								begin
         | 
| @@ -926,7 +874,7 @@ def self.run_lexer(query_string) | |
| 926 874 | 
             
            							end
         | 
| 927 875 |  | 
| 928 876 | 
             
            						end
         | 
| 929 | 
            -
            						when  | 
| 877 | 
            +
            						when 37  then
         | 
| 930 878 | 
             
            						begin
         | 
| 931 879 | 
             
            							begin
         | 
| 932 880 | 
             
            								begin
         | 
| @@ -944,7 +892,7 @@ def self.run_lexer(query_string) | |
| 944 892 | 
             
            							end
         | 
| 945 893 |  | 
| 946 894 | 
             
            						end
         | 
| 947 | 
            -
            						when  | 
| 895 | 
            +
            						when 48  then
         | 
| 948 896 | 
             
            						begin
         | 
| 949 897 | 
             
            							begin
         | 
| 950 898 | 
             
            								begin
         | 
| @@ -962,7 +910,7 @@ def self.run_lexer(query_string) | |
| 962 910 | 
             
            							end
         | 
| 963 911 |  | 
| 964 912 | 
             
            						end
         | 
| 965 | 
            -
            						when  | 
| 913 | 
            +
            						when 36  then
         | 
| 966 914 | 
             
            						begin
         | 
| 967 915 | 
             
            							begin
         | 
| 968 916 | 
             
            								begin
         | 
| @@ -980,7 +928,7 @@ def self.run_lexer(query_string) | |
| 980 928 | 
             
            							end
         | 
| 981 929 |  | 
| 982 930 | 
             
            						end
         | 
| 983 | 
            -
            						when  | 
| 931 | 
            +
            						when 42  then
         | 
| 984 932 | 
             
            						begin
         | 
| 985 933 | 
             
            							begin
         | 
| 986 934 | 
             
            								begin
         | 
| @@ -998,7 +946,7 @@ def self.run_lexer(query_string) | |
| 998 946 | 
             
            							end
         | 
| 999 947 |  | 
| 1000 948 | 
             
            						end
         | 
| 1001 | 
            -
            						when  | 
| 949 | 
            +
            						when 44  then
         | 
| 1002 950 | 
             
            						begin
         | 
| 1003 951 | 
             
            							begin
         | 
| 1004 952 | 
             
            								begin
         | 
| @@ -1016,7 +964,7 @@ def self.run_lexer(query_string) | |
| 1016 964 | 
             
            							end
         | 
| 1017 965 |  | 
| 1018 966 | 
             
            						end
         | 
| 1019 | 
            -
            						when  | 
| 967 | 
            +
            						when 41  then
         | 
| 1020 968 | 
             
            						begin
         | 
| 1021 969 | 
             
            							begin
         | 
| 1022 970 | 
             
            								begin
         | 
| @@ -1034,7 +982,7 @@ def self.run_lexer(query_string) | |
| 1034 982 | 
             
            							end
         | 
| 1035 983 |  | 
| 1036 984 | 
             
            						end
         | 
| 1037 | 
            -
            						when  | 
| 985 | 
            +
            						when 47  then
         | 
| 1038 986 | 
             
            						begin
         | 
| 1039 987 | 
             
            							begin
         | 
| 1040 988 | 
             
            								begin
         | 
| @@ -1052,7 +1000,7 @@ def self.run_lexer(query_string) | |
| 1052 1000 | 
             
            							end
         | 
| 1053 1001 |  | 
| 1054 1002 | 
             
            						end
         | 
| 1055 | 
            -
            						when  | 
| 1003 | 
            +
            						when 46  then
         | 
| 1056 1004 | 
             
            						begin
         | 
| 1057 1005 | 
             
            							begin
         | 
| 1058 1006 | 
             
            								begin
         | 
| @@ -1070,7 +1018,7 @@ def self.run_lexer(query_string) | |
| 1070 1018 | 
             
            							end
         | 
| 1071 1019 |  | 
| 1072 1020 | 
             
            						end
         | 
| 1073 | 
            -
            						when  | 
| 1021 | 
            +
            						when 45  then
         | 
| 1074 1022 | 
             
            						begin
         | 
| 1075 1023 | 
             
            							begin
         | 
| 1076 1024 | 
             
            								begin
         | 
| @@ -1088,7 +1036,7 @@ def self.run_lexer(query_string) | |
| 1088 1036 | 
             
            							end
         | 
| 1089 1037 |  | 
| 1090 1038 | 
             
            						end
         | 
| 1091 | 
            -
            						when  | 
| 1039 | 
            +
            						when 49  then
         | 
| 1092 1040 | 
             
            						begin
         | 
| 1093 1041 | 
             
            							begin
         | 
| 1094 1042 | 
             
            								begin
         | 
| @@ -1106,7 +1054,7 @@ def self.run_lexer(query_string) | |
| 1106 1054 | 
             
            							end
         | 
| 1107 1055 |  | 
| 1108 1056 | 
             
            						end
         | 
| 1109 | 
            -
            						when  | 
| 1057 | 
            +
            						when 38  then
         | 
| 1110 1058 | 
             
            						begin
         | 
| 1111 1059 | 
             
            							begin
         | 
| 1112 1060 | 
             
            								begin
         | 
| @@ -1124,7 +1072,7 @@ def self.run_lexer(query_string) | |
| 1124 1072 | 
             
            							end
         | 
| 1125 1073 |  | 
| 1126 1074 | 
             
            						end
         | 
| 1127 | 
            -
            						when  | 
| 1075 | 
            +
            						when 40  then
         | 
| 1128 1076 | 
             
            						begin
         | 
| 1129 1077 | 
             
            							begin
         | 
| 1130 1078 | 
             
            								begin
         | 
| @@ -1142,7 +1090,7 @@ def self.run_lexer(query_string) | |
| 1142 1090 | 
             
            							end
         | 
| 1143 1091 |  | 
| 1144 1092 | 
             
            						end
         | 
| 1145 | 
            -
            						when  | 
| 1093 | 
            +
            						when 50  then
         | 
| 1146 1094 | 
             
            						begin
         | 
| 1147 1095 | 
             
            							begin
         | 
| 1148 1096 | 
             
            								begin
         | 
| @@ -1160,7 +1108,7 @@ def self.run_lexer(query_string) | |
| 1160 1108 | 
             
            							end
         | 
| 1161 1109 |  | 
| 1162 1110 | 
             
            						end
         | 
| 1163 | 
            -
            						when  | 
| 1111 | 
            +
            						when 35  then
         | 
| 1164 1112 | 
             
            						begin
         | 
| 1165 1113 | 
             
            							begin
         | 
| 1166 1114 | 
             
            								begin
         | 
| @@ -1178,7 +1126,7 @@ def self.run_lexer(query_string) | |
| 1178 1126 | 
             
            							end
         | 
| 1179 1127 |  | 
| 1180 1128 | 
             
            						end
         | 
| 1181 | 
            -
            						when  | 
| 1129 | 
            +
            						when 39  then
         | 
| 1182 1130 | 
             
            						begin
         | 
| 1183 1131 | 
             
            							begin
         | 
| 1184 1132 | 
             
            								begin
         | 
| @@ -1196,7 +1144,7 @@ def self.run_lexer(query_string) | |
| 1196 1144 | 
             
            							end
         | 
| 1197 1145 |  | 
| 1198 1146 | 
             
            						end
         | 
| 1199 | 
            -
            						when  | 
| 1147 | 
            +
            						when 34  then
         | 
| 1200 1148 | 
             
            						begin
         | 
| 1201 1149 | 
             
            							begin
         | 
| 1202 1150 | 
             
            								begin
         | 
| @@ -1232,25 +1180,7 @@ def self.run_lexer(query_string) | |
| 1232 1180 | 
             
            							end
         | 
| 1233 1181 |  | 
| 1234 1182 | 
             
            						end
         | 
| 1235 | 
            -
            						when  | 
| 1236 | 
            -
            						begin
         | 
| 1237 | 
            -
            							begin
         | 
| 1238 | 
            -
            								begin
         | 
| 1239 | 
            -
            									te = p+1;
         | 
| 1240 | 
            -
            									
         | 
| 1241 | 
            -
            								end
         | 
| 1242 | 
            -
            								
         | 
| 1243 | 
            -
            							end
         | 
| 1244 | 
            -
            							begin
         | 
| 1245 | 
            -
            								begin
         | 
| 1246 | 
            -
            									act = 28;
         | 
| 1247 | 
            -
            									
         | 
| 1248 | 
            -
            								end
         | 
| 1249 | 
            -
            								
         | 
| 1250 | 
            -
            							end
         | 
| 1251 | 
            -
            							
         | 
| 1252 | 
            -
            						end
         | 
| 1253 | 
            -
            						when 24  then
         | 
| 1183 | 
            +
            						when 22  then
         | 
| 1254 1184 | 
             
            						begin
         | 
| 1255 1185 | 
             
            							begin
         | 
| 1256 1186 | 
             
            								begin
         | 
| @@ -1261,14 +1191,14 @@ def self.run_lexer(query_string) | |
| 1261 1191 | 
             
            							end
         | 
| 1262 1192 | 
             
            							begin
         | 
| 1263 1193 | 
             
            								begin
         | 
| 1264 | 
            -
            									act =  | 
| 1194 | 
            +
            									act = 34;
         | 
| 1265 1195 |  | 
| 1266 1196 | 
             
            								end
         | 
| 1267 1197 |  | 
| 1268 1198 | 
             
            							end
         | 
| 1269 1199 |  | 
| 1270 1200 | 
             
            						end
         | 
| 1271 | 
            -
            						when  | 
| 1201 | 
            +
            						when 13  then
         | 
| 1272 1202 | 
             
            						begin
         | 
| 1273 1203 | 
             
            							begin
         | 
| 1274 1204 | 
             
            								begin
         | 
| @@ -1279,7 +1209,7 @@ def self.run_lexer(query_string) | |
| 1279 1209 | 
             
            							end
         | 
| 1280 1210 | 
             
            							begin
         | 
| 1281 1211 | 
             
            								begin
         | 
| 1282 | 
            -
            									act =  | 
| 1212 | 
            +
            									act = 38;
         | 
| 1283 1213 |  | 
| 1284 1214 | 
             
            								end
         | 
| 1285 1215 |  | 
| @@ -1292,7 +1222,7 @@ def self.run_lexer(query_string) | |
| 1292 1222 | 
             
            					when -2 then
         | 
| 1293 1223 | 
             
            					begin
         | 
| 1294 1224 | 
             
            					end
         | 
| 1295 | 
            -
            					when  | 
| 1225 | 
            +
            					when 8  then
         | 
| 1296 1226 | 
             
            					begin
         | 
| 1297 1227 | 
             
            						begin
         | 
| 1298 1228 | 
             
            							begin
         | 
| @@ -1373,13 +1303,8 @@ VALID_STRING = /\A(?:[^\\]|#{ESCAPES}|#{UTF_8})*\z/o | |
| 1373 1303 | 
             
            PACK_DIRECTIVE = "c*"
         | 
| 1374 1304 | 
             
            UTF_8_ENCODING = "UTF-8"
         | 
| 1375 1305 |  | 
| 1376 | 
            -
            def self.emit_string(ts, te, meta | 
| 1377 | 
            -
             | 
| 1378 | 
            -
            ts += quotes_length
         | 
| 1379 | 
            -
            value = meta[:data][ts...te - quotes_length].pack(PACK_DIRECTIVE).force_encoding(UTF_8_ENCODING)
         | 
| 1380 | 
            -
            if block
         | 
| 1381 | 
            -
            value = GraphQL::Language::BlockString.trim_whitespace(value)
         | 
| 1382 | 
            -
            end
         | 
| 1306 | 
            +
            def self.emit_string(ts, te, meta)
         | 
| 1307 | 
            +
            value = meta[:data][ts...te].pack(PACK_DIRECTIVE).force_encoding(UTF_8_ENCODING)
         | 
| 1383 1308 | 
             
            if value !~ VALID_STRING
         | 
| 1384 1309 | 
             
            meta[:tokens] << token = GraphQL::Language::Token.new(
         | 
| 1385 1310 | 
             
            name: :BAD_UNICODE_ESCAPE,
         |