duckdb 0.3.3-dev528.0 → 0.3.3-dev562.0

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.
package/src/duckdb.cpp CHANGED
@@ -4212,6 +4212,10 @@ static DefaultMacro internal_macros[] = {
4212
4212
  {DEFAULT_SCHEMA, "array_append", {"arr", "el", nullptr}, "list_append(arr, el)"},
4213
4213
  {DEFAULT_SCHEMA, "list_prepend", {"e", "l", nullptr}, "list_concat(list_value(e), l)"},
4214
4214
  {DEFAULT_SCHEMA, "array_prepend", {"el", "arr", nullptr}, "list_prepend(el, arr)"},
4215
+ {DEFAULT_SCHEMA, "array_pop_back", {"arr", nullptr}, "arr[:LEN(arr)-1]"},
4216
+ {DEFAULT_SCHEMA, "array_pop_front", {"arr", nullptr}, "arr[1:]"},
4217
+ {DEFAULT_SCHEMA, "array_push_back", {"arr", "e", nullptr}, "list_concat(arr, list_value(e))"},
4218
+ {DEFAULT_SCHEMA, "array_push_front", {"arr", "e", nullptr}, "list_concat(list_value(e), arr)"},
4215
4219
  {DEFAULT_SCHEMA, "generate_subscripts", {"arr", "dim", nullptr}, "unnest(generate_series(1, array_length(arr, dim)))"},
4216
4220
  {DEFAULT_SCHEMA, "fdiv", {"x", "y", nullptr}, "floor(x/y)"},
4217
4221
  {DEFAULT_SCHEMA, "fmod", {"x", "y", nullptr}, "(x-y*floor(x/y))"},
@@ -62789,9 +62793,15 @@ OperatorResultType PhysicalUnnest::Execute(ExecutionContext &context, DataChunk
62789
62793
  auto &list_vector = state.list_data.data[col_idx];
62790
62794
  list_vector.Orrify(state.list_data.size(), state.list_vector_data[col_idx]);
62791
62795
 
62792
- auto &child_vector = ListVector::GetEntry(list_vector);
62793
- auto list_size = ListVector::GetListSize(list_vector);
62794
- child_vector.Orrify(list_size, state.list_child_data[col_idx]);
62796
+ if (list_vector.GetType() == LogicalType::SQLNULL) {
62797
+ // UNNEST(NULL)
62798
+ auto &child_vector = list_vector;
62799
+ child_vector.Orrify(0, state.list_child_data[col_idx]);
62800
+ } else {
62801
+ auto list_size = ListVector::GetListSize(list_vector);
62802
+ auto &child_vector = ListVector::GetEntry(list_vector);
62803
+ child_vector.Orrify(list_size, state.list_child_data[col_idx]);
62804
+ }
62795
62805
  }
62796
62806
  state.first_fetch = false;
62797
62807
  }
@@ -62840,34 +62850,40 @@ OperatorResultType PhysicalUnnest::Execute(ExecutionContext &context, DataChunk
62840
62850
  for (idx_t col_idx = 0; col_idx < state.list_data.ColumnCount(); col_idx++) {
62841
62851
  auto &result_vector = chunk.data[col_idx + input.ColumnCount()];
62842
62852
 
62843
- auto &vdata = state.list_vector_data[col_idx];
62844
- auto &child_data = state.list_child_data[col_idx];
62845
- auto current_idx = vdata.sel->get_index(state.parent_position);
62846
-
62847
- auto list_data = (list_entry_t *)vdata.data;
62848
- auto list_entry = list_data[current_idx];
62849
-
62850
- idx_t list_count;
62851
- if (state.list_position >= list_entry.length) {
62852
- list_count = 0;
62853
+ if (state.list_data.data[col_idx].GetType() == LogicalType::SQLNULL) {
62854
+ // UNNEST(NULL)
62855
+ chunk.SetCardinality(0);
62853
62856
  } else {
62854
- list_count = MinValue<idx_t>(this_chunk_len, list_entry.length - state.list_position);
62855
- }
62857
+ auto &vdata = state.list_vector_data[col_idx];
62858
+ auto &child_data = state.list_child_data[col_idx];
62859
+ auto current_idx = vdata.sel->get_index(state.parent_position);
62856
62860
 
62857
- if (list_entry.length > state.list_position) {
62858
- if (!vdata.validity.RowIsValid(current_idx)) {
62859
- UnnestNull(0, list_count, result_vector);
62861
+ auto list_data = (list_entry_t *)vdata.data;
62862
+ auto list_entry = list_data[current_idx];
62863
+
62864
+ idx_t list_count;
62865
+ if (state.list_position >= list_entry.length) {
62866
+ list_count = 0;
62860
62867
  } else {
62861
- auto &list_vector = state.list_data.data[col_idx];
62862
- auto &child_vector = ListVector::GetEntry(list_vector);
62863
- auto list_size = ListVector::GetListSize(list_vector);
62868
+ list_count = MinValue<idx_t>(this_chunk_len, list_entry.length - state.list_position);
62869
+ }
62864
62870
 
62865
- auto base_offset = list_entry.offset + state.list_position;
62866
- UnnestVector(child_data, child_vector, list_size, base_offset, base_offset + list_count,
62867
- result_vector);
62871
+ if (list_entry.length > state.list_position) {
62872
+ if (!vdata.validity.RowIsValid(current_idx)) {
62873
+ UnnestNull(0, list_count, result_vector);
62874
+ } else {
62875
+ auto &list_vector = state.list_data.data[col_idx];
62876
+ auto &child_vector = ListVector::GetEntry(list_vector);
62877
+ auto list_size = ListVector::GetListSize(list_vector);
62878
+
62879
+ auto base_offset = list_entry.offset + state.list_position;
62880
+ UnnestVector(child_data, child_vector, list_size, base_offset, base_offset + list_count,
62881
+ result_vector);
62882
+ }
62868
62883
  }
62884
+
62885
+ UnnestNull(list_count, this_chunk_len, result_vector);
62869
62886
  }
62870
- UnnestNull(list_count, this_chunk_len, result_vector);
62871
62887
  }
62872
62888
 
62873
62889
  state.list_position += this_chunk_len;
@@ -75757,6 +75773,11 @@ struct ListContainsFun {
75757
75773
  static void RegisterFunction(BuiltinFunctions &set);
75758
75774
  };
75759
75775
 
75776
+ struct ListPositionFun {
75777
+ static ScalarFunction GetFunction();
75778
+ static void RegisterFunction(BuiltinFunctions &set);
75779
+ };
75780
+
75760
75781
  struct CardinalityFun {
75761
75782
  static void RegisterFunction(BuiltinFunctions &set);
75762
75783
  };
@@ -78168,6 +78189,21 @@ string PragmaShowTables(ClientContext &context, const FunctionParameters &parame
78168
78189
  return "SELECT name FROM sqlite_master ORDER BY name";
78169
78190
  }
78170
78191
 
78192
+ string PragmaShowTablesExpanded(ClientContext &context, const FunctionParameters &parameters) {
78193
+ return R"(
78194
+ SELECT
78195
+ t.table_name,
78196
+ LIST(c.column_name order by c.column_name) AS column_names,
78197
+ LIST(c.data_type order by c.column_name) AS column_types,
78198
+ FIRST(t.temporary) AS temporary
78199
+ FROM duckdb_tables t
78200
+ JOIN duckdb_columns c
78201
+ USING (table_oid)
78202
+ GROUP BY t.table_name
78203
+ ORDER BY t.table_name;
78204
+ )";
78205
+ }
78206
+
78171
78207
  string PragmaAllProfiling(ClientContext &context, const FunctionParameters &parameters) {
78172
78208
  return "SELECT * FROM pragma_last_profiling_output() JOIN pragma_detailed_profiling_output() ON "
78173
78209
  "(pragma_last_profiling_output.operator_id);";
@@ -78233,6 +78269,7 @@ void PragmaQueries::RegisterFunction(BuiltinFunctions &set) {
78233
78269
  set.AddFunction(PragmaFunction::PragmaCall("table_info", PragmaTableInfo, {LogicalType::VARCHAR}));
78234
78270
  set.AddFunction(PragmaFunction::PragmaCall("storage_info", PragmaStorageInfo, {LogicalType::VARCHAR}));
78235
78271
  set.AddFunction(PragmaFunction::PragmaStatement("show_tables", PragmaShowTables));
78272
+ set.AddFunction(PragmaFunction::PragmaStatement("show_tables_expanded", PragmaShowTablesExpanded));
78236
78273
  set.AddFunction(PragmaFunction::PragmaStatement("database_list", PragmaDatabaseList));
78237
78274
  set.AddFunction(PragmaFunction::PragmaStatement("collations", PragmaCollations));
78238
78275
  set.AddFunction(PragmaFunction::PragmaCall("show", PragmaShow, {LogicalType::VARCHAR}));
@@ -83743,6 +83780,232 @@ void ArraySliceFun::RegisterFunction(BuiltinFunctions &set) {
83743
83780
 
83744
83781
 
83745
83782
 
83783
+ namespace duckdb {
83784
+
83785
+ template <class T>
83786
+ static inline bool ValueEqualsOrNot(const T &left, const T &right) {
83787
+ return left == right;
83788
+ }
83789
+
83790
+ template <>
83791
+ inline bool ValueEqualsOrNot(const string_t &left, const string_t &right) {
83792
+ return StringComparisonOperators::EqualsOrNot<false>(left, right);
83793
+ }
83794
+
83795
+ struct ContainsFunctor {
83796
+ static inline bool Initialize() {
83797
+ return false;
83798
+ }
83799
+ static inline bool UpdateResultEntries(idx_t child_idx) {
83800
+ return true;
83801
+ }
83802
+ };
83803
+
83804
+ struct PositionFunctor {
83805
+ static inline int32_t Initialize() {
83806
+ return 0;
83807
+ }
83808
+ static inline int32_t UpdateResultEntries(idx_t child_idx) {
83809
+ return child_idx + 1;
83810
+ }
83811
+ };
83812
+
83813
+ template <class CHILD_TYPE, class RETURN_TYPE, class OP>
83814
+ static void TemplatedContainsOrPosition(DataChunk &args, ExpressionState &state, Vector &result,
83815
+ bool is_nested = false) {
83816
+ D_ASSERT(args.ColumnCount() == 2);
83817
+ auto count = args.size();
83818
+ Vector &list = args.data[0];
83819
+ Vector &value_vector = args.data[1];
83820
+
83821
+ // Create a result vector of type RETURN_TYPE
83822
+ result.SetVectorType(VectorType::FLAT_VECTOR);
83823
+ auto result_entries = FlatVector::GetData<RETURN_TYPE>(result);
83824
+ auto &result_validity = FlatVector::Validity(result);
83825
+
83826
+ if (list.GetType().id() == LogicalTypeId::SQLNULL) {
83827
+ result_validity.SetInvalid(0);
83828
+ return;
83829
+ }
83830
+
83831
+ auto list_size = ListVector::GetListSize(list);
83832
+ auto &child_vector = ListVector::GetEntry(list);
83833
+
83834
+ VectorData child_data;
83835
+ child_vector.Orrify(list_size, child_data);
83836
+
83837
+ VectorData list_data;
83838
+ list.Orrify(count, list_data);
83839
+ auto list_entries = (list_entry_t *)list_data.data;
83840
+
83841
+ VectorData value_data;
83842
+ value_vector.Orrify(count, value_data);
83843
+
83844
+ for (idx_t i = 0; i < count; i++) {
83845
+ auto list_index = list_data.sel->get_index(i);
83846
+ auto value_index = value_data.sel->get_index(i);
83847
+
83848
+ if (!list_data.validity.RowIsValid(list_index) || !value_data.validity.RowIsValid(value_index)) {
83849
+ result_validity.SetInvalid(i);
83850
+ continue;
83851
+ }
83852
+
83853
+ const auto &list_entry = list_entries[list_index];
83854
+ auto source_idx = child_data.sel->get_index(list_entry.offset);
83855
+
83856
+ // not required for a comparison of nested types
83857
+ auto child_value = FlatVector::GetData<CHILD_TYPE>(child_vector);
83858
+ auto values = FlatVector::GetData<CHILD_TYPE>(value_vector);
83859
+
83860
+ result_entries[list_index] = OP::Initialize();
83861
+ for (idx_t child_idx = 0; child_idx < list_entry.length; child_idx++) {
83862
+ auto child_value_idx = source_idx + child_idx;
83863
+
83864
+ if (!child_data.validity.RowIsValid(child_value_idx)) {
83865
+ continue;
83866
+ }
83867
+
83868
+ if (!is_nested) {
83869
+ if (ValueEqualsOrNot<CHILD_TYPE>(child_value[child_value_idx], values[value_index])) {
83870
+ result_entries[list_index] = OP::UpdateResultEntries(child_idx);
83871
+ break; // Found value in list, no need to look further
83872
+ }
83873
+ } else {
83874
+ // FIXME: using Value is less efficient than modifying the vector comparison code
83875
+ // to more efficiently compare nested types
83876
+ if (ValueEqualsOrNot<Value>(child_vector.GetValue(child_value_idx),
83877
+ value_vector.GetValue(value_index))) {
83878
+ result_entries[list_index] = OP::UpdateResultEntries(child_idx);
83879
+ break; // Found value in list, no need to look further
83880
+ }
83881
+ }
83882
+ }
83883
+ }
83884
+ }
83885
+
83886
+ template <class T, class OP>
83887
+ static void ListContainsOrPosition(DataChunk &args, ExpressionState &state, Vector &result) {
83888
+ switch (args.data[1].GetType().InternalType()) {
83889
+ case PhysicalType::BOOL:
83890
+ case PhysicalType::INT8:
83891
+ TemplatedContainsOrPosition<int8_t, T, OP>(args, state, result);
83892
+ break;
83893
+ case PhysicalType::INT16:
83894
+ TemplatedContainsOrPosition<int16_t, T, OP>(args, state, result);
83895
+ break;
83896
+ case PhysicalType::INT32:
83897
+ TemplatedContainsOrPosition<int32_t, T, OP>(args, state, result);
83898
+ break;
83899
+ case PhysicalType::INT64:
83900
+ TemplatedContainsOrPosition<int64_t, T, OP>(args, state, result);
83901
+ break;
83902
+ case PhysicalType::INT128:
83903
+ TemplatedContainsOrPosition<hugeint_t, T, OP>(args, state, result);
83904
+ break;
83905
+ case PhysicalType::UINT8:
83906
+ TemplatedContainsOrPosition<uint8_t, T, OP>(args, state, result);
83907
+ break;
83908
+ case PhysicalType::UINT16:
83909
+ TemplatedContainsOrPosition<uint16_t, T, OP>(args, state, result);
83910
+ break;
83911
+ case PhysicalType::UINT32:
83912
+ TemplatedContainsOrPosition<uint32_t, T, OP>(args, state, result);
83913
+ break;
83914
+ case PhysicalType::UINT64:
83915
+ TemplatedContainsOrPosition<uint64_t, T, OP>(args, state, result);
83916
+ break;
83917
+ case PhysicalType::FLOAT:
83918
+ TemplatedContainsOrPosition<float, T, OP>(args, state, result);
83919
+ break;
83920
+ case PhysicalType::DOUBLE:
83921
+ TemplatedContainsOrPosition<double, T, OP>(args, state, result);
83922
+ break;
83923
+ case PhysicalType::VARCHAR:
83924
+ TemplatedContainsOrPosition<string_t, T, OP>(args, state, result);
83925
+ break;
83926
+ case PhysicalType::MAP:
83927
+ case PhysicalType::STRUCT:
83928
+ case PhysicalType::LIST:
83929
+ TemplatedContainsOrPosition<int8_t, T, OP>(args, state, result, true);
83930
+ break;
83931
+ default:
83932
+ throw NotImplementedException("This function has not been implemented for this type");
83933
+ }
83934
+ }
83935
+
83936
+ static void ListContainsFunction(DataChunk &args, ExpressionState &state, Vector &result) {
83937
+ return ListContainsOrPosition<bool, ContainsFunctor>(args, state, result);
83938
+ }
83939
+
83940
+ static void ListPositionFunction(DataChunk &args, ExpressionState &state, Vector &result) {
83941
+ return ListContainsOrPosition<int32_t, PositionFunctor>(args, state, result);
83942
+ }
83943
+
83944
+ template <LogicalTypeId RETURN_TYPE>
83945
+ static unique_ptr<FunctionData> ListContainsOrPositionBind(ClientContext &context, ScalarFunction &bound_function,
83946
+ vector<unique_ptr<Expression>> &arguments) {
83947
+ D_ASSERT(bound_function.arguments.size() == 2);
83948
+
83949
+ const auto &list = arguments[0]->return_type; // change to list
83950
+ const auto &value = arguments[1]->return_type;
83951
+ if (list.id() == LogicalTypeId::SQLNULL && value.id() == LogicalTypeId::SQLNULL) {
83952
+ bound_function.arguments[0] = LogicalType::SQLNULL;
83953
+ bound_function.arguments[1] = LogicalType::SQLNULL;
83954
+ bound_function.return_type = LogicalType::SQLNULL;
83955
+ } else if (list.id() == LogicalTypeId::SQLNULL || value.id() == LogicalTypeId::SQLNULL) {
83956
+ // In case either the list or the value is NULL, return NULL
83957
+ // Similar to behaviour of prestoDB
83958
+ bound_function.arguments[0] = list;
83959
+ bound_function.arguments[1] = value;
83960
+ bound_function.return_type = LogicalTypeId::SQLNULL;
83961
+ } else {
83962
+ auto const &child_type = ListType::GetChildType(arguments[0]->return_type);
83963
+ auto max_child_type = LogicalType::MaxLogicalType(child_type, value);
83964
+ ExpressionBinder::ResolveParameterType(max_child_type);
83965
+ auto list_type = LogicalType::LIST(max_child_type);
83966
+
83967
+ bound_function.arguments[0] = list_type;
83968
+ bound_function.arguments[1] = value == max_child_type ? value : max_child_type;
83969
+
83970
+ // list_contains and list_position only differ in their return type
83971
+ bound_function.return_type = RETURN_TYPE;
83972
+ }
83973
+ return make_unique<VariableReturnBindData>(bound_function.return_type);
83974
+ }
83975
+
83976
+ static unique_ptr<FunctionData> ListContainsBind(ClientContext &context, ScalarFunction &bound_function,
83977
+ vector<unique_ptr<Expression>> &arguments) {
83978
+ return ListContainsOrPositionBind<LogicalType::BOOLEAN>(context, bound_function, arguments);
83979
+ }
83980
+
83981
+ static unique_ptr<FunctionData> ListPositionBind(ClientContext &context, ScalarFunction &bound_function,
83982
+ vector<unique_ptr<Expression>> &arguments) {
83983
+ return ListContainsOrPositionBind<LogicalType::INTEGER>(context, bound_function, arguments);
83984
+ }
83985
+
83986
+ ScalarFunction ListContainsFun::GetFunction() {
83987
+ return ScalarFunction({LogicalType::LIST(LogicalType::ANY), LogicalType::ANY}, // argument list
83988
+ LogicalType::BOOLEAN, // return type
83989
+ ListContainsFunction, false, ListContainsBind, nullptr);
83990
+ }
83991
+
83992
+ ScalarFunction ListPositionFun::GetFunction() {
83993
+ return ScalarFunction({LogicalType::LIST(LogicalType::ANY), LogicalType::ANY}, // argument list
83994
+ LogicalType::INTEGER, // return type
83995
+ ListPositionFunction, false, ListPositionBind, nullptr);
83996
+ }
83997
+
83998
+ void ListContainsFun::RegisterFunction(BuiltinFunctions &set) {
83999
+ set.AddFunction({"list_contains", "array_contains", "list_has", "array_has"}, GetFunction());
84000
+ }
84001
+
84002
+ void ListPositionFun::RegisterFunction(BuiltinFunctions &set) {
84003
+ set.AddFunction({"list_position", "list_indexof", "array_position", "array_indexof"}, GetFunction());
84004
+ }
84005
+ } // namespace duckdb
84006
+
84007
+
84008
+
83746
84009
  //===----------------------------------------------------------------------===//
83747
84010
  // DuckDB
83748
84011
  //
@@ -83915,226 +84178,6 @@ void ListConcatFun::RegisterFunction(BuiltinFunctions &set) {
83915
84178
 
83916
84179
 
83917
84180
 
83918
- namespace duckdb {
83919
-
83920
- template <class T>
83921
- static inline bool ValueCompare(const T &left, const T &right) {
83922
- return left == right;
83923
- }
83924
-
83925
- template <>
83926
- inline bool ValueCompare(const string_t &left, const string_t &right) {
83927
- return StringComparisonOperators::EqualsOrNot<false>(left, right);
83928
- }
83929
-
83930
- template <>
83931
- inline bool ValueCompare(const Value &left, const Value &right) {
83932
- return left == right;
83933
- }
83934
-
83935
- template <class T>
83936
- static void TemplatedListContainsFunction(DataChunk &args, ExpressionState &state, Vector &result) {
83937
- D_ASSERT(args.ColumnCount() == 2);
83938
- auto count = args.size();
83939
- Vector &list = args.data[0];
83940
- Vector &value_vector = args.data[1];
83941
-
83942
- result.SetVectorType(VectorType::FLAT_VECTOR);
83943
- auto result_entries = FlatVector::GetData<bool>(result); // Create a vector of bool
83944
- auto &result_validity = FlatVector::Validity(result);
83945
-
83946
- if (list.GetType().id() == LogicalTypeId::SQLNULL) {
83947
- result_validity.SetInvalid(0);
83948
- return;
83949
- }
83950
-
83951
- auto list_size = ListVector::GetListSize(list);
83952
- auto &child_vector = ListVector::GetEntry(list);
83953
-
83954
- VectorData child_data;
83955
- child_vector.Orrify(list_size, child_data);
83956
-
83957
- VectorData list_data;
83958
- list.Orrify(count, list_data);
83959
- auto list_entries = (list_entry_t *)list_data.data;
83960
-
83961
- VectorData value_data;
83962
- value_vector.Orrify(count, value_data);
83963
-
83964
- for (idx_t i = 0; i < count; i++) {
83965
- auto list_index = list_data.sel->get_index(i);
83966
- auto value_index = value_data.sel->get_index(i);
83967
-
83968
- if (!list_data.validity.RowIsValid(list_index) || !value_data.validity.RowIsValid(value_index)) {
83969
- result_validity.SetInvalid(i);
83970
- continue;
83971
- }
83972
-
83973
- const auto &list_entry = list_entries[list_index];
83974
- auto source_idx = child_data.sel->get_index(list_entry.offset);
83975
- auto child_value = FlatVector::GetData<T>(child_vector);
83976
-
83977
- auto values = FlatVector::GetData<T>(value_vector);
83978
- result_entries[list_index] = false;
83979
- for (idx_t child_idx = 0; child_idx < list_entry.length; child_idx++) {
83980
- auto child_value_idx = source_idx + child_idx;
83981
-
83982
- if (!child_data.validity.RowIsValid(child_value_idx)) {
83983
- continue;
83984
- }
83985
- if (ValueCompare<T>(child_value[child_value_idx], values[value_index])) {
83986
- result_entries[list_index] = true;
83987
- break; // Found value in list, no need to look further
83988
- }
83989
- }
83990
- }
83991
- }
83992
-
83993
- static void NestedListContainsFunction(DataChunk &args, ExpressionState &state, Vector &result) {
83994
- D_ASSERT(args.ColumnCount() == 2);
83995
- auto count = args.size();
83996
- Vector &list = args.data[0];
83997
- Vector &value_vector = args.data[1];
83998
-
83999
- result.SetVectorType(VectorType::FLAT_VECTOR);
84000
- auto result_entries = FlatVector::GetData<bool>(result); // Create a vector of bool
84001
- auto &result_validity = FlatVector::Validity(result);
84002
-
84003
- if (list.GetType().id() == LogicalTypeId::SQLNULL) {
84004
- result_validity.SetInvalid(0);
84005
- return;
84006
- }
84007
-
84008
- auto list_size = ListVector::GetListSize(list);
84009
- auto &child_vector = ListVector::GetEntry(list);
84010
-
84011
- VectorData child_data;
84012
- child_vector.Orrify(list_size, child_data);
84013
-
84014
- VectorData list_data;
84015
- list.Orrify(count, list_data);
84016
- auto list_entries = (list_entry_t *)list_data.data;
84017
-
84018
- VectorData value_data;
84019
- value_vector.Orrify(count, value_data);
84020
-
84021
- for (idx_t i = 0; i < count; i++) {
84022
- auto list_index = list_data.sel->get_index(i);
84023
- auto value_index = value_data.sel->get_index(i);
84024
-
84025
- if (!list_data.validity.RowIsValid(list_index) || !value_data.validity.RowIsValid(value_index)) {
84026
- result_validity.SetInvalid(i);
84027
- continue;
84028
- }
84029
-
84030
- const auto &list_entry = list_entries[list_index];
84031
- auto source_idx = child_data.sel->get_index(list_entry.offset);
84032
-
84033
- result_entries[list_index] = false;
84034
- for (idx_t child_idx = 0; child_idx < list_entry.length; child_idx++) {
84035
- auto child_value_idx = source_idx + child_idx;
84036
- if (!child_data.validity.RowIsValid(child_value_idx)) {
84037
- continue;
84038
- }
84039
- if (ValueCompare<Value>(child_vector.GetValue(child_value_idx), value_vector.GetValue(value_index))) {
84040
- result_entries[list_index] = true;
84041
- break; // Found value in list, no need to look further
84042
- }
84043
- }
84044
- }
84045
- }
84046
-
84047
- static void ListContainsFunction(DataChunk &args, ExpressionState &state, Vector &result) {
84048
- switch (args.data[1].GetType().InternalType()) {
84049
- case PhysicalType::BOOL:
84050
- case PhysicalType::INT8:
84051
- TemplatedListContainsFunction<int8_t>(args, state, result);
84052
- break;
84053
- case PhysicalType::INT16:
84054
- TemplatedListContainsFunction<int16_t>(args, state, result);
84055
- break;
84056
- case PhysicalType::INT32:
84057
- TemplatedListContainsFunction<int32_t>(args, state, result);
84058
- break;
84059
- case PhysicalType::INT64:
84060
- TemplatedListContainsFunction<int64_t>(args, state, result);
84061
- break;
84062
- case PhysicalType::INT128:
84063
- TemplatedListContainsFunction<hugeint_t>(args, state, result);
84064
- break;
84065
- case PhysicalType::UINT8:
84066
- TemplatedListContainsFunction<uint8_t>(args, state, result);
84067
- break;
84068
- case PhysicalType::UINT16:
84069
- TemplatedListContainsFunction<uint16_t>(args, state, result);
84070
- break;
84071
- case PhysicalType::UINT32:
84072
- TemplatedListContainsFunction<uint32_t>(args, state, result);
84073
- break;
84074
- case PhysicalType::UINT64:
84075
- TemplatedListContainsFunction<uint64_t>(args, state, result);
84076
- break;
84077
- case PhysicalType::FLOAT:
84078
- TemplatedListContainsFunction<float>(args, state, result);
84079
- break;
84080
- case PhysicalType::DOUBLE:
84081
- TemplatedListContainsFunction<double>(args, state, result);
84082
- break;
84083
- case PhysicalType::VARCHAR:
84084
- TemplatedListContainsFunction<string_t>(args, state, result);
84085
- break;
84086
- case PhysicalType::MAP:
84087
- case PhysicalType::STRUCT:
84088
- case PhysicalType::LIST:
84089
- NestedListContainsFunction(args, state, result);
84090
- break;
84091
- default:
84092
- throw NotImplementedException("This function has not been implemented for this type");
84093
- }
84094
- }
84095
-
84096
- static unique_ptr<FunctionData> ListContainsBind(ClientContext &context, ScalarFunction &bound_function,
84097
- vector<unique_ptr<Expression>> &arguments) {
84098
- D_ASSERT(bound_function.arguments.size() == 2);
84099
-
84100
- const auto &list = arguments[0]->return_type; // change to list
84101
- const auto &value = arguments[1]->return_type;
84102
- if (list.id() == LogicalTypeId::SQLNULL && value.id() == LogicalTypeId::SQLNULL) {
84103
- bound_function.arguments[0] = LogicalType::SQLNULL;
84104
- bound_function.arguments[1] = LogicalType::SQLNULL;
84105
- bound_function.return_type = LogicalType::SQLNULL;
84106
- } else if (list.id() == LogicalTypeId::SQLNULL || value.id() == LogicalTypeId::SQLNULL) {
84107
- // In case either the list or the value is NULL, return NULL
84108
- // Similar to behaviour of prestoDB
84109
- bound_function.arguments[0] = list;
84110
- bound_function.arguments[1] = value;
84111
- bound_function.return_type = LogicalTypeId::SQLNULL;
84112
- } else {
84113
- auto const &child_type = ListType::GetChildType(arguments[0]->return_type);
84114
- auto max_child_type = LogicalType::MaxLogicalType(child_type, value);
84115
- ExpressionBinder::ResolveParameterType(max_child_type);
84116
- auto list_type = LogicalType::LIST(max_child_type);
84117
-
84118
- bound_function.arguments[0] = list_type;
84119
- bound_function.arguments[1] = value == max_child_type ? value : max_child_type;
84120
- bound_function.return_type = LogicalType::BOOLEAN;
84121
- }
84122
- return make_unique<VariableReturnBindData>(bound_function.return_type);
84123
- }
84124
-
84125
- ScalarFunction ListContainsFun::GetFunction() {
84126
- return ScalarFunction({LogicalType::LIST(LogicalType::ANY), LogicalType::ANY}, // argument list
84127
- LogicalType::BOOLEAN, // return type
84128
- ListContainsFunction, false, ListContainsBind, nullptr);
84129
- }
84130
-
84131
- void ListContainsFun::RegisterFunction(BuiltinFunctions &set) {
84132
- set.AddFunction({"list_contains", "array_contains", "list_has", "array_has"}, GetFunction());
84133
- }
84134
- } // namespace duckdb
84135
-
84136
-
84137
-
84138
84181
 
84139
84182
 
84140
84183
 
@@ -86186,6 +86229,7 @@ void BuiltinFunctions::RegisterNestedFunctions() {
86186
86229
  Register<StructExtractFun>();
86187
86230
  Register<ListConcatFun>();
86188
86231
  Register<ListContainsFun>();
86232
+ Register<ListPositionFun>();
86189
86233
  Register<ListValueFun>();
86190
86234
  Register<ListExtractFun>();
86191
86235
  Register<ListRangeFun>();
@@ -104266,7 +104310,7 @@ class SelectStatement;
104266
104310
 
104267
104311
  class QueryRelation : public Relation {
104268
104312
  public:
104269
- QueryRelation(ClientContext &context, unique_ptr<SelectStatement> select_stmt, string alias);
104313
+ QueryRelation(const std::shared_ptr<ClientContext> &context, unique_ptr<SelectStatement> select_stmt, string alias);
104270
104314
  ~QueryRelation();
104271
104315
 
104272
104316
  unique_ptr<SelectStatement> select_stmt;
@@ -104304,8 +104348,8 @@ namespace duckdb {
104304
104348
 
104305
104349
  class ReadCSVRelation : public Relation {
104306
104350
  public:
104307
- ReadCSVRelation(ClientContext &context, string csv_file, vector<ColumnDefinition> columns, bool auto_detect = false,
104308
- string alias = string());
104351
+ ReadCSVRelation(const std::shared_ptr<ClientContext> &context, string csv_file, vector<ColumnDefinition> columns,
104352
+ bool auto_detect = false, string alias = string());
104309
104353
 
104310
104354
  string csv_file;
104311
104355
  bool auto_detect;
@@ -104339,7 +104383,7 @@ namespace duckdb {
104339
104383
 
104340
104384
  class TableRelation : public Relation {
104341
104385
  public:
104342
- TableRelation(ClientContext &context, unique_ptr<TableDescription> description);
104386
+ TableRelation(const std::shared_ptr<ClientContext> &context, unique_ptr<TableDescription> description);
104343
104387
 
104344
104388
  unique_ptr<TableDescription> description;
104345
104389
 
@@ -104374,10 +104418,10 @@ namespace duckdb {
104374
104418
 
104375
104419
  class TableFunctionRelation : public Relation {
104376
104420
  public:
104377
- TableFunctionRelation(ClientContext &context, string name, vector<Value> parameters,
104421
+ TableFunctionRelation(const std::shared_ptr<ClientContext> &context, string name, vector<Value> parameters,
104378
104422
  named_parameter_map_t named_parameters, shared_ptr<Relation> input_relation_p = nullptr);
104379
104423
 
104380
- TableFunctionRelation(ClientContext &context, string name, vector<Value> parameters,
104424
+ TableFunctionRelation(const std::shared_ptr<ClientContext> &context, string name, vector<Value> parameters,
104381
104425
  shared_ptr<Relation> input_relation_p = nullptr);
104382
104426
 
104383
104427
  string name;
@@ -104414,9 +104458,10 @@ namespace duckdb {
104414
104458
 
104415
104459
  class ValueRelation : public Relation {
104416
104460
  public:
104417
- ValueRelation(ClientContext &context, const vector<vector<Value>> &values, vector<string> names,
104461
+ ValueRelation(const std::shared_ptr<ClientContext> &context, const vector<vector<Value>> &values,
104462
+ vector<string> names, string alias = "values");
104463
+ ValueRelation(const std::shared_ptr<ClientContext> &context, const string &values, vector<string> names,
104418
104464
  string alias = "values");
104419
- ValueRelation(ClientContext &context, const string &values, vector<string> names, string alias = "values");
104420
104465
 
104421
104466
  vector<vector<unique_ptr<ParsedExpression>>> expressions;
104422
104467
  vector<string> names;
@@ -104451,7 +104496,7 @@ namespace duckdb {
104451
104496
 
104452
104497
  class ViewRelation : public Relation {
104453
104498
  public:
104454
- ViewRelation(ClientContext &context, string schema_name, string view_name);
104499
+ ViewRelation(const std::shared_ptr<ClientContext> &context, string schema_name, string view_name);
104455
104500
 
104456
104501
  string schema_name;
104457
104502
  string view_name;
@@ -104646,7 +104691,7 @@ shared_ptr<Relation> Connection::Table(const string &schema_name, const string &
104646
104691
  if (!table_info) {
104647
104692
  throw Exception("Table does not exist!");
104648
104693
  }
104649
- return make_shared<TableRelation>(*context, move(table_info));
104694
+ return make_shared<TableRelation>(context, move(table_info));
104650
104695
  }
104651
104696
 
104652
104697
  shared_ptr<Relation> Connection::View(const string &tname) {
@@ -104654,7 +104699,7 @@ shared_ptr<Relation> Connection::View(const string &tname) {
104654
104699
  }
104655
104700
 
104656
104701
  shared_ptr<Relation> Connection::View(const string &schema_name, const string &table_name) {
104657
- return make_shared<ViewRelation>(*context, schema_name, table_name);
104702
+ return make_shared<ViewRelation>(context, schema_name, table_name);
104658
104703
  }
104659
104704
 
104660
104705
  shared_ptr<Relation> Connection::TableFunction(const string &fname) {
@@ -104665,11 +104710,11 @@ shared_ptr<Relation> Connection::TableFunction(const string &fname) {
104665
104710
 
104666
104711
  shared_ptr<Relation> Connection::TableFunction(const string &fname, const vector<Value> &values,
104667
104712
  const named_parameter_map_t &named_parameters) {
104668
- return make_shared<TableFunctionRelation>(*context, fname, values, named_parameters);
104713
+ return make_shared<TableFunctionRelation>(context, fname, values, named_parameters);
104669
104714
  }
104670
104715
 
104671
104716
  shared_ptr<Relation> Connection::TableFunction(const string &fname, const vector<Value> &values) {
104672
- return make_shared<TableFunctionRelation>(*context, fname, values);
104717
+ return make_shared<TableFunctionRelation>(context, fname, values);
104673
104718
  }
104674
104719
 
104675
104720
  shared_ptr<Relation> Connection::Values(const vector<vector<Value>> &values) {
@@ -104679,7 +104724,7 @@ shared_ptr<Relation> Connection::Values(const vector<vector<Value>> &values) {
104679
104724
 
104680
104725
  shared_ptr<Relation> Connection::Values(const vector<vector<Value>> &values, const vector<string> &column_names,
104681
104726
  const string &alias) {
104682
- return make_shared<ValueRelation>(*context, values, column_names, alias);
104727
+ return make_shared<ValueRelation>(context, values, column_names, alias);
104683
104728
  }
104684
104729
 
104685
104730
  shared_ptr<Relation> Connection::Values(const string &values) {
@@ -104688,7 +104733,7 @@ shared_ptr<Relation> Connection::Values(const string &values) {
104688
104733
  }
104689
104734
 
104690
104735
  shared_ptr<Relation> Connection::Values(const string &values, const vector<string> &column_names, const string &alias) {
104691
- return make_shared<ValueRelation>(*context, values, column_names, alias);
104736
+ return make_shared<ValueRelation>(context, values, column_names, alias);
104692
104737
  }
104693
104738
 
104694
104739
  shared_ptr<Relation> Connection::ReadCSV(const string &csv_file) {
@@ -104700,7 +104745,7 @@ shared_ptr<Relation> Connection::ReadCSV(const string &csv_file) {
104700
104745
  for (idx_t i = 0; i < reader.sql_types.size(); i++) {
104701
104746
  column_list.emplace_back(reader.col_names[i], reader.sql_types[i]);
104702
104747
  }
104703
- return make_shared<ReadCSVRelation>(*context, csv_file, move(column_list), true);
104748
+ return make_shared<ReadCSVRelation>(context, csv_file, move(column_list), true);
104704
104749
  }
104705
104750
 
104706
104751
  shared_ptr<Relation> Connection::ReadCSV(const string &csv_file, const vector<string> &columns) {
@@ -104713,19 +104758,19 @@ shared_ptr<Relation> Connection::ReadCSV(const string &csv_file, const vector<st
104713
104758
  }
104714
104759
  column_list.push_back(move(col_list[0]));
104715
104760
  }
104716
- return make_shared<ReadCSVRelation>(*context, csv_file, move(column_list));
104761
+ return make_shared<ReadCSVRelation>(context, csv_file, move(column_list));
104717
104762
  }
104718
104763
 
104719
104764
  unordered_set<string> Connection::GetTableNames(const string &query) {
104720
104765
  return context->GetTableNames(query);
104721
104766
  }
104722
104767
 
104723
- shared_ptr<Relation> Connection::RelationFromQuery(const string &query, string alias, const string &error) {
104724
- return RelationFromQuery(QueryRelation::ParseStatement(*context, query, error), move(alias));
104768
+ shared_ptr<Relation> Connection::RelationFromQuery(const string &query, const string &alias, const string &error) {
104769
+ return RelationFromQuery(QueryRelation::ParseStatement(*context, query, error), alias);
104725
104770
  }
104726
104771
 
104727
- shared_ptr<Relation> Connection::RelationFromQuery(unique_ptr<SelectStatement> select_stmt, string alias) {
104728
- return make_shared<QueryRelation>(*context, move(select_stmt), move(alias));
104772
+ shared_ptr<Relation> Connection::RelationFromQuery(unique_ptr<SelectStatement> select_stmt, const string &alias) {
104773
+ return make_shared<QueryRelation>(context, move(select_stmt), alias);
104729
104774
  }
104730
104775
 
104731
104776
  void Connection::BeginTransaction() {
@@ -114943,7 +114988,7 @@ AggregateRelation::AggregateRelation(shared_ptr<Relation> child_p,
114943
114988
  : Relation(child_p->context, RelationType::AGGREGATE_RELATION), expressions(move(parsed_expressions)),
114944
114989
  child(move(child_p)) {
114945
114990
  // bind the expressions
114946
- context.TryBindRelation(*this, this->columns);
114991
+ context.GetContext()->TryBindRelation(*this, this->columns);
114947
114992
  }
114948
114993
 
114949
114994
  AggregateRelation::AggregateRelation(shared_ptr<Relation> child_p,
@@ -114952,7 +114997,7 @@ AggregateRelation::AggregateRelation(shared_ptr<Relation> child_p,
114952
114997
  : Relation(child_p->context, RelationType::AGGREGATE_RELATION), expressions(move(parsed_expressions)),
114953
114998
  groups(move(groups_p)), child(move(child_p)) {
114954
114999
  // bind the expressions
114955
- context.TryBindRelation(*this, this->columns);
115000
+ context.GetContext()->TryBindRelation(*this, this->columns);
114956
115001
  }
114957
115002
 
114958
115003
  unique_ptr<QueryNode> AggregateRelation::GetQueryNode() {
@@ -115088,7 +115133,7 @@ namespace duckdb {
115088
115133
  CreateTableRelation::CreateTableRelation(shared_ptr<Relation> child_p, string schema_name, string table_name)
115089
115134
  : Relation(child_p->context, RelationType::CREATE_TABLE_RELATION), child(move(child_p)),
115090
115135
  schema_name(move(schema_name)), table_name(move(table_name)) {
115091
- context.TryBindRelation(*this, this->columns);
115136
+ context.GetContext()->TryBindRelation(*this, this->columns);
115092
115137
  }
115093
115138
 
115094
115139
  BoundStatement CreateTableRelation::Bind(Binder &binder) {
@@ -115161,7 +115206,7 @@ CreateViewRelation::CreateViewRelation(shared_ptr<Relation> child_p, string view
115161
115206
  bool temporary_p)
115162
115207
  : Relation(child_p->context, RelationType::CREATE_VIEW_RELATION), child(move(child_p)),
115163
115208
  view_name(move(view_name_p)), replace(replace_p), temporary(temporary_p) {
115164
- context.TryBindRelation(*this, this->columns);
115209
+ context.GetContext()->TryBindRelation(*this, this->columns);
115165
115210
  }
115166
115211
 
115167
115212
  BoundStatement CreateViewRelation::Bind(Binder &binder) {
@@ -115231,10 +115276,10 @@ namespace duckdb {
115231
115276
 
115232
115277
  CrossProductRelation::CrossProductRelation(shared_ptr<Relation> left_p, shared_ptr<Relation> right_p)
115233
115278
  : Relation(left_p->context, RelationType::CROSS_PRODUCT_RELATION), left(move(left_p)), right(move(right_p)) {
115234
- if (&left->context != &right->context) {
115279
+ if (left->context.GetContext() != right->context.GetContext()) {
115235
115280
  throw Exception("Cannot combine LEFT and RIGHT relations of different connections!");
115236
115281
  }
115237
- context.TryBindRelation(*this, this->columns);
115282
+ context.GetContext()->TryBindRelation(*this, this->columns);
115238
115283
  }
115239
115284
 
115240
115285
  unique_ptr<QueryNode> CrossProductRelation::GetQueryNode() {
@@ -115279,7 +115324,7 @@ namespace duckdb {
115279
115324
 
115280
115325
  class DeleteRelation : public Relation {
115281
115326
  public:
115282
- DeleteRelation(ClientContext &context, unique_ptr<ParsedExpression> condition, string schema_name,
115327
+ DeleteRelation(ClientContextWrapper &context, unique_ptr<ParsedExpression> condition, string schema_name,
115283
115328
  string table_name);
115284
115329
 
115285
115330
  vector<ColumnDefinition> columns;
@@ -115337,11 +115382,11 @@ public:
115337
115382
 
115338
115383
  namespace duckdb {
115339
115384
 
115340
- DeleteRelation::DeleteRelation(ClientContext &context, unique_ptr<ParsedExpression> condition_p, string schema_name_p,
115341
- string table_name_p)
115385
+ DeleteRelation::DeleteRelation(ClientContextWrapper &context, unique_ptr<ParsedExpression> condition_p,
115386
+ string schema_name_p, string table_name_p)
115342
115387
  : Relation(context, RelationType::DELETE_RELATION), condition(move(condition_p)), schema_name(move(schema_name_p)),
115343
115388
  table_name(move(table_name_p)) {
115344
- context.TryBindRelation(*this, this->columns);
115389
+ context.GetContext()->TryBindRelation(*this, this->columns);
115345
115390
  }
115346
115391
 
115347
115392
  BoundStatement DeleteRelation::Bind(Binder &binder) {
@@ -115414,7 +115459,7 @@ namespace duckdb {
115414
115459
  DistinctRelation::DistinctRelation(shared_ptr<Relation> child_p)
115415
115460
  : Relation(child_p->context, RelationType::DISTINCT_RELATION), child(move(child_p)) {
115416
115461
  vector<ColumnDefinition> dummy_columns;
115417
- context.TryBindRelation(*this, dummy_columns);
115462
+ context.GetContext()->TryBindRelation(*this, dummy_columns);
115418
115463
  }
115419
115464
 
115420
115465
  unique_ptr<QueryNode> DistinctRelation::GetQueryNode() {
@@ -115480,7 +115525,7 @@ namespace duckdb {
115480
115525
 
115481
115526
  ExplainRelation::ExplainRelation(shared_ptr<Relation> child_p)
115482
115527
  : Relation(child_p->context, RelationType::EXPLAIN_RELATION), child(move(child_p)) {
115483
- context.TryBindRelation(*this, this->columns);
115528
+ context.GetContext()->TryBindRelation(*this, this->columns);
115484
115529
  }
115485
115530
 
115486
115531
  BoundStatement ExplainRelation::Bind(Binder &binder) {
@@ -115612,7 +115657,7 @@ namespace duckdb {
115612
115657
  FilterRelation::FilterRelation(shared_ptr<Relation> child_p, unique_ptr<ParsedExpression> condition_p)
115613
115658
  : Relation(child_p->context, RelationType::FILTER_RELATION), condition(move(condition_p)), child(move(child_p)) {
115614
115659
  vector<ColumnDefinition> dummy_columns;
115615
- context.TryBindRelation(*this, dummy_columns);
115660
+ context.GetContext()->TryBindRelation(*this, dummy_columns);
115616
115661
  }
115617
115662
 
115618
115663
  unique_ptr<QueryNode> FilterRelation::GetQueryNode() {
@@ -115737,7 +115782,7 @@ namespace duckdb {
115737
115782
  InsertRelation::InsertRelation(shared_ptr<Relation> child_p, string schema_name, string table_name)
115738
115783
  : Relation(child_p->context, RelationType::INSERT_RELATION), child(move(child_p)), schema_name(move(schema_name)),
115739
115784
  table_name(move(table_name)) {
115740
- context.TryBindRelation(*this, this->columns);
115785
+ context.GetContext()->TryBindRelation(*this, this->columns);
115741
115786
  }
115742
115787
 
115743
115788
  BoundStatement InsertRelation::Bind(Binder &binder) {
@@ -115811,20 +115856,20 @@ JoinRelation::JoinRelation(shared_ptr<Relation> left_p, shared_ptr<Relation> rig
115811
115856
  unique_ptr<ParsedExpression> condition_p, JoinType type)
115812
115857
  : Relation(left_p->context, RelationType::JOIN_RELATION), left(move(left_p)), right(move(right_p)),
115813
115858
  condition(move(condition_p)), join_type(type) {
115814
- if (&left->context != &right->context) {
115859
+ if (left->context.GetContext() != right->context.GetContext()) {
115815
115860
  throw Exception("Cannot combine LEFT and RIGHT relations of different connections!");
115816
115861
  }
115817
- context.TryBindRelation(*this, this->columns);
115862
+ context.GetContext()->TryBindRelation(*this, this->columns);
115818
115863
  }
115819
115864
 
115820
115865
  JoinRelation::JoinRelation(shared_ptr<Relation> left_p, shared_ptr<Relation> right_p, vector<string> using_columns_p,
115821
115866
  JoinType type)
115822
115867
  : Relation(left_p->context, RelationType::JOIN_RELATION), left(move(left_p)), right(move(right_p)),
115823
115868
  using_columns(move(using_columns_p)), join_type(type) {
115824
- if (&left->context != &right->context) {
115869
+ if (left->context.GetContext() != right->context.GetContext()) {
115825
115870
  throw Exception("Cannot combine LEFT and RIGHT relations of different connections!");
115826
115871
  }
115827
- context.TryBindRelation(*this, this->columns);
115872
+ context.GetContext()->TryBindRelation(*this, this->columns);
115828
115873
  }
115829
115874
 
115830
115875
  unique_ptr<QueryNode> JoinRelation::GetQueryNode() {
@@ -115991,7 +116036,7 @@ OrderRelation::OrderRelation(shared_ptr<Relation> child_p, vector<OrderByNode> o
115991
116036
  : Relation(child_p->context, RelationType::ORDER_RELATION), orders(move(orders)), child(move(child_p)) {
115992
116037
  // bind the expressions
115993
116038
  vector<ColumnDefinition> dummy_columns;
115994
- context.TryBindRelation(*this, dummy_columns);
116039
+ context.GetContext()->TryBindRelation(*this, dummy_columns);
115995
116040
  }
115996
116041
 
115997
116042
  unique_ptr<QueryNode> OrderRelation::GetQueryNode() {
@@ -116078,7 +116123,7 @@ ProjectionRelation::ProjectionRelation(shared_ptr<Relation> child_p,
116078
116123
  }
116079
116124
  }
116080
116125
  // bind the expressions
116081
- context.TryBindRelation(*this, this->columns);
116126
+ context.GetContext()->TryBindRelation(*this, this->columns);
116082
116127
  }
116083
116128
 
116084
116129
  unique_ptr<QueryNode> ProjectionRelation::GetQueryNode() {
@@ -116135,9 +116180,10 @@ string ProjectionRelation::ToString(idx_t depth) {
116135
116180
 
116136
116181
  namespace duckdb {
116137
116182
 
116138
- QueryRelation::QueryRelation(ClientContext &context, unique_ptr<SelectStatement> select_stmt_p, string alias_p)
116183
+ QueryRelation::QueryRelation(const std::shared_ptr<ClientContext> &context, unique_ptr<SelectStatement> select_stmt_p,
116184
+ string alias_p)
116139
116185
  : Relation(context, RelationType::QUERY_RELATION), select_stmt(move(select_stmt_p)), alias(move(alias_p)) {
116140
- context.TryBindRelation(*this, this->columns);
116186
+ context->TryBindRelation(*this, this->columns);
116141
116187
  }
116142
116188
 
116143
116189
  QueryRelation::~QueryRelation() {
@@ -116196,8 +116242,8 @@ string QueryRelation::ToString(idx_t depth) {
116196
116242
 
116197
116243
  namespace duckdb {
116198
116244
 
116199
- ReadCSVRelation::ReadCSVRelation(ClientContext &context, string csv_file_p, vector<ColumnDefinition> columns_p,
116200
- bool auto_detect, string alias_p)
116245
+ ReadCSVRelation::ReadCSVRelation(const std::shared_ptr<ClientContext> &context, string csv_file_p,
116246
+ vector<ColumnDefinition> columns_p, bool auto_detect, string alias_p)
116201
116247
  : Relation(context, RelationType::READ_CSV_RELATION), csv_file(move(csv_file_p)), auto_detect(auto_detect),
116202
116248
  alias(move(alias_p)), columns(move(columns_p)) {
116203
116249
  if (alias.empty()) {
@@ -116290,11 +116336,11 @@ namespace duckdb {
116290
116336
  SetOpRelation::SetOpRelation(shared_ptr<Relation> left_p, shared_ptr<Relation> right_p, SetOperationType setop_type_p)
116291
116337
  : Relation(left_p->context, RelationType::SET_OPERATION_RELATION), left(move(left_p)), right(move(right_p)),
116292
116338
  setop_type(setop_type_p) {
116293
- if (&left->context != &right->context) {
116339
+ if (left->context.GetContext() != right->context.GetContext()) {
116294
116340
  throw Exception("Cannot combine LEFT and RIGHT relations of different connections!");
116295
116341
  }
116296
116342
  vector<ColumnDefinition> dummy_columns;
116297
- context.TryBindRelation(*this, dummy_columns);
116343
+ context.GetContext()->TryBindRelation(*this, dummy_columns);
116298
116344
  }
116299
116345
 
116300
116346
  unique_ptr<QueryNode> SetOpRelation::GetQueryNode() {
@@ -116379,7 +116425,7 @@ namespace duckdb {
116379
116425
  SubqueryRelation::SubqueryRelation(shared_ptr<Relation> child_p, string alias_p)
116380
116426
  : Relation(child_p->context, RelationType::SUBQUERY_RELATION), child(move(child_p)), alias(move(alias_p)) {
116381
116427
  vector<ColumnDefinition> dummy_columns;
116382
- context.TryBindRelation(*this, dummy_columns);
116428
+ context.GetContext()->TryBindRelation(*this, dummy_columns);
116383
116429
  }
116384
116430
 
116385
116431
  unique_ptr<QueryNode> SubqueryRelation::GetQueryNode() {
@@ -116413,19 +116459,20 @@ string SubqueryRelation::ToString(idx_t depth) {
116413
116459
 
116414
116460
  namespace duckdb {
116415
116461
 
116416
- TableFunctionRelation::TableFunctionRelation(ClientContext &context, string name_p, vector<Value> parameters_p,
116417
- named_parameter_map_t named_parameters,
116462
+ TableFunctionRelation::TableFunctionRelation(const std::shared_ptr<ClientContext> &context, string name_p,
116463
+ vector<Value> parameters_p, named_parameter_map_t named_parameters,
116418
116464
  shared_ptr<Relation> input_relation_p)
116419
116465
  : Relation(context, RelationType::TABLE_FUNCTION_RELATION), name(move(name_p)), parameters(move(parameters_p)),
116420
116466
  named_parameters(move(named_parameters)), input_relation(move(input_relation_p)) {
116421
- context.TryBindRelation(*this, this->columns);
116467
+ context->TryBindRelation(*this, this->columns);
116422
116468
  }
116423
- TableFunctionRelation::TableFunctionRelation(ClientContext &context, string name_p, vector<Value> parameters_p,
116469
+ TableFunctionRelation::TableFunctionRelation(const std::shared_ptr<ClientContext> &context, string name_p,
116470
+ vector<Value> parameters_p,
116424
116471
 
116425
116472
  shared_ptr<Relation> input_relation_p)
116426
116473
  : Relation(context, RelationType::TABLE_FUNCTION_RELATION), name(move(name_p)), parameters(move(parameters_p)),
116427
116474
  input_relation(move(input_relation_p)) {
116428
- context.TryBindRelation(*this, this->columns);
116475
+ context->TryBindRelation(*this, this->columns);
116429
116476
  }
116430
116477
 
116431
116478
  unique_ptr<QueryNode> TableFunctionRelation::GetQueryNode() {
@@ -116508,7 +116555,7 @@ namespace duckdb {
116508
116555
 
116509
116556
  class UpdateRelation : public Relation {
116510
116557
  public:
116511
- UpdateRelation(ClientContext &context, unique_ptr<ParsedExpression> condition, string schema_name,
116558
+ UpdateRelation(ClientContextWrapper &context, unique_ptr<ParsedExpression> condition, string schema_name,
116512
116559
  string table_name, vector<string> update_columns, vector<unique_ptr<ParsedExpression>> expressions);
116513
116560
 
116514
116561
  vector<ColumnDefinition> columns;
@@ -116534,7 +116581,7 @@ public:
116534
116581
 
116535
116582
  namespace duckdb {
116536
116583
 
116537
- TableRelation::TableRelation(ClientContext &context, unique_ptr<TableDescription> description)
116584
+ TableRelation::TableRelation(const std::shared_ptr<ClientContext> &context, unique_ptr<TableDescription> description)
116538
116585
  : Relation(context, RelationType::TABLE_RELATION), description(move(description)) {
116539
116586
  }
116540
116587
 
@@ -116579,15 +116626,15 @@ static unique_ptr<ParsedExpression> ParseCondition(ClientContext &context, const
116579
116626
  void TableRelation::Update(const string &update_list, const string &condition) {
116580
116627
  vector<string> update_columns;
116581
116628
  vector<unique_ptr<ParsedExpression>> expressions;
116582
- auto cond = ParseCondition(context, condition);
116583
- Parser::ParseUpdateList(update_list, update_columns, expressions, context.GetParserOptions());
116629
+ auto cond = ParseCondition(*context.GetContext(), condition);
116630
+ Parser::ParseUpdateList(update_list, update_columns, expressions, context.GetContext()->GetParserOptions());
116584
116631
  auto update = make_shared<UpdateRelation>(context, move(cond), description->schema, description->table,
116585
116632
  move(update_columns), move(expressions));
116586
116633
  update->Execute();
116587
116634
  }
116588
116635
 
116589
116636
  void TableRelation::Delete(const string &condition) {
116590
- auto cond = ParseCondition(context, condition);
116637
+ auto cond = ParseCondition(*context.GetContext(), condition);
116591
116638
  auto del = make_shared<DeleteRelation>(context, move(cond), description->schema, description->table);
116592
116639
  del->Execute();
116593
116640
  }
@@ -116636,13 +116683,13 @@ public:
116636
116683
 
116637
116684
  namespace duckdb {
116638
116685
 
116639
- UpdateRelation::UpdateRelation(ClientContext &context, unique_ptr<ParsedExpression> condition_p, string schema_name_p,
116640
- string table_name_p, vector<string> update_columns_p,
116686
+ UpdateRelation::UpdateRelation(ClientContextWrapper &context, unique_ptr<ParsedExpression> condition_p,
116687
+ string schema_name_p, string table_name_p, vector<string> update_columns_p,
116641
116688
  vector<unique_ptr<ParsedExpression>> expressions_p)
116642
116689
  : Relation(context, RelationType::UPDATE_RELATION), condition(move(condition_p)), schema_name(move(schema_name_p)),
116643
116690
  table_name(move(table_name_p)), update_columns(move(update_columns_p)), expressions(move(expressions_p)) {
116644
116691
  D_ASSERT(update_columns.size() == expressions.size());
116645
- context.TryBindRelation(*this, this->columns);
116692
+ context.GetContext()->TryBindRelation(*this, this->columns);
116646
116693
  }
116647
116694
 
116648
116695
  BoundStatement UpdateRelation::Bind(Binder &binder) {
@@ -116686,8 +116733,8 @@ string UpdateRelation::ToString(idx_t depth) {
116686
116733
 
116687
116734
  namespace duckdb {
116688
116735
 
116689
- ValueRelation::ValueRelation(ClientContext &context, const vector<vector<Value>> &values, vector<string> names_p,
116690
- string alias_p)
116736
+ ValueRelation::ValueRelation(const std::shared_ptr<ClientContext> &context, const vector<vector<Value>> &values,
116737
+ vector<string> names_p, string alias_p)
116691
116738
  : Relation(context, RelationType::VALUE_LIST_RELATION), names(move(names_p)), alias(move(alias_p)) {
116692
116739
  // create constant expressions for the values
116693
116740
  for (idx_t row_idx = 0; row_idx < values.size(); row_idx++) {
@@ -116698,13 +116745,14 @@ ValueRelation::ValueRelation(ClientContext &context, const vector<vector<Value>>
116698
116745
  }
116699
116746
  this->expressions.push_back(move(expressions));
116700
116747
  }
116701
- context.TryBindRelation(*this, this->columns);
116748
+ context->TryBindRelation(*this, this->columns);
116702
116749
  }
116703
116750
 
116704
- ValueRelation::ValueRelation(ClientContext &context, const string &values_list, vector<string> names_p, string alias_p)
116751
+ ValueRelation::ValueRelation(const std::shared_ptr<ClientContext> &context, const string &values_list,
116752
+ vector<string> names_p, string alias_p)
116705
116753
  : Relation(context, RelationType::VALUE_LIST_RELATION), names(move(names_p)), alias(move(alias_p)) {
116706
- this->expressions = Parser::ParseValuesList(values_list, context.GetParserOptions());
116707
- context.TryBindRelation(*this, this->columns);
116754
+ this->expressions = Parser::ParseValuesList(values_list, context->GetParserOptions());
116755
+ context->TryBindRelation(*this, this->columns);
116708
116756
  }
116709
116757
 
116710
116758
  unique_ptr<QueryNode> ValueRelation::GetQueryNode() {
@@ -116775,9 +116823,9 @@ string ValueRelation::ToString(idx_t depth) {
116775
116823
 
116776
116824
  namespace duckdb {
116777
116825
 
116778
- ViewRelation::ViewRelation(ClientContext &context, string schema_name_p, string view_name_p)
116826
+ ViewRelation::ViewRelation(const std::shared_ptr<ClientContext> &context, string schema_name_p, string view_name_p)
116779
116827
  : Relation(context, RelationType::VIEW_RELATION), schema_name(move(schema_name_p)), view_name(move(view_name_p)) {
116780
- context.TryBindRelation(*this, this->columns);
116828
+ context->TryBindRelation(*this, this->columns);
116781
116829
  }
116782
116830
 
116783
116831
  unique_ptr<QueryNode> ViewRelation::GetQueryNode() {
@@ -116880,7 +116928,7 @@ namespace duckdb {
116880
116928
 
116881
116929
  WriteCSVRelation::WriteCSVRelation(shared_ptr<Relation> child_p, string csv_file_p)
116882
116930
  : Relation(child_p->context, RelationType::WRITE_CSV_RELATION), child(move(child_p)), csv_file(move(csv_file_p)) {
116883
- context.TryBindRelation(*this, this->columns);
116931
+ context.GetContext()->TryBindRelation(*this, this->columns);
116884
116932
  }
116885
116933
 
116886
116934
  BoundStatement WriteCSVRelation::Bind(Binder &binder) {
@@ -116942,7 +116990,7 @@ shared_ptr<Relation> Relation::Project(const string &expression, const string &a
116942
116990
  }
116943
116991
 
116944
116992
  shared_ptr<Relation> Relation::Project(const string &select_list, const vector<string> &aliases) {
116945
- auto expressions = Parser::ParseExpressionList(select_list, context.GetParserOptions());
116993
+ auto expressions = Parser::ParseExpressionList(select_list, context.GetContext()->GetParserOptions());
116946
116994
  return make_shared<ProjectionRelation>(shared_from_this(), move(expressions), aliases);
116947
116995
  }
116948
116996
 
@@ -116968,12 +117016,12 @@ static vector<unique_ptr<ParsedExpression>> StringListToExpressionList(ClientCon
116968
117016
  }
116969
117017
 
116970
117018
  shared_ptr<Relation> Relation::Project(const vector<string> &expressions, const vector<string> &aliases) {
116971
- auto result_list = StringListToExpressionList(context, expressions);
117019
+ auto result_list = StringListToExpressionList(*context.GetContext(), expressions);
116972
117020
  return make_shared<ProjectionRelation>(shared_from_this(), move(result_list), aliases);
116973
117021
  }
116974
117022
 
116975
117023
  shared_ptr<Relation> Relation::Filter(const string &expression) {
116976
- auto expression_list = Parser::ParseExpressionList(expression, context.GetParserOptions());
117024
+ auto expression_list = Parser::ParseExpressionList(expression, context.GetContext()->GetParserOptions());
116977
117025
  if (expression_list.size() != 1) {
116978
117026
  throw ParserException("Expected a single expression as filter condition");
116979
117027
  }
@@ -116982,7 +117030,7 @@ shared_ptr<Relation> Relation::Filter(const string &expression) {
116982
117030
 
116983
117031
  shared_ptr<Relation> Relation::Filter(const vector<string> &expressions) {
116984
117032
  // if there are multiple expressions, we AND them together
116985
- auto expression_list = StringListToExpressionList(context, expressions);
117033
+ auto expression_list = StringListToExpressionList(*context.GetContext(), expressions);
116986
117034
  D_ASSERT(!expression_list.empty());
116987
117035
 
116988
117036
  auto expr = move(expression_list[0]);
@@ -116998,7 +117046,7 @@ shared_ptr<Relation> Relation::Limit(int64_t limit, int64_t offset) {
116998
117046
  }
116999
117047
 
117000
117048
  shared_ptr<Relation> Relation::Order(const string &expression) {
117001
- auto order_list = Parser::ParseOrderList(expression, context.GetParserOptions());
117049
+ auto order_list = Parser::ParseOrderList(expression, context.GetContext()->GetParserOptions());
117002
117050
  return make_shared<OrderRelation>(shared_from_this(), move(order_list));
117003
117051
  }
117004
117052
 
@@ -117008,7 +117056,7 @@ shared_ptr<Relation> Relation::Order(const vector<string> &expressions) {
117008
117056
  }
117009
117057
  vector<OrderByNode> order_list;
117010
117058
  for (auto &expression : expressions) {
117011
- auto inner_list = Parser::ParseOrderList(expression, context.GetParserOptions());
117059
+ auto inner_list = Parser::ParseOrderList(expression, context.GetContext()->GetParserOptions());
117012
117060
  if (inner_list.size() != 1) {
117013
117061
  throw ParserException("Expected a single ORDER BY expression in the expression list");
117014
117062
  }
@@ -117018,7 +117066,7 @@ shared_ptr<Relation> Relation::Order(const vector<string> &expressions) {
117018
117066
  }
117019
117067
 
117020
117068
  shared_ptr<Relation> Relation::Join(const shared_ptr<Relation> &other, const string &condition, JoinType type) {
117021
- auto expression_list = Parser::ParseExpressionList(condition, context.GetParserOptions());
117069
+ auto expression_list = Parser::ParseExpressionList(condition, context.GetContext()->GetParserOptions());
117022
117070
  D_ASSERT(!expression_list.empty());
117023
117071
 
117024
117072
  if (expression_list.size() > 1 || expression_list[0]->type == ExpressionType::COLUMN_REF) {
@@ -117066,24 +117114,24 @@ shared_ptr<Relation> Relation::Alias(const string &alias) {
117066
117114
  }
117067
117115
 
117068
117116
  shared_ptr<Relation> Relation::Aggregate(const string &aggregate_list) {
117069
- auto expression_list = Parser::ParseExpressionList(aggregate_list, context.GetParserOptions());
117117
+ auto expression_list = Parser::ParseExpressionList(aggregate_list, context.GetContext()->GetParserOptions());
117070
117118
  return make_shared<AggregateRelation>(shared_from_this(), move(expression_list));
117071
117119
  }
117072
117120
 
117073
117121
  shared_ptr<Relation> Relation::Aggregate(const string &aggregate_list, const string &group_list) {
117074
- auto expression_list = Parser::ParseExpressionList(aggregate_list, context.GetParserOptions());
117075
- auto groups = Parser::ParseExpressionList(group_list, context.GetParserOptions());
117122
+ auto expression_list = Parser::ParseExpressionList(aggregate_list, context.GetContext()->GetParserOptions());
117123
+ auto groups = Parser::ParseExpressionList(group_list, context.GetContext()->GetParserOptions());
117076
117124
  return make_shared<AggregateRelation>(shared_from_this(), move(expression_list), move(groups));
117077
117125
  }
117078
117126
 
117079
117127
  shared_ptr<Relation> Relation::Aggregate(const vector<string> &aggregates) {
117080
- auto aggregate_list = StringListToExpressionList(context, aggregates);
117128
+ auto aggregate_list = StringListToExpressionList(*context.GetContext(), aggregates);
117081
117129
  return make_shared<AggregateRelation>(shared_from_this(), move(aggregate_list));
117082
117130
  }
117083
117131
 
117084
117132
  shared_ptr<Relation> Relation::Aggregate(const vector<string> &aggregates, const vector<string> &groups) {
117085
- auto aggregate_list = StringListToExpressionList(context, aggregates);
117086
- auto group_list = StringListToExpressionList(context, groups);
117133
+ auto aggregate_list = StringListToExpressionList(*context.GetContext(), aggregates);
117134
+ auto group_list = StringListToExpressionList(*context.GetContext(), groups);
117087
117135
  return make_shared<AggregateRelation>(shared_from_this(), move(aggregate_list), move(group_list));
117088
117136
  }
117089
117137
 
@@ -117098,7 +117146,7 @@ unique_ptr<TableRef> Relation::GetTableRef() {
117098
117146
  }
117099
117147
 
117100
117148
  unique_ptr<QueryResult> Relation::Execute() {
117101
- return context.Execute(shared_from_this());
117149
+ return context.GetContext()->Execute(shared_from_this());
117102
117150
  }
117103
117151
 
117104
117152
  BoundStatement Relation::Bind(Binder &binder) {
@@ -117121,7 +117169,7 @@ void Relation::Insert(const string &schema_name, const string &table_name) {
117121
117169
 
117122
117170
  void Relation::Insert(const vector<vector<Value>> &values) {
117123
117171
  vector<string> column_names;
117124
- auto rel = make_shared<ValueRelation>(context, values, move(column_names), "values");
117172
+ auto rel = make_shared<ValueRelation>(context.GetContext(), values, move(column_names), "values");
117125
117173
  rel->Insert(GetAlias());
117126
117174
  }
117127
117175
 
@@ -117155,7 +117203,7 @@ shared_ptr<Relation> Relation::CreateView(const string &name, bool replace, bool
117155
117203
  }
117156
117204
 
117157
117205
  unique_ptr<QueryResult> Relation::Query(const string &sql) {
117158
- return context.Query(sql, false);
117206
+ return context.GetContext()->Query(sql, false);
117159
117207
  }
117160
117208
 
117161
117209
  unique_ptr<QueryResult> Relation::Query(const string &name, const string &sql) {
@@ -117178,11 +117226,12 @@ void Relation::Delete(const string &condition) {
117178
117226
 
117179
117227
  shared_ptr<Relation> Relation::TableFunction(const std::string &fname, const vector<Value> &values,
117180
117228
  const named_parameter_map_t &named_parameters) {
117181
- return make_shared<TableFunctionRelation>(context, fname, values, named_parameters, shared_from_this());
117229
+ return make_shared<TableFunctionRelation>(context.GetContext(), fname, values, named_parameters,
117230
+ shared_from_this());
117182
117231
  }
117183
117232
 
117184
117233
  shared_ptr<Relation> Relation::TableFunction(const std::string &fname, const vector<Value> &values) {
117185
- return make_shared<TableFunctionRelation>(context, fname, values, shared_from_this());
117234
+ return make_shared<TableFunctionRelation>(context.GetContext(), fname, values, shared_from_this());
117186
117235
  }
117187
117236
 
117188
117237
  string Relation::ToString() {
@@ -146373,9 +146422,12 @@ unique_ptr<SQLStatement> Transformer::TransformShow(duckdb_libpgquery::PGNode *n
146373
146422
  auto result = make_unique<PragmaStatement>();
146374
146423
  auto &info = *result->info;
146375
146424
 
146376
- if (string(stmt->name) == "tables") {
146425
+ string name = stmt->name;
146426
+ if (name == "tables") {
146377
146427
  // show all tables
146378
146428
  info.name = "show_tables";
146429
+ } else if (name == "__show_tables_expanded") {
146430
+ info.name = "show_tables_expanded";
146379
146431
  } else {
146380
146432
  // show one specific table
146381
146433
  info.name = "show";
@@ -148781,13 +148833,19 @@ BindResult SelectBinder::BindUnnest(FunctionExpression &function, idx_t depth) {
148781
148833
  }
148782
148834
  auto &child = (BoundExpression &)*function.children[0];
148783
148835
  auto &child_type = child.expr->return_type;
148784
- if (child_type.id() != LogicalTypeId::LIST) {
148785
- return BindResult(binder.FormatError(function, "Unnest() can only be applied to lists"));
148836
+
148837
+ if (child_type.id() != LogicalTypeId::LIST && child_type.id() != LogicalTypeId::SQLNULL) {
148838
+ return BindResult(binder.FormatError(function, "Unnest() can only be applied to lists and NULL"));
148786
148839
  }
148840
+
148787
148841
  if (depth > 0) {
148788
148842
  throw BinderException(binder.FormatError(function, "Unnest() for correlated expressions is not supported yet"));
148789
148843
  }
148790
- auto &return_type = ListType::GetChildType(child_type);
148844
+
148845
+ auto return_type = LogicalType(LogicalTypeId::SQLNULL);
148846
+ if (child_type.id() == LogicalTypeId::LIST) {
148847
+ return_type = ListType::GetChildType(child_type);
148848
+ }
148791
148849
 
148792
148850
  auto result = make_unique<BoundUnnestExpression>(return_type);
148793
148851
  result->child = move(child.expr);
@@ -148801,6 +148859,7 @@ BindResult SelectBinder::BindUnnest(FunctionExpression &function, idx_t depth) {
148801
148859
  auto colref = make_unique<BoundColumnRefExpression>(
148802
148860
  function.alias.empty() ? node.unnests[unnest_index]->ToString() : function.alias, return_type,
148803
148861
  ColumnBinding(node.unnest_index, unnest_index), depth);
148862
+
148804
148863
  return BindResult(move(colref));
148805
148864
  }
148806
148865
 
@@ -231812,7 +231871,7 @@ union yyalloc
231812
231871
  /* YYNNTS -- Number of nonterminals. */
231813
231872
  #define YYNNTS 395
231814
231873
  /* YYNRULES -- Number of rules. */
231815
- #define YYNRULES 1833
231874
+ #define YYNRULES 1834
231816
231875
  /* YYNRULES -- Number of states. */
231817
231876
  #define YYNSTATES 3022
231818
231877
 
@@ -232032,8 +232091,8 @@ static const yytype_uint16 yyprhs[] =
232032
232091
  4076, 4078, 4079, 4081, 4085, 4087, 4088, 4096, 4098, 4101,
232033
232092
  4105, 4108, 4109, 4112, 4113, 4116, 4121, 4124, 4126, 4128,
232034
232093
  4130, 4133, 4137, 4140, 4143, 4146, 4149, 4153, 4158, 4161,
232035
- 4163, 4165, 4167, 4171, 4174, 4184, 4196, 4209, 4224, 4228,
232036
- 4233, 4238, 4239, 4247, 4258, 4268, 4271, 4275, 4276, 4281,
232094
+ 4163, 4165, 4167, 4169, 4173, 4176, 4186, 4198, 4211, 4226,
232095
+ 4230, 4235, 4240, 4241, 4249, 4260, 4270, 4273, 4277, 4278,
232037
232096
  4283, 4285, 4287, 4289, 4291, 4293, 4295, 4297, 4299, 4301,
232038
232097
  4303, 4305, 4307, 4309, 4311, 4313, 4315, 4317, 4319, 4321,
232039
232098
  4323, 4325, 4327, 4329, 4331, 4333, 4335, 4337, 4339, 4341,
@@ -232090,7 +232149,7 @@ static const yytype_uint16 yyprhs[] =
232090
232149
  5343, 5345, 5347, 5349, 5351, 5353, 5355, 5357, 5359, 5361,
232091
232150
  5363, 5365, 5367, 5369, 5371, 5373, 5375, 5377, 5379, 5381,
232092
232151
  5383, 5385, 5387, 5389, 5391, 5393, 5395, 5397, 5399, 5401,
232093
- 5403, 5405, 5407, 5409
232152
+ 5403, 5405, 5407, 5409, 5411
232094
232153
  };
232095
232154
 
232096
232155
  /* YYRHS -- A `-1'-separated list of the rules' RHS. */
@@ -232512,132 +232571,132 @@ static const yytype_int16 yyrhs[] =
232512
232571
  411, 477, -1, 415, 219, 230, -1, 884, 633, -1,
232513
232572
  398, 633, -1, 398, 885, -1, 884, 885, -1, 884,
232514
232573
  411, 477, -1, 884, 415, 219, 230, -1, 884, 27,
232515
- -1, 377, -1, 125, -1, 823, -1, 885, 496, 823,
232516
- -1, 56, 747, -1, 93, 603, 449, 814, 592, 845,
232517
- 36, 633, 888, -1, 93, 289, 341, 603, 449, 814,
232518
- 592, 845, 36, 633, 888, -1, 93, 603, 331, 449,
232519
- 814, 494, 596, 495, 845, 36, 633, 888, -1, 93,
232520
- 289, 341, 603, 331, 449, 814, 494, 596, 495, 845,
232521
- 36, 633, 888, -1, 456, 67, 287, -1, 456, 59,
232522
- 67, 287, -1, 456, 235, 67, 287, -1, -1, 93,
232523
- 603, 402, 891, 36, 633, 890, -1, 93, 603, 402,
232524
- 188, 269, 150, 891, 36, 633, 890, -1, 93, 289,
232525
- 341, 603, 402, 891, 36, 633, 890, -1, 456, 107,
232526
- -1, 456, 267, 107, -1, -1, 814, 592, 578, 570,
232527
- -1, 19, -1, 20, -1, 21, -1, 22, -1, 23,
232528
- -1, 24, -1, 25, -1, 26, -1, 28, -1, 29,
232529
- -1, 30, -1, 38, -1, 39, -1, 41, -1, 42,
232530
- -1, 43, -1, 45, -1, 46, -1, 47, -1, 54,
232531
- -1, 55, -1, 56, -1, 57, -1, 58, -1, 59,
232532
- -1, 62, -1, 63, -1, 66, -1, 68, -1, 69,
232533
- -1, 70, -1, 71, -1, 76, -1, 77, -1, 78,
232534
- -1, 79, -1, 80, -1, 81, -1, 83, -1, 84,
232535
- -1, 85, -1, 87, -1, 88, -1, 89, -1, 90,
232536
- -1, 91, -1, 92, -1, 95, -1, 96, -1, 97,
232537
- -1, 105, -1, 106, -1, 107, -1, 108, -1, 109,
232538
- -1, 110, -1, 111, -1, 114, -1, 116, -1, 118,
232539
- -1, 119, -1, 120, -1, 121, -1, 122, -1, 123,
232540
- -1, 125, -1, 126, -1, 127, -1, 128, -1, 129,
232541
- -1, 132, -1, 133, -1, 134, -1, 135, -1, 136,
232542
- -1, 138, -1, 139, -1, 140, -1, 142, -1, 143,
232543
- -1, 144, -1, 146, -1, 147, -1, 148, -1, 149,
232544
- -1, 151, -1, 152, -1, 153, -1, 154, -1, 155,
232545
- -1, 158, -1, 160, -1, 161, -1, 163, -1, 165,
232546
- -1, 167, -1, 171, -1, 172, -1, 173, -1, 175,
232547
- -1, 177, -1, 181, -1, 183, -1, 184, -1, 185,
232548
- -1, 186, -1, 187, -1, 188, -1, 189, -1, 191,
232549
- -1, 192, -1, 193, -1, 194, -1, 196, -1, 197,
232550
- -1, 198, -1, 199, -1, 200, -1, 201, -1, 203,
232551
- -1, 206, -1, 207, -1, 208, -1, 209, -1, 210,
232552
- -1, 216, -1, 219, -1, 221, -1, 222, -1, 223,
232553
- -1, 224, -1, 225, -1, 228, -1, 230, -1, 233,
232554
- -1, 234, -1, 235, -1, 238, -1, 239, -1, 240,
232555
- -1, 241, -1, 242, -1, 244, -1, 245, -1, 246,
232556
- -1, 247, -1, 248, -1, 249, -1, 250, -1, 251,
232557
- -1, 252, -1, 253, -1, 254, -1, 255, -1, 256,
232558
- -1, 257, -1, 258, -1, 259, -1, 260, -1, 261,
232559
- -1, 265, -1, 266, -1, 267, -1, 270, -1, 271,
232560
- -1, 273, -1, 276, -1, 278, -1, 279, -1, 280,
232561
- -1, 282, -1, 283, -1, 286, -1, 287, -1, 288,
232562
- -1, 291, -1, 294, -1, 297, -1, 298, -1, 299,
232563
- -1, 300, -1, 301, -1, 302, -1, 303, -1, 304,
232564
- -1, 305, -1, 306, -1, 308, -1, 309, -1, 311,
232565
- -1, 312, -1, 314, -1, 315, -1, 316, -1, 318,
232566
- -1, 319, -1, 320, -1, 321, -1, 322, -1, 323,
232567
- -1, 325, -1, 326, -1, 327, -1, 329, -1, 330,
232568
- -1, 331, -1, 332, -1, 334, -1, 335, -1, 336,
232569
- -1, 337, -1, 338, -1, 339, -1, 340, -1, 341,
232570
- -1, 342, -1, 343, -1, 344, -1, 345, -1, 346,
232571
- -1, 348, -1, 349, -1, 351, -1, 352, -1, 353,
232572
- -1, 355, -1, 356, -1, 357, -1, 358, -1, 359,
232573
- -1, 360, -1, 361, -1, 362, -1, 363, -1, 364,
232574
- -1, 365, -1, 367, -1, 368, -1, 369, -1, 370,
232575
- -1, 371, -1, 373, -1, 375, -1, 376, -1, 377,
232576
- -1, 379, -1, 380, -1, 382, -1, 384, -1, 385,
232577
- -1, 386, -1, 387, -1, 388, -1, 389, -1, 390,
232578
- -1, 391, -1, 392, -1, 393, -1, 394, -1, 396,
232579
- -1, 398, -1, 400, -1, 401, -1, 403, -1, 405,
232580
- -1, 406, -1, 407, -1, 408, -1, 409, -1, 415,
232581
- -1, 416, -1, 418, -1, 421, -1, 422, -1, 424,
232582
- -1, 425, -1, 426, -1, 427, -1, 428, -1, 431,
232583
- -1, 432, -1, 433, -1, 434, -1, 435, -1, 438,
232584
- -1, 439, -1, 440, -1, 441, -1, 442, -1, 446,
232585
- -1, 448, -1, 449, -1, 450, -1, 451, -1, 454,
232586
- -1, 457, -1, 458, -1, 459, -1, 460, -1, 461,
232587
- -1, 462, -1, 474, -1, 475, -1, 476, -1, 477,
232588
- -1, 48, -1, 49, -1, 51, -1, 52, -1, 64,
232589
- -1, 65, -1, 72, -1, 112, -1, 113, -1, 150,
232590
- -1, 156, -1, 162, -1, 179, -1, 180, -1, 205,
232591
- -1, 211, -1, 212, -1, 214, -1, 243, -1, 262,
232592
- -1, 264, -1, 268, -1, 275, -1, 277, -1, 292,
232593
- -1, 296, -1, 310, -1, 313, -1, 328, -1, 354,
232594
- -1, 374, -1, 381, -1, 395, -1, 397, -1, 411,
232595
- -1, 412, -1, 417, -1, 419, -1, 423, -1, 443,
232596
- -1, 444, -1, 463, -1, 464, -1, 465, -1, 466,
232597
- -1, 467, -1, 468, -1, 469, -1, 470, -1, 471,
232598
- -1, 472, -1, 473, -1, 44, -1, 50, -1, 74,
232599
- -1, 82, -1, 94, -1, 101, -1, 168, -1, 170,
232600
- -1, 174, -1, 190, -1, 204, -1, 217, -1, 218,
232601
- -1, 220, -1, 229, -1, 231, -1, 243, -1, 263,
232602
- -1, 272, -1, 293, -1, 295, -1, 350, -1, 378,
232603
- -1, 395, -1, 404, -1, 447, -1, 44, -1, 50,
232574
+ -1, 884, -1, 377, -1, 125, -1, 823, -1, 885,
232575
+ 496, 823, -1, 56, 747, -1, 93, 603, 449, 814,
232576
+ 592, 845, 36, 633, 888, -1, 93, 289, 341, 603,
232577
+ 449, 814, 592, 845, 36, 633, 888, -1, 93, 603,
232578
+ 331, 449, 814, 494, 596, 495, 845, 36, 633, 888,
232579
+ -1, 93, 289, 341, 603, 331, 449, 814, 494, 596,
232580
+ 495, 845, 36, 633, 888, -1, 456, 67, 287, -1,
232581
+ 456, 59, 67, 287, -1, 456, 235, 67, 287, -1,
232582
+ -1, 93, 603, 402, 891, 36, 633, 890, -1, 93,
232583
+ 603, 402, 188, 269, 150, 891, 36, 633, 890, -1,
232584
+ 93, 289, 341, 603, 402, 891, 36, 633, 890, -1,
232585
+ 456, 107, -1, 456, 267, 107, -1, -1, 814, 592,
232586
+ 578, 570, -1, 19, -1, 20, -1, 21, -1, 22,
232587
+ -1, 23, -1, 24, -1, 25, -1, 26, -1, 28,
232588
+ -1, 29, -1, 30, -1, 38, -1, 39, -1, 41,
232589
+ -1, 42, -1, 43, -1, 45, -1, 46, -1, 47,
232590
+ -1, 54, -1, 55, -1, 56, -1, 57, -1, 58,
232591
+ -1, 59, -1, 62, -1, 63, -1, 66, -1, 68,
232592
+ -1, 69, -1, 70, -1, 71, -1, 76, -1, 77,
232593
+ -1, 78, -1, 79, -1, 80, -1, 81, -1, 83,
232594
+ -1, 84, -1, 85, -1, 87, -1, 88, -1, 89,
232595
+ -1, 90, -1, 91, -1, 92, -1, 95, -1, 96,
232596
+ -1, 97, -1, 105, -1, 106, -1, 107, -1, 108,
232597
+ -1, 109, -1, 110, -1, 111, -1, 114, -1, 116,
232598
+ -1, 118, -1, 119, -1, 120, -1, 121, -1, 122,
232599
+ -1, 123, -1, 125, -1, 126, -1, 127, -1, 128,
232600
+ -1, 129, -1, 132, -1, 133, -1, 134, -1, 135,
232601
+ -1, 136, -1, 138, -1, 139, -1, 140, -1, 142,
232602
+ -1, 143, -1, 144, -1, 146, -1, 147, -1, 148,
232603
+ -1, 149, -1, 151, -1, 152, -1, 153, -1, 154,
232604
+ -1, 155, -1, 158, -1, 160, -1, 161, -1, 163,
232605
+ -1, 165, -1, 167, -1, 171, -1, 172, -1, 173,
232606
+ -1, 175, -1, 177, -1, 181, -1, 183, -1, 184,
232607
+ -1, 185, -1, 186, -1, 187, -1, 188, -1, 189,
232608
+ -1, 191, -1, 192, -1, 193, -1, 194, -1, 196,
232609
+ -1, 197, -1, 198, -1, 199, -1, 200, -1, 201,
232610
+ -1, 203, -1, 206, -1, 207, -1, 208, -1, 209,
232611
+ -1, 210, -1, 216, -1, 219, -1, 221, -1, 222,
232612
+ -1, 223, -1, 224, -1, 225, -1, 228, -1, 230,
232613
+ -1, 233, -1, 234, -1, 235, -1, 238, -1, 239,
232614
+ -1, 240, -1, 241, -1, 242, -1, 244, -1, 245,
232615
+ -1, 246, -1, 247, -1, 248, -1, 249, -1, 250,
232616
+ -1, 251, -1, 252, -1, 253, -1, 254, -1, 255,
232617
+ -1, 256, -1, 257, -1, 258, -1, 259, -1, 260,
232618
+ -1, 261, -1, 265, -1, 266, -1, 267, -1, 270,
232619
+ -1, 271, -1, 273, -1, 276, -1, 278, -1, 279,
232620
+ -1, 280, -1, 282, -1, 283, -1, 286, -1, 287,
232621
+ -1, 288, -1, 291, -1, 294, -1, 297, -1, 298,
232622
+ -1, 299, -1, 300, -1, 301, -1, 302, -1, 303,
232623
+ -1, 304, -1, 305, -1, 306, -1, 308, -1, 309,
232624
+ -1, 311, -1, 312, -1, 314, -1, 315, -1, 316,
232625
+ -1, 318, -1, 319, -1, 320, -1, 321, -1, 322,
232626
+ -1, 323, -1, 325, -1, 326, -1, 327, -1, 329,
232627
+ -1, 330, -1, 331, -1, 332, -1, 334, -1, 335,
232628
+ -1, 336, -1, 337, -1, 338, -1, 339, -1, 340,
232629
+ -1, 341, -1, 342, -1, 343, -1, 344, -1, 345,
232630
+ -1, 346, -1, 348, -1, 349, -1, 351, -1, 352,
232631
+ -1, 353, -1, 355, -1, 356, -1, 357, -1, 358,
232632
+ -1, 359, -1, 360, -1, 361, -1, 362, -1, 363,
232633
+ -1, 364, -1, 365, -1, 367, -1, 368, -1, 369,
232634
+ -1, 370, -1, 371, -1, 373, -1, 375, -1, 376,
232635
+ -1, 377, -1, 379, -1, 380, -1, 382, -1, 384,
232636
+ -1, 385, -1, 386, -1, 387, -1, 388, -1, 389,
232637
+ -1, 390, -1, 391, -1, 392, -1, 393, -1, 394,
232638
+ -1, 396, -1, 398, -1, 400, -1, 401, -1, 403,
232639
+ -1, 405, -1, 406, -1, 407, -1, 408, -1, 409,
232640
+ -1, 415, -1, 416, -1, 418, -1, 421, -1, 422,
232641
+ -1, 424, -1, 425, -1, 426, -1, 427, -1, 428,
232642
+ -1, 431, -1, 432, -1, 433, -1, 434, -1, 435,
232643
+ -1, 438, -1, 439, -1, 440, -1, 441, -1, 442,
232644
+ -1, 446, -1, 448, -1, 449, -1, 450, -1, 451,
232645
+ -1, 454, -1, 457, -1, 458, -1, 459, -1, 460,
232646
+ -1, 461, -1, 462, -1, 474, -1, 475, -1, 476,
232647
+ -1, 477, -1, 48, -1, 49, -1, 51, -1, 52,
232648
+ -1, 64, -1, 65, -1, 72, -1, 112, -1, 113,
232649
+ -1, 150, -1, 156, -1, 162, -1, 179, -1, 180,
232650
+ -1, 205, -1, 211, -1, 212, -1, 214, -1, 243,
232651
+ -1, 262, -1, 264, -1, 268, -1, 275, -1, 277,
232652
+ -1, 292, -1, 296, -1, 310, -1, 313, -1, 328,
232653
+ -1, 354, -1, 374, -1, 381, -1, 395, -1, 397,
232654
+ -1, 411, -1, 412, -1, 417, -1, 419, -1, 423,
232655
+ -1, 443, -1, 444, -1, 463, -1, 464, -1, 465,
232656
+ -1, 466, -1, 467, -1, 468, -1, 469, -1, 470,
232657
+ -1, 471, -1, 472, -1, 473, -1, 44, -1, 50,
232604
232658
  -1, 74, -1, 82, -1, 94, -1, 101, -1, 168,
232605
232659
  -1, 170, -1, 174, -1, 190, -1, 204, -1, 217,
232606
- -1, 218, -1, 220, -1, 229, -1, 231, -1, 263,
232607
- -1, 272, -1, 293, -1, 295, -1, 350, -1, 378,
232608
- -1, 404, -1, 423, -1, 447, -1, 48, -1, 49,
232609
- -1, 51, -1, 52, -1, 65, -1, 64, -1, 72,
232610
- -1, 112, -1, 113, -1, 150, -1, 156, -1, 162,
232611
- -1, 179, -1, 180, -1, 205, -1, 212, -1, 214,
232612
- -1, 211, -1, 243, -1, 262, -1, 264, -1, 268,
232613
- -1, 275, -1, 277, -1, 292, -1, 296, -1, 310,
232614
- -1, 313, -1, 328, -1, 354, -1, 374, -1, 381,
232615
- -1, 395, -1, 397, -1, 411, -1, 412, -1, 417,
232616
- -1, 419, -1, 423, -1, 443, -1, 444, -1, 463,
232617
- -1, 464, -1, 465, -1, 466, -1, 467, -1, 468,
232618
- -1, 469, -1, 470, -1, 471, -1, 472, -1, 473,
232619
- -1, 44, -1, 50, -1, 74, -1, 82, -1, 94,
232620
- -1, 101, -1, 168, -1, 170, -1, 174, -1, 190,
232621
- -1, 204, -1, 217, -1, 218, -1, 220, -1, 229,
232622
- -1, 231, -1, 243, -1, 263, -1, 272, -1, 293,
232623
- -1, 295, -1, 350, -1, 378, -1, 395, -1, 404,
232624
- -1, 423, -1, 447, -1, 27, -1, 31, -1, 32,
232625
- -1, 33, -1, 34, -1, 35, -1, 36, -1, 37,
232626
- -1, 40, -1, 53, -1, 60, -1, 61, -1, 67,
232627
- -1, 73, -1, 75, -1, 86, -1, 93, -1, 98,
232628
- -1, 99, -1, 100, -1, 102, -1, 103, -1, 104,
232629
- -1, 115, -1, 117, -1, 124, -1, 130, -1, 131,
232630
- -1, 137, -1, 141, -1, 145, -1, 157, -1, 159,
232631
- -1, 164, -1, 166, -1, 169, -1, 176, -1, 178,
232632
- -1, 182, -1, 195, -1, 202, -1, 213, -1, 215,
232633
- -1, 226, -1, 227, -1, 232, -1, 236, -1, 237,
232634
- -1, 269, -1, 274, -1, 281, -1, 284, -1, 285,
232635
- -1, 289, -1, 290, -1, 307, -1, 317, -1, 324,
232636
- -1, 333, -1, 347, -1, 366, -1, 372, -1, 383,
232637
- -1, 399, -1, 402, -1, 410, -1, 413, -1, 414,
232638
- -1, 420, -1, 429, -1, 430, -1, 436, -1, 437,
232639
- -1, 445, -1, 452, -1, 453, -1, 455, -1, 456,
232640
- -1
232660
+ -1, 218, -1, 220, -1, 229, -1, 231, -1, 243,
232661
+ -1, 263, -1, 272, -1, 293, -1, 295, -1, 350,
232662
+ -1, 378, -1, 395, -1, 404, -1, 447, -1, 44,
232663
+ -1, 50, -1, 74, -1, 82, -1, 94, -1, 101,
232664
+ -1, 168, -1, 170, -1, 174, -1, 190, -1, 204,
232665
+ -1, 217, -1, 218, -1, 220, -1, 229, -1, 231,
232666
+ -1, 263, -1, 272, -1, 293, -1, 295, -1, 350,
232667
+ -1, 378, -1, 404, -1, 423, -1, 447, -1, 48,
232668
+ -1, 49, -1, 51, -1, 52, -1, 65, -1, 64,
232669
+ -1, 72, -1, 112, -1, 113, -1, 150, -1, 156,
232670
+ -1, 162, -1, 179, -1, 180, -1, 205, -1, 212,
232671
+ -1, 214, -1, 211, -1, 243, -1, 262, -1, 264,
232672
+ -1, 268, -1, 275, -1, 277, -1, 292, -1, 296,
232673
+ -1, 310, -1, 313, -1, 328, -1, 354, -1, 374,
232674
+ -1, 381, -1, 395, -1, 397, -1, 411, -1, 412,
232675
+ -1, 417, -1, 419, -1, 423, -1, 443, -1, 444,
232676
+ -1, 463, -1, 464, -1, 465, -1, 466, -1, 467,
232677
+ -1, 468, -1, 469, -1, 470, -1, 471, -1, 472,
232678
+ -1, 473, -1, 44, -1, 50, -1, 74, -1, 82,
232679
+ -1, 94, -1, 101, -1, 168, -1, 170, -1, 174,
232680
+ -1, 190, -1, 204, -1, 217, -1, 218, -1, 220,
232681
+ -1, 229, -1, 231, -1, 243, -1, 263, -1, 272,
232682
+ -1, 293, -1, 295, -1, 350, -1, 378, -1, 395,
232683
+ -1, 404, -1, 423, -1, 447, -1, 27, -1, 31,
232684
+ -1, 32, -1, 33, -1, 34, -1, 35, -1, 36,
232685
+ -1, 37, -1, 40, -1, 53, -1, 60, -1, 61,
232686
+ -1, 67, -1, 73, -1, 75, -1, 86, -1, 93,
232687
+ -1, 98, -1, 99, -1, 100, -1, 102, -1, 103,
232688
+ -1, 104, -1, 115, -1, 117, -1, 124, -1, 130,
232689
+ -1, 131, -1, 137, -1, 141, -1, 145, -1, 157,
232690
+ -1, 159, -1, 164, -1, 166, -1, 169, -1, 176,
232691
+ -1, 178, -1, 182, -1, 195, -1, 202, -1, 213,
232692
+ -1, 215, -1, 226, -1, 227, -1, 232, -1, 236,
232693
+ -1, 237, -1, 269, -1, 274, -1, 281, -1, 284,
232694
+ -1, 285, -1, 289, -1, 290, -1, 307, -1, 317,
232695
+ -1, 324, -1, 333, -1, 347, -1, 366, -1, 372,
232696
+ -1, 383, -1, 399, -1, 402, -1, 410, -1, 413,
232697
+ -1, 414, -1, 420, -1, 429, -1, 430, -1, 436,
232698
+ -1, 437, -1, 445, -1, 452, -1, 453, -1, 455,
232699
+ -1, 456, -1
232641
232700
  };
232642
232701
 
232643
232702
  /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
@@ -232767,9 +232826,9 @@ static const yytype_uint16 yyrline[] =
232767
232826
  8, 22, 36, 48, 56, 70, 71, 72, 73, 74,
232768
232827
  87, 88, 93, 94, 98, 99, 7, 21, 25, 32,
232769
232828
  43, 44, 50, 51, 9, 19, 2, 7, 14, 24,
232770
- 25, 32, 3, 10, 17, 24, 31, 38, 45, 55,
232771
- 55, 57, 58, 6, 8, 21, 34, 52, 74, 75,
232772
- 76, 77, 11, 24, 37, 54, 55, 56, 61, 74,
232829
+ 25, 32, 3, 10, 17, 24, 31, 38, 45, 52,
232830
+ 61, 61, 63, 64, 6, 8, 21, 34, 52, 74,
232831
+ 75, 76, 77, 11, 24, 37, 54, 55, 56, 61,
232773
232832
  74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
232774
232833
  74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
232775
232834
  74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
@@ -232800,25 +232859,25 @@ static const yytype_uint16 yyrline[] =
232800
232859
  74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
232801
232860
  74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
232802
232861
  74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
232803
- 74, 74, 74, 74, 75, 75, 75, 75, 75, 75,
232862
+ 74, 74, 74, 74, 74, 75, 75, 75, 75, 75,
232804
232863
  75, 75, 75, 75, 75, 75, 75, 75, 75, 75,
232805
232864
  75, 75, 75, 75, 75, 75, 75, 75, 75, 75,
232806
232865
  75, 75, 75, 75, 75, 75, 75, 75, 75, 75,
232807
232866
  75, 75, 75, 75, 75, 75, 75, 75, 75, 75,
232808
- 75, 75, 75, 75, 75, 75, 76, 76, 76, 76,
232867
+ 75, 75, 75, 75, 75, 75, 75, 76, 76, 76,
232809
232868
  76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
232810
232869
  76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
232811
- 76, 76, 77, 77, 77, 77, 77, 77, 77, 77,
232870
+ 76, 76, 76, 77, 77, 77, 77, 77, 77, 77,
232812
232871
  77, 77, 77, 77, 77, 77, 77, 77, 77, 77,
232813
- 77, 77, 77, 77, 77, 77, 77, 78, 78, 78,
232872
+ 77, 77, 77, 77, 77, 77, 77, 77, 78, 78,
232873
+ 78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
232814
232874
  78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
232815
232875
  78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
232816
232876
  78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
232817
232877
  78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
232818
- 78, 78, 78, 78, 78, 78, 78, 78, 78, 79,
232819
232878
  79, 79, 79, 79, 79, 79, 79, 79, 79, 79,
232820
232879
  79, 79, 79, 79, 79, 79, 79, 79, 79, 79,
232821
- 79, 79, 79, 79, 79, 79, 80, 80, 80, 80,
232880
+ 79, 79, 79, 79, 79, 79, 79, 80, 80, 80,
232822
232881
  80, 80, 80, 80, 80, 80, 80, 80, 80, 80,
232823
232882
  80, 80, 80, 80, 80, 80, 80, 80, 80, 80,
232824
232883
  80, 80, 80, 80, 80, 80, 80, 80, 80, 80,
@@ -232826,7 +232885,7 @@ static const yytype_uint16 yyrline[] =
232826
232885
  80, 80, 80, 80, 80, 80, 80, 80, 80, 80,
232827
232886
  80, 80, 80, 80, 80, 80, 80, 80, 80, 80,
232828
232887
  80, 80, 80, 80, 80, 80, 80, 80, 80, 80,
232829
- 80, 80, 80, 80
232888
+ 80, 80, 80, 80, 80
232830
232889
  };
232831
232890
  #endif
232832
232891
 
@@ -233212,9 +233271,9 @@ static const yytype_uint16 yyr1[] =
233212
233271
  870, 870, 870, 870, 870, 871, 871, 871, 871, 871,
233213
233272
  872, 872, 873, 873, 874, 874, 875, 876, 876, 876,
233214
233273
  877, 877, 878, 878, 879, 879, 880, 881, 881, 882,
233215
- 882, 882, 883, 883, 883, 883, 883, 883, 883, 884,
233216
- 884, 885, 885, 886, 887, 887, 887, 887, 888, 888,
233217
- 888, 888, 889, 889, 889, 890, 890, 890, 891, 892,
233274
+ 882, 882, 883, 883, 883, 883, 883, 883, 883, 883,
233275
+ 884, 884, 885, 885, 886, 887, 887, 887, 887, 888,
233276
+ 888, 888, 888, 889, 889, 889, 890, 890, 890, 891,
233218
233277
  892, 892, 892, 892, 892, 892, 892, 892, 892, 892,
233219
233278
  892, 892, 892, 892, 892, 892, 892, 892, 892, 892,
233220
233279
  892, 892, 892, 892, 892, 892, 892, 892, 892, 892,
@@ -233245,25 +233304,25 @@ static const yytype_uint16 yyr1[] =
233245
233304
  892, 892, 892, 892, 892, 892, 892, 892, 892, 892,
233246
233305
  892, 892, 892, 892, 892, 892, 892, 892, 892, 892,
233247
233306
  892, 892, 892, 892, 892, 892, 892, 892, 892, 892,
233248
- 892, 892, 892, 892, 893, 893, 893, 893, 893, 893,
233307
+ 892, 892, 892, 892, 892, 893, 893, 893, 893, 893,
233249
233308
  893, 893, 893, 893, 893, 893, 893, 893, 893, 893,
233250
233309
  893, 893, 893, 893, 893, 893, 893, 893, 893, 893,
233251
233310
  893, 893, 893, 893, 893, 893, 893, 893, 893, 893,
233252
233311
  893, 893, 893, 893, 893, 893, 893, 893, 893, 893,
233253
- 893, 893, 893, 893, 893, 893, 894, 894, 894, 894,
233312
+ 893, 893, 893, 893, 893, 893, 893, 894, 894, 894,
233254
233313
  894, 894, 894, 894, 894, 894, 894, 894, 894, 894,
233255
233314
  894, 894, 894, 894, 894, 894, 894, 894, 894, 894,
233256
- 894, 894, 895, 895, 895, 895, 895, 895, 895, 895,
233315
+ 894, 894, 894, 895, 895, 895, 895, 895, 895, 895,
233257
233316
  895, 895, 895, 895, 895, 895, 895, 895, 895, 895,
233258
- 895, 895, 895, 895, 895, 895, 895, 896, 896, 896,
233317
+ 895, 895, 895, 895, 895, 895, 895, 895, 896, 896,
233318
+ 896, 896, 896, 896, 896, 896, 896, 896, 896, 896,
233259
233319
  896, 896, 896, 896, 896, 896, 896, 896, 896, 896,
233260
233320
  896, 896, 896, 896, 896, 896, 896, 896, 896, 896,
233261
233321
  896, 896, 896, 896, 896, 896, 896, 896, 896, 896,
233262
233322
  896, 896, 896, 896, 896, 896, 896, 896, 896, 896,
233263
- 896, 896, 896, 896, 896, 896, 896, 896, 896, 897,
233264
233323
  897, 897, 897, 897, 897, 897, 897, 897, 897, 897,
233265
233324
  897, 897, 897, 897, 897, 897, 897, 897, 897, 897,
233266
- 897, 897, 897, 897, 897, 897, 898, 898, 898, 898,
233325
+ 897, 897, 897, 897, 897, 897, 897, 898, 898, 898,
233267
233326
  898, 898, 898, 898, 898, 898, 898, 898, 898, 898,
233268
233327
  898, 898, 898, 898, 898, 898, 898, 898, 898, 898,
233269
233328
  898, 898, 898, 898, 898, 898, 898, 898, 898, 898,
@@ -233271,7 +233330,7 @@ static const yytype_uint16 yyr1[] =
233271
233330
  898, 898, 898, 898, 898, 898, 898, 898, 898, 898,
233272
233331
  898, 898, 898, 898, 898, 898, 898, 898, 898, 898,
233273
233332
  898, 898, 898, 898, 898, 898, 898, 898, 898, 898,
233274
- 898, 898, 898, 898
233333
+ 898, 898, 898, 898, 898
233275
233334
  };
233276
233335
 
233277
233336
  /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
@@ -233402,8 +233461,8 @@ static const yytype_uint8 yyr2[] =
233402
233461
  1, 0, 1, 3, 1, 0, 7, 1, 2, 3,
233403
233462
  2, 0, 2, 0, 2, 4, 2, 1, 1, 1,
233404
233463
  2, 3, 2, 2, 2, 2, 3, 4, 2, 1,
233405
- 1, 1, 3, 2, 9, 11, 12, 14, 3, 4,
233406
- 4, 0, 7, 10, 9, 2, 3, 0, 4, 1,
233464
+ 1, 1, 1, 3, 2, 9, 11, 12, 14, 3,
233465
+ 4, 4, 0, 7, 10, 9, 2, 3, 0, 4,
233407
233466
  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
233408
233467
  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
233409
233468
  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
@@ -233460,7 +233519,7 @@ static const yytype_uint8 yyr2[] =
233460
233519
  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
233461
233520
  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
233462
233521
  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
233463
- 1, 1, 1, 1
233522
+ 1, 1, 1, 1, 1
233464
233523
  };
233465
233524
 
233466
233525
  /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
@@ -233469,93 +233528,93 @@ static const yytype_uint8 yyr2[] =
233469
233528
  static const yytype_uint16 yydefact[] =
233470
233529
  {
233471
233530
  135, 214, 0, 1174, 1173, 214, 0, 1149, 214, 424,
233472
- 348, 0, 1250, 0, 214, 0, 135, 0, 0, 0,
233473
- 0, 0, 0, 0, 0, 214, 491, 0, 1249, 214,
233531
+ 348, 0, 1251, 0, 214, 0, 135, 0, 0, 0,
233532
+ 0, 0, 0, 0, 0, 214, 491, 0, 1250, 214,
233474
233533
  0, 0, 1221, 0, 0, 0, 0, 0, 2, 4,
233475
233534
  7, 18, 13, 30, 26, 0, 28, 16, 21, 6,
233476
233535
  32, 17, 20, 14, 33, 11, 31, 458, 445, 496,
233477
233536
  457, 134, 597, 461, 29, 15, 25, 5, 10, 23,
233478
233537
  24, 22, 1157, 36, 27, 34, 19, 8, 35, 37,
233479
- 0, 9, 38, 12, 213, 212, 206, 0, 0, 0,
233480
- 0, 0, 207, 1087, 1269, 1270, 1271, 1272, 1273, 1274,
233481
- 1275, 1276, 1277, 1278, 1279, 1280, 1281, 1282, 1283, 1284,
233482
- 1626, 1285, 1286, 1287, 1574, 1575, 1627, 1576, 1577, 1288,
233483
- 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1578, 1579, 1296,
233484
- 1297, 1298, 1299, 1300, 1580, 1628, 1301, 1302, 1303, 1304,
233485
- 1305, 1306, 1629, 1307, 1308, 1309, 1310, 1311, 1312, 1313,
233486
- 1314, 1315, 1630, 1316, 1317, 1318, 1631, 1319, 1320, 1321,
233487
- 1322, 1323, 1324, 1325, 1581, 1582, 1326, 1327, 1328, 1329,
233488
- 1330, 1331, 1332, 1333, 1334, 1335, 1336, 1337, 1338, 1339,
233489
- 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1347, 1348, 1349,
233490
- 1350, 1351, 1352, 1353, 1583, 1354, 1355, 1356, 1357, 1358,
233491
- 1584, 1359, 1360, 1361, 1585, 1362, 1363, 1364, 1632, 1633,
233492
- 1365, 1366, 1367, 1634, 1368, 1369, 1586, 1587, 1370, 1371,
233493
- 1372, 1373, 1374, 1375, 1376, 1377, 1635, 1378, 1379, 1380,
233494
- 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1388, 1636, 1588,
233495
- 1389, 1390, 1391, 1392, 1393, 1589, 1590, 1591, 1394, 1637,
233496
- 1638, 1395, 1639, 1396, 1397, 1398, 1399, 1400, 1401, 1640,
233497
- 1402, 1641, 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1410,
233498
- 1592, 1411, 1412, 1413, 1414, 1415, 1416, 1417, 1418, 1419,
233499
- 1420, 1421, 1422, 1423, 1424, 1425, 1426, 1427, 1428, 1593,
233500
- 1643, 1594, 1429, 1430, 1431, 1595, 1432, 1433, 1644, 1434,
233501
- 1596, 1435, 1597, 1436, 1437, 1438, 1439, 1440, 1441, 1442,
233502
- 1443, 1444, 1598, 1645, 1445, 1646, 1599, 1446, 1447, 1448,
233503
- 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1457, 1600,
233504
- 1458, 1459, 1601, 1460, 1461, 1462, 1463, 1464, 1465, 1466,
233505
- 1467, 1468, 1469, 1470, 1471, 1602, 1472, 1473, 1474, 1475,
233506
- 1476, 1477, 1478, 1479, 1480, 1481, 1482, 1483, 1484, 1485,
233507
- 1486, 1487, 1488, 1489, 1490, 1647, 1491, 1492, 1493, 1603,
233508
- 1494, 1495, 1496, 1497, 1498, 1499, 1500, 1501, 1502, 1503,
233509
- 1504, 1505, 1506, 1507, 1508, 1509, 1510, 1604, 1511, 1512,
233510
- 1513, 1648, 1514, 1515, 1605, 1516, 1517, 1518, 1519, 1520,
233511
- 1521, 1522, 1523, 1524, 1525, 1526, 1527, 1606, 1528, 1607,
233512
- 1529, 1530, 1531, 1532, 1650, 1533, 1534, 1535, 1536, 1537,
233513
- 1608, 1609, 1538, 1539, 1610, 1540, 1611, 1541, 1542, 1612,
233514
- 1543, 1544, 1545, 1546, 1547, 1548, 1549, 1550, 1551, 1552,
233515
- 1553, 1554, 1555, 1556, 1557, 1613, 1614, 1558, 1651, 1559,
233516
- 1560, 1561, 1562, 1563, 1564, 1565, 1566, 1567, 1568, 1569,
233517
- 1615, 1616, 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624,
233518
- 1625, 1570, 1571, 1572, 1573, 1253, 0, 0, 1069, 1088,
233538
+ 1249, 9, 38, 12, 213, 212, 206, 0, 0, 0,
233539
+ 0, 0, 207, 1087, 1270, 1271, 1272, 1273, 1274, 1275,
233540
+ 1276, 1277, 1278, 1279, 1280, 1281, 1282, 1283, 1284, 1285,
233541
+ 1627, 1286, 1287, 1288, 1575, 1576, 1628, 1577, 1578, 1289,
233542
+ 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1579, 1580, 1297,
233543
+ 1298, 1299, 1300, 1301, 1581, 1629, 1302, 1303, 1304, 1305,
233544
+ 1306, 1307, 1630, 1308, 1309, 1310, 1311, 1312, 1313, 1314,
233545
+ 1315, 1316, 1631, 1317, 1318, 1319, 1632, 1320, 1321, 1322,
233546
+ 1323, 1324, 1325, 1326, 1582, 1583, 1327, 1328, 1329, 1330,
233547
+ 1331, 1332, 1333, 1334, 1335, 1336, 1337, 1338, 1339, 1340,
233548
+ 1341, 1342, 1343, 1344, 1345, 1346, 1347, 1348, 1349, 1350,
233549
+ 1351, 1352, 1353, 1354, 1584, 1355, 1356, 1357, 1358, 1359,
233550
+ 1585, 1360, 1361, 1362, 1586, 1363, 1364, 1365, 1633, 1634,
233551
+ 1366, 1367, 1368, 1635, 1369, 1370, 1587, 1588, 1371, 1372,
233552
+ 1373, 1374, 1375, 1376, 1377, 1378, 1636, 1379, 1380, 1381,
233553
+ 1382, 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1637, 1589,
233554
+ 1390, 1391, 1392, 1393, 1394, 1590, 1591, 1592, 1395, 1638,
233555
+ 1639, 1396, 1640, 1397, 1398, 1399, 1400, 1401, 1402, 1641,
233556
+ 1403, 1642, 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1411,
233557
+ 1593, 1412, 1413, 1414, 1415, 1416, 1417, 1418, 1419, 1420,
233558
+ 1421, 1422, 1423, 1424, 1425, 1426, 1427, 1428, 1429, 1594,
233559
+ 1644, 1595, 1430, 1431, 1432, 1596, 1433, 1434, 1645, 1435,
233560
+ 1597, 1436, 1598, 1437, 1438, 1439, 1440, 1441, 1442, 1443,
233561
+ 1444, 1445, 1599, 1646, 1446, 1647, 1600, 1447, 1448, 1449,
233562
+ 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1457, 1458, 1601,
233563
+ 1459, 1460, 1602, 1461, 1462, 1463, 1464, 1465, 1466, 1467,
233564
+ 1468, 1469, 1470, 1471, 1472, 1603, 1473, 1474, 1475, 1476,
233565
+ 1477, 1478, 1479, 1480, 1481, 1482, 1483, 1484, 1485, 1486,
233566
+ 1487, 1488, 1489, 1490, 1491, 1648, 1492, 1493, 1494, 1604,
233567
+ 1495, 1496, 1497, 1498, 1499, 1500, 1501, 1502, 1503, 1504,
233568
+ 1505, 1506, 1507, 1508, 1509, 1510, 1511, 1605, 1512, 1513,
233569
+ 1514, 1649, 1515, 1516, 1606, 1517, 1518, 1519, 1520, 1521,
233570
+ 1522, 1523, 1524, 1525, 1526, 1527, 1528, 1607, 1529, 1608,
233571
+ 1530, 1531, 1532, 1533, 1651, 1534, 1535, 1536, 1537, 1538,
233572
+ 1609, 1610, 1539, 1540, 1611, 1541, 1612, 1542, 1543, 1613,
233573
+ 1544, 1545, 1546, 1547, 1548, 1549, 1550, 1551, 1552, 1553,
233574
+ 1554, 1555, 1556, 1557, 1558, 1614, 1615, 1559, 1652, 1560,
233575
+ 1561, 1562, 1563, 1564, 1565, 1566, 1567, 1568, 1569, 1570,
233576
+ 1616, 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625,
233577
+ 1626, 1571, 1572, 1573, 1574, 1254, 0, 0, 1069, 1088,
233519
233578
  1089, 1097, 209, 423, 135, 0, 392, 0, 0, 393,
233520
233579
  0, 0, 342, 341, 0, 1140, 347, 0, 0, 0,
233521
- 1087, 101, 1592, 1460, 1606, 99, 1067, 1088, 0, 367,
233580
+ 1087, 101, 1593, 1461, 1607, 99, 1067, 1088, 0, 367,
233522
233581
  368, 0, 376, 0, 361, 365, 362, 0, 386, 378,
233523
233582
  387, 379, 360, 380, 369, 359, 0, 388, 0, 363,
233524
233583
  0, 0, 0, 210, 175, 348, 135, 0, 1162, 1163,
233525
233584
  1161, 1152, 1157, 1164, 1165, 0, 1148, 0, 0, 1086,
233526
- 1208, 1209, 1206, 1205, 164, 1116, 1238, 1608, 1538, 1251,
233527
- 1239, 1236, 1237, 211, 490, 488, 0, 1037, 1368, 1405,
233528
- 1498, 1509, 1608, 1182, 1186, 0, 208, 1613, 1243, 0,
233585
+ 1208, 1209, 1206, 1205, 164, 1116, 1238, 1609, 1539, 1252,
233586
+ 1239, 1236, 1237, 211, 490, 488, 0, 1037, 1369, 1406,
233587
+ 1499, 1510, 1609, 1182, 1186, 0, 208, 1614, 1243, 0,
233529
233588
  1244, 1091, 0, 462, 637, 1090, 1061, 1220, 0, 1225,
233530
- 0, 1474, 466, 469, 1106, 467, 458, 0, 1, 135,
233589
+ 0, 1475, 466, 469, 1106, 467, 458, 0, 1, 135,
233531
233590
  0, 0, 0, 487, 487, 0, 487, 0, 450, 458,
233532
- 453, 457, 598, 1156, 1234, 1248, 1608, 1538, 1242, 1245,
233533
- 1376, 0, 0, 1376, 0, 1376, 0, 1376, 0, 0,
233591
+ 453, 457, 598, 1156, 1234, 1248, 1609, 1539, 1242, 1245,
233592
+ 1377, 0, 0, 1377, 0, 1377, 0, 1377, 0, 0,
233534
233593
  1029, 0, 1030, 1070, 1118, 1119, 1117, 0, 1120, 313,
233535
- 346, 345, 344, 343, 348, 1376, 1124, 1101, 0, 0,
233594
+ 346, 345, 344, 343, 348, 1377, 1124, 1101, 0, 0,
233536
233595
  0, 0, 0, 0, 1135, 102, 100, 374, 375, 0,
233537
- 366, 364, 0, 1098, 1652, 689, 1653, 718, 696, 718,
233538
- 718, 1654, 1655, 1656, 1657, 685, 685, 1341, 698, 1658,
233539
- 1659, 1660, 1376, 1661, 1662, 686, 687, 723, 1663, 1664,
233540
- 1665, 1666, 1667, 0, 0, 1668, 718, 1669, 685, 1670,
233541
- 1671, 690, 1672, 659, 0, 1673, 688, 660, 1674, 726,
233542
- 726, 1675, 713, 1676, 385, 0, 389, 671, 672, 673,
233596
+ 366, 364, 0, 1098, 1653, 689, 1654, 718, 696, 718,
233597
+ 718, 1655, 1656, 1657, 1658, 685, 685, 1342, 698, 1659,
233598
+ 1660, 1661, 1377, 1662, 1663, 686, 687, 723, 1664, 1665,
233599
+ 1666, 1667, 1668, 0, 0, 1669, 718, 1670, 685, 1671,
233600
+ 1672, 690, 1673, 659, 0, 1674, 688, 660, 1675, 726,
233601
+ 726, 1676, 713, 1677, 385, 0, 389, 671, 672, 673,
233543
233602
  674, 699, 700, 675, 705, 706, 710, 676, 758, 685,
233544
- 1099, 1100, 1376, 385, 381, 1376, 385, 1063, 1376, 0,
233545
- 0, 171, 0, 0, 1154, 1166, 1677, 1678, 1679, 1680,
233546
- 1682, 1681, 1683, 1684, 1685, 1686, 1687, 1688, 1689, 1690,
233547
- 1691, 1694, 1692, 1693, 1695, 1696, 1697, 1698, 1699, 1700,
233548
- 1701, 1702, 1703, 1704, 1705, 1706, 1707, 1708, 1709, 1710,
233549
- 1711, 1712, 1713, 1714, 1715, 1716, 1717, 1718, 1719, 1720,
233550
- 1721, 1722, 1723, 1724, 1725, 1726, 1727, 1728, 1180, 0,
233603
+ 1099, 1100, 1377, 385, 381, 1377, 385, 1063, 1377, 0,
233604
+ 0, 171, 0, 0, 1154, 1166, 1678, 1679, 1680, 1681,
233605
+ 1683, 1682, 1684, 1685, 1686, 1687, 1688, 1689, 1690, 1691,
233606
+ 1692, 1695, 1693, 1694, 1696, 1697, 1698, 1699, 1700, 1701,
233607
+ 1702, 1703, 1704, 1705, 1706, 1707, 1708, 1709, 1710, 1711,
233608
+ 1712, 1713, 1714, 1715, 1716, 1717, 1718, 1719, 1720, 1721,
233609
+ 1722, 1723, 1724, 1725, 1726, 1727, 1728, 1729, 1180, 0,
233551
233610
  1181, 1171, 1160, 1167, 1168, 135, 422, 1207, 1151, 0,
233552
233611
  0, 0, 0, 1240, 0, 0, 0, 1072, 1074, 1075,
233553
- 958, 1085, 1032, 0, 1575, 1576, 1577, 1022, 0, 1578,
233554
- 1579, 1580, 1628, 888, 875, 884, 889, 876, 878, 885,
233555
- 1581, 1582, 826, 1583, 1584, 1083, 1585, 1586, 1587, 1589,
233556
- 1590, 1591, 880, 882, 1593, 1594, 0, 1084, 1596, 1597,
233557
- 1441, 1599, 1600, 1602, 1603, 886, 1605, 1607, 1608, 1609,
233558
- 1610, 1611, 1082, 1612, 887, 1614, 0, 0, 0, 1050,
233612
+ 958, 1085, 1032, 0, 1576, 1577, 1578, 1022, 0, 1579,
233613
+ 1580, 1581, 1629, 888, 875, 884, 889, 876, 878, 885,
233614
+ 1582, 1583, 826, 1584, 1585, 1083, 1586, 1587, 1588, 1590,
233615
+ 1591, 1592, 880, 882, 1594, 1595, 0, 1084, 1597, 1598,
233616
+ 1442, 1600, 1601, 1603, 1604, 886, 1606, 1608, 1609, 1610,
233617
+ 1611, 1612, 1082, 1613, 887, 1615, 0, 0, 0, 1050,
233559
233618
  977, 0, 0, 0, 1032, 859, 0, 0, 679, 680,
233560
233619
  701, 702, 681, 707, 708, 682, 0, 1044, 759, 904,
233561
233620
  1032, 871, 934, 802, 0, 857, 851, 1040, 473, 1038,
@@ -233569,21 +233628,21 @@ static const yytype_uint16 yydefact[] =
233569
233628
  0, 0, 0, 0, 0, 93, 42, 86, 0, 0,
233570
233629
  0, 0, 189, 202, 0, 0, 0, 0, 0, 199,
233571
233630
  0, 0, 182, 44, 176, 178, 0, 122, 0, 40,
233572
- 0, 0, 0, 46, 1087, 0, 1626, 1627, 1628, 1629,
233573
- 1630, 889, 0, 1632, 1633, 1634, 1635, 1636, 1637, 1638,
233574
- 1639, 1640, 1641, 1592, 1643, 1644, 1645, 1646, 1647, 1648,
233575
- 1606, 1650, 1612, 0, 1651, 0, 863, 980, 496, 978,
233576
- 1107, 0, 1088, 1094, 1028, 0, 1108, 1756, 1757, 1758,
233577
- 1759, 1760, 1761, 1762, 1763, 1764, 1765, 1766, 1767, 1768,
233578
- 1769, 1770, 1771, 1772, 1773, 1774, 1775, 1776, 1777, 1778,
233579
- 1779, 1780, 1781, 1782, 1783, 1784, 1785, 1786, 1787, 1788,
233580
- 1789, 1790, 1791, 1792, 1793, 1794, 1795, 1796, 1797, 1798,
233581
- 1799, 1800, 1801, 1802, 1803, 1804, 1805, 1806, 1807, 1808,
233582
- 1809, 1810, 1811, 1812, 1813, 1814, 1815, 1816, 1817, 1818,
233583
- 1819, 1820, 1821, 1822, 1823, 1824, 1825, 1826, 1827, 1828,
233584
- 1716, 1829, 1830, 1831, 1832, 1833, 1025, 1068, 1110, 1109,
233631
+ 0, 0, 0, 46, 1087, 0, 1627, 1628, 1629, 1630,
233632
+ 1631, 889, 0, 1633, 1634, 1635, 1636, 1637, 1638, 1639,
233633
+ 1640, 1641, 1642, 1593, 1644, 1645, 1646, 1647, 1648, 1649,
233634
+ 1607, 1651, 1613, 0, 1652, 0, 863, 980, 496, 978,
233635
+ 1107, 0, 1088, 1094, 1028, 0, 1108, 1757, 1758, 1759,
233636
+ 1760, 1761, 1762, 1763, 1764, 1765, 1766, 1767, 1768, 1769,
233637
+ 1770, 1771, 1772, 1773, 1774, 1775, 1776, 1777, 1778, 1779,
233638
+ 1780, 1781, 1782, 1783, 1784, 1785, 1786, 1787, 1788, 1789,
233639
+ 1790, 1791, 1792, 1793, 1794, 1795, 1796, 1797, 1798, 1799,
233640
+ 1800, 1801, 1802, 1803, 1804, 1805, 1806, 1807, 1808, 1809,
233641
+ 1810, 1811, 1812, 1813, 1814, 1815, 1816, 1817, 1818, 1819,
233642
+ 1820, 1821, 1822, 1823, 1824, 1825, 1826, 1827, 1828, 1829,
233643
+ 1717, 1830, 1831, 1832, 1833, 1834, 1025, 1068, 1110, 1109,
233585
233644
  1111, 1031, 0, 0, 420, 0, 0, 1121, 0, 1102,
233586
- 0, 0, 1376, 170, 1376, 313, 0, 313, 0, 0,
233645
+ 0, 0, 1377, 170, 1377, 313, 0, 313, 0, 0,
233587
233646
  1134, 1137, 377, 373, 371, 370, 372, 717, 704, 712,
233588
233647
  711, 0, 694, 693, 692, 0, 691, 0, 0, 718,
233589
233648
  718, 716, 695, 671, 0, 0, 0, 722, 0, 720,
@@ -233594,7 +233653,7 @@ static const yytype_uint16 yydefact[] =
233594
233653
  354, 0, 0, 0, 348, 0, 135, 0, 183, 1176,
233595
233654
  1177, 1175, 0, 0, 1159, 186, 203, 1170, 1179, 1169,
233596
233655
  1178, 1158, 1153, 0, 1150, 411, 1195, 1194, 1203, 165,
233597
- 0, 983, 0, 135, 1241, 1252, 0, 855, 977, 1021,
233656
+ 0, 983, 0, 135, 1241, 1253, 0, 855, 977, 1021,
233598
233657
  0, 0, 0, 0, 0, 0, 861, 986, 0, 0,
233599
233658
  782, 0, 0, 0, 1001, 0, 1007, 0, 0, 0,
233600
233659
  783, 763, 764, 0, 1049, 1058, 976, 0, 859, 972,
@@ -233612,7 +233671,7 @@ static const yytype_uint16 yydefact[] =
233612
233671
  1085, 542, 516, 541, 0, 0, 520, 0, 546, 759,
233613
233672
  581, 452, 510, 511, 514, 451, 0, 584, 0, 594,
233614
233673
  582, 515, 0, 1235, 1247, 0, 0, 0, 0, 0,
233615
- 1376, 0, 0, 77, 58, 264, 0, 121, 0, 0,
233674
+ 1377, 0, 0, 77, 58, 264, 0, 121, 0, 0,
233616
233675
  0, 0, 0, 0, 0, 85, 82, 83, 84, 0,
233617
233676
  0, 0, 0, 187, 188, 201, 0, 192, 193, 190,
233618
233677
  194, 195, 0, 0, 180, 181, 0, 0, 0, 0,
@@ -233621,10 +233680,10 @@ static const yytype_uint16 yydefact[] =
233621
233680
  410, 321, 0, 311, 0, 0, 0, 0, 0, 0,
233622
233681
  348, 1127, 1125, 1123, 1126, 1128, 1103, 0, 0, 0,
233623
233682
  0, 167, 169, 0, 310, 283, 0, 1139, 394, 0,
233624
- 0, 1376, 1136, 300, 0, 0, 0, 0, 385, 0,
233683
+ 0, 1377, 1136, 300, 0, 0, 0, 0, 385, 0,
233625
233684
  715, 714, 666, 662, 0, 0, 0, 0, 390, 0,
233626
233685
  0, 0, 0, 0, 0, 0, 0, 0, 0, 385,
233627
- 382, 385, 1064, 0, 385, 174, 0, 1376, 313, 0,
233686
+ 382, 385, 1064, 0, 385, 174, 0, 1377, 313, 0,
233628
233687
  1155, 1172, 184, 204, 185, 205, 443, 0, 417, 425,
233629
233688
  430, 408, 0, 408, 0, 427, 431, 408, 426, 408,
233630
233689
  421, 0, 166, 0, 1115, 0, 1114, 0, 1033, 0,
@@ -233641,17 +233700,17 @@ static const yytype_uint16 yydefact[] =
233641
233700
  808, 812, 785, 800, 0, 781, 0, 1035, 967, 969,
233642
233701
  0, 965, 0, 771, 772, 773, 765, 766, 767, 768,
233643
233702
  769, 770, 777, 943, 941, 942, 0, 0, 0, 908,
233644
- 805, 0, 0, 807, 806, 1039, 1368, 1405, 0, 484,
233703
+ 805, 0, 0, 807, 806, 1039, 1369, 1406, 0, 484,
233645
233704
  484, 484, 472, 482, 0, 651, 496, 1050, 651, 0,
233646
233705
  758, 640, 1106, 1223, 1211, 1212, 973, 1105, 135, 0,
233647
233706
  1231, 0, 0, 0, 141, 124, 0, 1229, 0, 157,
233648
233707
  159, 600, 0, 1032, 504, 505, 509, 509, 0, 0,
233649
- 509, 1603, 1494, 0, 0, 0, 0, 547, 589, 0,
233708
+ 509, 1604, 1495, 0, 0, 0, 0, 547, 589, 0,
233650
233709
  580, 544, 545, 0, 543, 1072, 548, 1071, 549, 552,
233651
233710
  553, 521, 590, 1059, 592, 0, 585, 456, 455, 596,
233652
- 0, 43, 0, 1376, 60, 0, 0, 0, 0, 0,
233653
- 0, 218, 255, 218, 98, 1376, 385, 1376, 385, 1273,
233654
- 1342, 1510, 0, 56, 89, 0, 288, 115, 0, 273,
233711
+ 0, 43, 0, 1377, 60, 0, 0, 0, 0, 0,
233712
+ 0, 218, 255, 218, 98, 1377, 385, 1377, 385, 1274,
233713
+ 1343, 1511, 0, 56, 89, 0, 288, 115, 0, 273,
233655
233714
  318, 79, 94, 108, 0, 0, 45, 177, 191, 196,
233656
233715
  111, 200, 197, 1144, 198, 122, 0, 41, 0, 109,
233657
233716
  0, 1142, 0, 0, 47, 113, 1146, 494, 494, 494,
@@ -233659,7 +233718,7 @@ static const yytype_uint16 yydefact[] =
233659
233718
  0, 312, 0, 419, 399, 400, 410, 0, 313, 0,
233660
233719
  313, 1124, 0, 0, 1104, 105, 0, 0, 0, 0,
233661
233720
  303, 301, 334, 0, 308, 302, 311, 0, 0, 259,
233662
- 0, 1267, 0, 0, 395, 391, 0, 0, 0, 684,
233721
+ 0, 1268, 0, 0, 395, 391, 0, 0, 0, 684,
233663
233722
  697, 358, 671, 0, 725, 724, 726, 726, 671, 0,
233664
233723
  657, 0, 669, 0, 709, 678, 751, 752, 753, 754,
233665
233724
  755, 756, 757, 351, 353, 0, 355, 0, 0, 0,
@@ -233675,7 +233734,7 @@ static const yytype_uint16 yydefact[] =
233675
233734
  0, 0, 0, 0, 811, 799, 0, 809, 813, 0,
233676
233735
  0, 0, 793, 0, 0, 791, 823, 787, 0, 0,
233677
233736
  824, 0, 0, 907, 916, 484, 484, 484, 484, 481,
233678
- 483, 0, 0, 0, 0, 1494, 0, 623, 603, 599,
233737
+ 483, 0, 0, 0, 0, 1495, 0, 623, 603, 599,
233679
233738
  601, 610, 623, 628, 872, 649, 873, 1090, 0, 559,
233680
233739
  494, 1058, 559, 0, 1198, 1214, 0, 1232, 0, 146,
233681
233740
  128, 148, 147, 0, 155, 0, 1032, 0, 146, 130,
@@ -233689,8 +233748,8 @@ static const yytype_uint16 yydefact[] =
233689
233748
  0, 0, 0, 0, 0, 496, 492, 493, 864, 1027,
233690
233749
  441, 442, 182, 440, 322, 0, 0, 310, 0, 1139,
233691
233750
  1122, 348, 0, 0, 104, 106, 0, 170, 313, 0,
233692
- 287, 283, 309, 281, 280, 282, 0, 1268, 175, 0,
233693
- 1262, 1138, 0, 0, 1133, 703, 668, 0, 721, 719,
233751
+ 287, 283, 309, 281, 280, 282, 0, 1269, 175, 0,
233752
+ 1263, 1138, 0, 0, 1133, 703, 668, 0, 721, 719,
233694
233753
  667, 0, 663, 670, 385, 0, 444, 0, 403, 439,
233695
233754
  428, 433, 0, 437, 435, 434, 429, 432, 0, 1019,
233696
233755
  1015, 0, 874, 985, 0, 971, 999, 998, 829, 841,
@@ -233709,15 +233768,15 @@ static const yytype_uint16 yydefact[] =
233709
233768
  218, 0, 0, 59, 0, 332, 275, 324, 307, 290,
233710
233769
  0, 0, 0, 219, 0, 295, 0, 51, 71, 0,
233711
233770
  67, 0, 96, 0, 0, 0, 0, 0, 54, 66,
233712
- 0, 49, 0, 385, 385, 57, 274, 1098, 1652, 1653,
233713
- 1654, 1655, 1656, 1657, 1658, 1659, 1660, 1661, 1662, 1663,
233714
- 1664, 1665, 1666, 1667, 1745, 1668, 225, 1669, 1441, 1670,
233715
- 1671, 1672, 0, 1673, 660, 1674, 1675, 1676, 946, 947,
233771
+ 0, 49, 0, 385, 385, 57, 274, 1098, 1653, 1654,
233772
+ 1655, 1656, 1657, 1658, 1659, 1660, 1661, 1662, 1663, 1664,
233773
+ 1665, 1666, 1667, 1668, 1746, 1669, 225, 1670, 1442, 1671,
233774
+ 1672, 1673, 0, 1674, 660, 1675, 1676, 1677, 946, 947,
233716
233775
  223, 317, 220, 325, 222, 224, 0, 1099, 221, 320,
233717
233776
  112, 1145, 0, 110, 0, 1143, 119, 117, 114, 1147,
233718
- 867, 868, 865, 494, 422, 402, 0, 0, 1267, 0,
233719
- 0, 1376, 0, 103, 0, 1139, 168, 310, 0, 340,
233720
- 259, 335, 0, 1267, 1265, 0, 1261, 0, 0, 0,
233777
+ 867, 868, 865, 494, 422, 402, 0, 0, 1268, 0,
233778
+ 0, 1377, 0, 103, 0, 1139, 168, 310, 0, 340,
233779
+ 259, 335, 0, 1268, 1266, 0, 1262, 0, 0, 0,
233721
233780
  664, 658, 356, 0, 416, 0, 436, 1018, 890, 901,
233722
233781
  997, 0, 0, 0, 0, 896, 891, 1055, 1056, 1051,
233723
233782
  820, 818, 815, 0, 816, 794, 0, 0, 792, 788,
@@ -233731,21 +233790,21 @@ static const yytype_uint16 yydefact[] =
233731
233790
  0, 0, 276, 0, 0, 0, 239, 0, 0, 307,
233732
233791
  0, 314, 235, 236, 349, 0, 0, 0, 63, 53,
233733
233792
  50, 55, 64, 0, 0, 65, 68, 656, 80, 73,
233734
- 1745, 1752, 0, 0, 0, 0, 0, 0, 398, 405,
233735
- 182, 0, 0, 283, 1264, 0, 0, 0, 310, 107,
233736
- 0, 0, 0, 1267, 0, 0, 215, 0, 256, 0,
233737
- 172, 1266, 0, 1254, 0, 1131, 1132, 0, 0, 404,
233793
+ 1746, 1753, 0, 0, 0, 0, 0, 0, 398, 405,
233794
+ 182, 0, 0, 283, 1265, 0, 0, 0, 310, 107,
233795
+ 0, 0, 0, 1268, 0, 0, 215, 0, 256, 0,
233796
+ 172, 1267, 0, 1255, 0, 1131, 1132, 0, 0, 404,
233738
233797
  847, 0, 0, 0, 1053, 817, 821, 819, 796, 905,
233739
233798
  921, 918, 644, 0, 647, 611, 0, 0, 526, 533,
233740
233799
  0, 536, 530, 0, 613, 0, 0, 615, 617, 0,
233741
- 0, 0, 652, 0, 0, 0, 1067, 557, 1317, 1586,
233742
- 1493, 558, 0, 562, 556, 560, 565, 567, 566, 568,
233800
+ 0, 0, 652, 0, 0, 0, 1067, 557, 1318, 1587,
233801
+ 1494, 558, 0, 562, 556, 560, 565, 567, 566, 568,
233743
233802
  564, 575, 0, 578, 1077, 578, 0, 0, 0, 0,
233744
233803
  161, 0, 152, 152, 0, 138, 961, 0, 218, 0,
233745
233804
  306, 329, 254, 0, 0, 237, 0, 244, 0, 278,
233746
233805
  279, 277, 238, 307, 313, 240, 0, 350, 0, 72,
233747
233806
  0, 88, 0, 0, 319, 120, 118, 866, 422, 0,
233748
- 1139, 259, 1261, 0, 0, 0, 283, 175, 1263, 272,
233807
+ 1139, 259, 1262, 0, 0, 0, 283, 175, 1264, 272,
233749
233808
  265, 266, 267, 268, 269, 270, 271, 286, 285, 257,
233750
233809
  258, 0, 0, 0, 1133, 0, 848, 0, 849, 0,
233751
233810
  496, 649, 0, 0, 643, 0, 524, 522, 525, 527,
@@ -233754,20 +233813,20 @@ static const yytype_uint16 yydefact[] =
233754
233813
  0, 0, 529, 529, 0, 132, 0, 651, 0, 0,
233755
233814
  154, 154, 140, 0, 313, 331, 0, 298, 305, 297,
233756
233815
  0, 0, 234, 0, 241, 339, 243, 227, 655, 0,
233757
- 75, 0, 326, 397, 401, 0, 217, 1255, 310, 0,
233758
- 1261, 259, 1267, 0, 1258, 0, 0, 1139, 850, 0,
233816
+ 75, 0, 326, 397, 401, 0, 217, 1256, 310, 0,
233817
+ 1262, 259, 1268, 0, 1259, 0, 0, 1139, 850, 0,
233759
233818
  924, 642, 645, 0, 618, 0, 0, 0, 653, 654,
233760
233819
  626, 0, 0, 0, 561, 0, 0, 577, 0, 460,
233761
233820
  459, 127, 152, 131, 162, 151, 506, 153, 506, 0,
233762
233821
  339, 284, 0, 0, 262, 227, 0, 253, 0, 69,
233763
- 87, 327, 0, 310, 1256, 216, 173, 1259, 1260, 0,
233822
+ 87, 327, 0, 310, 1257, 216, 173, 1260, 1261, 0,
233764
233823
  651, 920, 0, 0, 0, 0, 534, 0, 540, 635,
233765
233824
  571, 0, 570, 912, 913, 531, 154, 509, 509, 651,
233766
233825
  253, 299, 304, 0, 242, 245, 336, 337, 338, 0,
233767
- 249, 246, 250, 0, 1261, 0, 1129, 1574, 1318, 1545,
233826
+ 249, 246, 250, 0, 1262, 0, 1129, 1575, 1319, 1546,
233768
233827
  0, 922, 925, 923, 917, 646, 0, 0, 532, 572,
233769
233828
  528, 506, 143, 142, 139, 218, 261, 0, 0, 0,
233770
- 251, 0, 252, 226, 1257, 1139, 0, 929, 928, 927,
233829
+ 251, 0, 252, 226, 1258, 1139, 0, 929, 928, 927,
233771
233830
  931, 930, 535, 0, 509, 333, 231, 0, 230, 0,
233772
233831
  316, 248, 651, 0, 0, 144, 229, 233, 232, 1130,
233773
233832
  926, 539
@@ -234177,7 +234236,7 @@ static const yytype_int16 yypgoto[] =
234177
234236
  positive, shift that token. If negative, reduce the rule which
234178
234237
  number is the opposite. If zero, do what YYDEFACT says.
234179
234238
  If YYTABLE_NINF, syntax error. */
234180
- #define YYTABLE_NINF -1756
234239
+ #define YYTABLE_NINF -1757
234181
234240
  static const yytype_int16 yytable[] =
234182
234241
  {
234183
234242
  479, 475, 940, 1004, 804, 728, 1144, 61, 970, 1183,
@@ -234192,10 +234251,10 @@ static const yytype_int16 yytable[] =
234192
234251
  618, 1596, -726, 610, 2182, 2183, 2184, 821, 611, 1798,
234193
234252
  2086, -726, -723, -446, 2345, -718, -723, 1190, 2289, 1190,
234194
234253
  626, 805, 1181, 549, -1070, 2086, 549, 821, -1095, -1095,
234195
- 483, 2839, -449, 1145, 1686, -1642, -1092, -1092, 1801, -1631,
234196
- 1190, -1642, -1649, 1227, -1754, -1754, 1230, -1734, -1734, -1745,
234197
- -1745, -1649, 2594, -1096, -1631, 929, 2206, 1516, 922, -1752,
234198
- -1752, -1096, 1233, 2684, -685, -698, -713, 821, 1419, -1093,
234254
+ 483, 2839, -449, 1145, 1686, -1643, -1092, -1092, 1801, -1632,
234255
+ 1190, -1643, -1650, 1227, -1755, -1755, 1230, -1735, -1735, -1746,
234256
+ -1746, -1650, 2594, -1096, -1632, 929, 2206, 1516, 922, -1753,
234257
+ -1753, -1096, 1233, 2684, -685, -698, -713, 821, 1419, -1093,
234199
234258
  -1093, 549, 549, 1748, 963, 1369, 1238, 2779, 2147, 57,
234200
234259
  1316, 821, 1614, 3, 4, 966, 587, 1992, 1366, 1238,
234201
234260
  549, 728, 2656, -182, 821, 57, 1190, 1447, -182, 2732,
@@ -234210,7 +234269,7 @@ static const yytype_int16 yytable[] =
234210
234269
  2792, 1181, 2841, 546, 590, 1173, 804, 2732, 2658, 2755,
234211
234270
  2148, 2824, 604, 601, 1456, 2494, 1489, 1774, 728, 2397,
234212
234271
  1367, 959, 1296, 1490, 959, 1463, 960, 1182, 1401, 1164,
234213
- 2908, 564, 2591, -1731, -1731, 1819, 1819, 2654, 719, 2749,
234272
+ 2908, 564, 2591, -1732, -1732, 1819, 1819, 2654, 719, 2749,
234214
234273
  930, 84, 931, 1141, 1316, 1961, 1184, 2354, 2386, 487,
234215
234274
  1962, 1439, 953, 1184, 2996, 2257, 1474, 2783, 1224, 1308,
234216
234275
  2551, 2632, 2373, 2763, 2555, 721, 2821, 2932, 1185, 2784,
@@ -234241,13 +234300,13 @@ static const yytype_int16 yytable[] =
234241
234300
  -963, 1186, 1712, 1536, 479, 1442, 2096, 2926, 2194, 932,
234242
234301
  1188, -723, 612, 933, -718, 1540, 1541, 2674, -446, 1787,
234243
234302
  -446, 630, 1311, -1070, 1569, 631, 61, -1095, -1095, 56,
234244
- 2585, 610, 44, 807, -1642, 1289, 611, -449, -1631, -449,
234245
- -1642, -1649, 951, 1052, 479, 1138, 54, 76, 2596, 2865,
234246
- -1649, 1746, -1096, -1631, 1871, 1474, 942, 2872, 1179, 1180,
234303
+ 2585, 610, 44, 807, -1643, 1289, 611, -449, -1632, -449,
234304
+ -1643, -1650, 951, 1052, 479, 1138, 54, 76, 2596, 2865,
234305
+ -1650, 1746, -1096, -1632, 1871, 1474, 942, 2872, 1179, 1180,
234247
234306
  -1096, 1932, 2871, 1171, 1175, -713, 1578, 1242, 1243, 1345,
234248
234307
  1360, 1749, 1598, 57, 728, 728, 2007, 2512, 613, 1475,
234249
234308
  1242, 1243, 2998, 1761, -182, -182, 1469, 2582, 809, 728,
234250
- -1729, -1729, 1456, 83, 719, 719, 2101, 629, 1597, 810,
234309
+ -1730, -1730, 1456, 83, 719, 719, 2101, 629, 1597, 810,
234251
234310
  1296, 1938, 1940, 2170, 1604, 2004, 2005, 2006, 2007, 719,
234252
234311
  2086, 654, 1598, 1141, 2086, 2816, 2171, 1650, 730, 657,
234253
234312
  2637, 721, 721, 1316, 804, 57, 596, 2263, 630, 658,
@@ -234267,38 +234326,38 @@ static const yytype_int16 yytable[] =
234267
234326
  721, 1847, 1645, 536, 1450, 1762, 2264, 1840, 1574, 1456,
234268
234327
  479, 814, 34, 821, 3012, 1480, 2265, 1406, 815, 1695,
234269
234328
  -495, 597, 1689, 1508, 1457, -495, 31, 1677, 1300, 630,
234270
- 479, 479, 479, 1363, 479, 479, 35, 722, 1811, -1730,
234271
- -1730, 1506, 487, 1645, 1645, 1404, 1696, 1867, 1868, 1869,
234272
- 537, 961, 820, -1732, -1732, 1992, 2389, 2303, 479, 2086,
234273
- -1756, -1756, -1756, 1206, 1207, 1846, 1407, 33, 2086, 977,
234329
+ 479, 479, 479, 1363, 479, 479, 35, 722, 1811, -1731,
234330
+ -1731, 1506, 487, 1645, 1645, 1404, 1696, 1867, 1868, 1869,
234331
+ 537, 961, 820, -1733, -1733, 1992, 2389, 2303, 479, 2086,
234332
+ -1757, -1757, -1757, 1206, 1207, 1846, 1407, 33, 2086, 977,
234274
234333
  1137, 2185, 816, 2086, 26, 978, 2086, 803, 803, 642,
234275
234334
  34, 643, 2115, 728, 1857, 1454, 2121, 2173, 88, 1864,
234276
234335
  2176, 1405, 2177, -495, 2124, 2086, 89, 921, 1921, 821,
234277
234336
  962, 2687, 488, 719, 35, 1236, 2688, 1918, 1237, 936,
234278
- 31, 479, 2646, -1733, -1733, 479, 479, 724, 36, 1943,
234337
+ 31, 479, 2646, -1734, -1734, 479, 479, 724, 36, 1943,
234279
234338
  1379, 1944, 927, 1380, 1946, 1408, 479, 2181, 2845, 951,
234280
234339
  721, 90, 1247, 656, 57, 2214, 1907, 2849, 1908, 1247,
234281
234340
  2221, 2390, -495, 2382, 730, 2384, 26, 1393, 1394, 1893,
234282
234341
  1400, 33, 611, 611, 943, 611, 742, 1822, 1697, 1508,
234283
234342
  649, 1457, 739, 1698, 34, 944, 1457, 722, 1699, 1052,
234284
- 1849, 946, 1276, 1210, 1211, 1852, 1052, 649, 91, -1735,
234285
- -1735, 979, 31, 2086, -1736, -1736, 1481, 728, 35, 2002,
234343
+ 1849, 946, 1276, 1210, 1211, 1852, 1052, 649, 91, -1736,
234344
+ -1736, 979, 31, 2086, -1737, -1737, 1481, 728, 35, 2002,
234286
234345
  2003, 2004, 2005, 2006, 2007, 1592, 650, 1052, 1593, 949,
234287
234346
  1407, 1457, 1763, 977, 947, 804, 2391, 719, 2392, 978,
234288
234347
  1298, 917, 918, 650, 920, 2086, 950, 1310, 804, 26,
234289
234348
  972, 594, 1454, 33, 2805, 974, 1313, 1454, 2020, 957,
234290
- 2652, 651, 728, 2336, 721, 1960, 34, -1737, -1737, 1964,
234349
+ 2652, 651, 728, 2336, 721, 1960, 34, -1738, -1738, 1964,
234291
234350
  1361, 1965, 2805, 2317, 2318, 2319, 2320, 1511, 2202, 988,
234292
234351
  1512, 1371, 719, 1247, 1247, 31, 1514, 2120, 1515, 1408,
234293
234352
  35, 1930, 1454, 2065, 2041, 2066, 630, 2337, -1070, 2561,
234294
- 631, 722, 2564, 492, 36, 493, -1738, -1738, 652, 721,
234353
+ 631, 722, 2564, 492, 36, 493, -1739, -1739, 652, 721,
234295
234354
  2903, 975, 977, 2557, 609, 609, 1594, 609, 978, 1595,
234296
234355
  976, 1636, 2339, 724, 1757, 652, 33, 1229, 1881, 989,
234297
234356
  496, 1882, 1138, 1006, 2090, 2019, 1967, 2021, 2022, 1700,
234298
234357
  2523, 1914, 1052, 1010, 1593, 979, 722, 977, 2086, 2408,
234299
- 1701, -1739, -1739, 978, 1300, 479, 2239, 2401, -1740, -1740,
234358
+ 1701, -1740, -1740, 978, 1300, 479, 2239, 2401, -1741, -1741,
234300
234359
  1998, 730, 730, 1922, 980, 1142, 1595, 1340, 1341, 1342,
234301
- 1343, 1344, 1345, -1741, -1741, 1928, 730, 36, 1929, 1645,
234360
+ 1343, 1344, 1345, -1742, -1742, 1928, 730, 36, 1929, 1645,
234302
234361
  1645, 1645, 1645, 2887, 2086, 1645, 1645, 1645, 1645, 1645,
234303
234362
  1645, 1645, 1645, 1645, 1645, 1143, 2982, 2983, 2383, 2474,
234304
234363
  977, 2043, 1146, 2966, 990, 3005, 978, 2400, 1148, 2409,
@@ -234307,31 +234366,31 @@ static const yytype_int16 yytable[] =
234307
234366
  724, 563, 800, 61, 956, 576, 958, 1138, 1158, 1645,
234308
234367
  1645, 2228, 2229, 2341, 2556, 2365, 2559, 2199, 2168, 983,
234309
234368
  479, 2169, 479, 3015, 1160, 479, 479, 2209, 977, 979,
234310
- 61, -1742, -1742, 636, 978, 479, 634, 479, 479, 479,
234369
+ 61, -1743, -1743, 636, 978, 479, 634, 479, 479, 479,
234311
234370
  479, 479, 479, 479, 992, 2086, 1162, 26, 1167, 2670,
234312
234371
  635, 638, 1627, 1628, 1629, 3019, 1630, 1631, 1632, 1633,
234313
234372
  1634, 1635, 1171, 479, 2363, 479, 1175, 2364, 980, 1174,
234314
- 730, 479, 479, 479, 479, 1138, -1743, -1743, 2368, 479,
234373
+ 730, 479, 479, 479, 479, 1138, -1744, -1744, 2368, 479,
234315
234374
  479, 2369, 979, 31, 479, 1177, 984, 2485, 479, 1178,
234316
234375
  1882, 479, 479, 479, 479, 479, 479, 479, 479, 479,
234317
234376
  2504, 1194, 479, 2505, 1578, 2524, 2675, 479, 1595, 1595,
234318
234377
  479, 479, 1195, 2742, 1052, 2045, 2743, 1138, 2770, 1007,
234319
- 2046, 1882, 2673, 982, 33, -1756, -1756, -1756, 2335, 2002,
234378
+ 2046, 1882, 2673, 982, 33, -1757, -1757, -1757, 2335, 2002,
234320
234379
  2003, 2004, 2005, 2006, 2007, 993, 479, 34, 2798, 2747,
234321
234380
  979, 1595, 2335, 728, 1197, 933, 2801, 980, 2818, 2802,
234322
234381
  2121, 2819, 2822, 1008, 1225, 2819, 1228, 479, 1765, 1735,
234323
234382
  1231, 35, 1232, 719, 2837, 57, 1234, 2838, 479, 479,
234324
- -1744, -1744, 1235, 594, 2450, 36, 1598, 1253, 2408, 724,
234383
+ -1745, -1745, 1235, 594, 2450, 36, 1598, 1253, 2408, 724,
234325
234384
  804, 2877, 980, 1263, 2838, 994, 2598, 1264, 2878, 1266,
234326
234385
  721, 1595, 57, 995, 2890, 2284, 2911, 2819, 1011, 2912,
234327
234386
  730, 1268, 982, -689, 2336, 996, 1138, 1619, 1138, 2796,
234328
- 2936, 728, 2586, 2937, -1746, -1746, 2975, 1822, 2336, 2819,
234329
- 984, 2995, -1747, -1747, 2838, -1748, -1748, 722, -696, 728,
234330
- 2546, 719, 1012, 1810, 2601, 980, 997, 982, 2337, -1749,
234331
- -1749, -1750, -1750, 2234, 2546, -1751, -1751, 1052, 1271, 719,
234387
+ 2936, 728, 2586, 2937, -1747, -1747, 2975, 1822, 2336, 2819,
234388
+ 984, 2995, -1748, -1748, 2838, -1749, -1749, 722, -696, 728,
234389
+ 2546, 719, 1012, 1810, 2601, 980, 997, 982, 2337, -1750,
234390
+ -1750, -1751, -1751, 2234, 2546, -1752, -1752, 1052, 1271, 719,
234332
234391
  479, 479, 2337, 479, 2338, 728, 1693, 1273, 721, 977,
234333
- 1598, 2047, 728, 2339, -686, 978, 1272, 983, 2338, -1753,
234334
- -1753, 1138, 2048, -1755, -1755, 719, 721, 2339, 1496, 1497,
234392
+ 1598, 2047, 728, 2339, -686, 978, 1272, 983, 2338, -1754,
234393
+ -1754, 1138, 2048, -1756, -1756, 719, 721, 2339, 1496, 1497,
234335
234394
  2797, 1274, 719, 999, 479, 2251, 728, 1799, 1800, 479,
234336
234395
  982, 2350, 2603, 980, 1275, 722, 1911, 2340, 36, 984,
234337
234396
  1750, 1277, 721, 2258, 730, 1000, 719, -547, -547, 721,
@@ -234397,12 +234456,12 @@ static const yytype_int16 yytable[] =
234397
234456
  2544, 2550, 2560, 2566, 820, 2565, 492, 1992, 493, 728,
234398
234457
  2567, 2568, 1993, 1994, 1995, 2570, 2581, 2450, 721, 1138,
234399
234458
  2587, 2588, 2589, 1138, 2457, 1138, 2593, 2404, 2617, 719,
234400
- 495, 2618, 2622, 496, 2635, 2634, -1092, -1729, 2645, -1730,
234401
- 728, -1731, 926, 728, -1732, 2453, -1733, 2636, 993, -1734,
234402
- -1735, 993, -1736, 1587, -1737, 722, 721, 1298, 2880, 2643,
234403
- 719, 1588, 2647, 719, -1738, -1739, -1740, -1741, 2478, 2648,
234404
- -1742, 2910, -1743, -1744, 973, -1746, -1747, -1748, 2661, -1749,
234405
- -1750, 2664, -1751, -1752, -1753, 730, -1754, 721, 1298, -1755,
234459
+ 495, 2618, 2622, 496, 2635, 2634, -1092, -1730, 2645, -1731,
234460
+ 728, -1732, 926, 728, -1733, 2453, -1734, 2636, 993, -1735,
234461
+ -1736, 993, -1737, 1587, -1738, 722, 721, 1298, 2880, 2643,
234462
+ 719, 1588, 2647, 719, -1739, -1740, -1741, -1742, 2478, 2648,
234463
+ -1743, 2910, -1744, -1745, 973, -1747, -1748, -1749, 2661, -1750,
234464
+ -1751, 2664, -1752, -1753, -1754, 730, -1755, 721, 1298, -1756,
234406
234465
  721, 2662, 2496, 722, -1093, 2891, 2667, 2893, 994, 2668,
234407
234466
  2671, 994, 479, 2324, 1589, 2327, 995, 2672, 2686, 995,
234408
234467
  1153, 1155, 1157, 2699, 2820, 2726, 2704, 2820, 996, 2722,
@@ -234410,12 +234469,12 @@ static const yytype_int16 yytable[] =
234410
234469
  2739, 2744, 2757, 1999, 2000, 2001, 2756, 2002, 2003, 2004,
234411
234470
  2005, 2006, 2007, 2758, 2759, 2760, 2767, 2769, 2774, 997,
234412
234471
  479, 479, 997, 2775, 2776, 479, 730, 2963, 2858, 1322,
234413
- 479, 585, 2803, 479, 479, 2848, -1756, 646, 479, 2789,
234472
+ 479, 585, 2803, 479, 479, 2848, -1757, 646, 479, 2789,
234414
234473
  647, 2790, 2799, 2811, 585, 2812, 2827, 2813, 2815, 506,
234415
234474
  2823, 2825, 2831, 2834, 2839, 2853, 2857, 2859, 479, 2084,
234416
234475
  2868, 1324, 479, 2084, 2862, 724, 999, 2873, 2874, 999,
234417
234476
  2455, 2875, 2879, 1198, 1199, 2883, 647, 506, 506, 2884,
234418
- 2892, 2895, 2896, -1756, 479, 2898, 2909, 2913, 1000, 2752,
234477
+ 2892, 2895, 2896, -1757, 479, 2898, 2909, 2913, 1000, 2752,
234419
234478
  2915, 1000, 2916, 551, 2918, 2193, 2921, 57, 2922, 2923,
234420
234479
  476, 2927, 2574, 2576, 476, 2928, 2945, 2905, 1002, 2929,
234421
234480
  2218, 1002, 914, 914, 559, 559, 2938, 559, 1138, 2534,
@@ -234423,12 +234482,12 @@ static const yytype_int16 yytable[] =
234423
234482
  2974, 2040, 2977, 724, 725, 2986, 730, 506, 2979, 2997,
234424
234483
  719, 2989, 2991, 2987, 2988, 3013, 3002, 3003, 585, 1200,
234425
234484
  1201, 724, 1998, 3014, 3016, 3021, 2415, 948, 2411, 1842,
234426
- 585, 2155, -1756, 2370, 2904, 2727, 2457, 721, 2949, 2486,
234427
- 2577, 2625, 2955, 3011, 2852, 2992, 2985, 724, -1756, 2788,
234428
- 1443, 2139, 2162, -1756, 724, 2491, 2951, 2416, 2990, 2135,
234485
+ 585, 2155, -1757, 2370, 2904, 2727, 2457, 721, 2949, 2486,
234486
+ 2577, 2625, 2955, 3011, 2852, 2992, 2985, 724, -1757, 2788,
234487
+ 1443, 2139, 2162, -1757, 724, 2491, 2951, 2416, 2990, 2135,
234429
234488
  2950, 1538, 1559, 2236, 2453, 2195, 585, 585, 585, 2669,
234430
234489
  1384, 1422, 2475, 1808, 722, 1423, 1365, 2119, 724, 2886,
234431
- 2900, 2980, 2129, 1202, 1203, 1204, 1205, 1206, 1207, -1756,
234490
+ 2900, 2980, 2129, 1202, 1203, 1204, 1205, 1206, 1207, -1757,
234432
234491
  1785, 1208, 1209, 2356, 2941, 2894, -458, 2571, 2653, 803,
234433
234492
  2833, 1807, 2097, 2077, 1427, 479, 2329, 2077, 730, 2817,
234434
234493
  -458, 479, 2325, 2542, 2882, -458, 2558, 2881, 2888, 2725,
@@ -234443,7 +234502,7 @@ static const yytype_int16 yytable[] =
234443
234502
  0, 0, 2379, 0, 0, 0, 0, 0, 0, 0,
234444
234503
  1486, 0, 0, 0, 0, 476, 0, 1999, 2000, 2001,
234445
234504
  0, 2002, 2003, 2004, 2005, 2006, 2007, 2413, 2457, 0,
234446
- 0, 1265, -458, 0, 1198, 1199, -1756, 0, 0, 0,
234505
+ 0, 1265, -458, 0, 1198, 1199, -1757, 0, 0, 0,
234447
234506
  0, -458, 2460, 2461, 2462, 2463, 2464, 2465, 2466, 2467,
234448
234507
  2468, 2469, 0, 0, 2649, 2772, 0, 57, 0, 0,
234449
234508
  724, 479, 2084, 0, 0, 479, 730, 0, 0, 1648,
@@ -234452,8 +234511,8 @@ static const yytype_int16 yytable[] =
234452
234511
  0, 0, 597, 479, 2084, 0, 0, 730, 1304, 0,
234453
234512
  730, 0, 0, 476, 0, 0, 479, 0, 1212, 1213,
234454
234513
  1200, 1201, 0, 0, 0, 0, 0, 0, 1322, 727,
234455
- 479, 2077, 0, 479, 0, -1756, 2077, 0, 1214, 2077,
234456
- 0, 724, 0, 1138, 0, 476, -1756, 1138, 479, 0,
234514
+ 479, 2077, 0, 479, 0, -1757, 2077, 0, 1214, 2077,
234515
+ 0, 724, 0, 1138, 0, 476, -1757, 1138, 479, 0,
234457
234516
  2724, 585, 1246, 1340, 1341, 1342, 1343, 1344, 1345, 1246,
234458
234517
  1324, 1519, 0, 0, 0, 0, 1562, 0, 0, 506,
234459
234518
  506, 820, 0, 0, 1992, 585, 585, 1391, 0, 1993,
@@ -234465,12 +234524,12 @@ static const yytype_int16 yytable[] =
234465
234524
  2050, 479, 585, 0, 0, 479, 585, 0, 0, 0,
234466
234525
  0, 0, 479, 2084, 0, 1568, 1312, 57, 476, 0,
234467
234526
  0, 724, 0, 630, 2901, 0, 946, 631, 0, 0,
234468
- 0, -1756, 0, 479, 0, 0, 0, 0, 1996, 0,
234469
- 0, 1246, 0, 1246, 1246, 0, 725, -1756, 2077, 0,
234470
- 0, 724, -1756, 479, 476, 0, 0, 0, 0, 0,
234527
+ 0, -1757, 0, 479, 0, 0, 0, 0, 1996, 0,
234528
+ 0, 1246, 0, 1246, 1246, 0, 725, -1757, 2077, 0,
234529
+ 0, 724, -1757, 479, 476, 0, 0, 0, 0, 0,
234471
234530
  1997, 1298, 0, 0, 0, 0, 479, 0, 1210, 1211,
234472
234531
  0, 0, 0, 0, 0, 727, 0, 0, 0, 0,
234473
- 0, 0, 0, 0, 0, 0, 1138, 2457, -1756, 0,
234532
+ 0, 0, 0, 0, 0, 0, 1138, 2457, -1757, 0,
234474
234533
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
234475
234534
  0, 0, 0, 479, 2084, 0, 479, 479, 0, 0,
234476
234535
  0, 1246, 2964, 0, 1246, 1246, 0, 0, 0, 2864,
@@ -234485,7 +234544,7 @@ static const yytype_int16 yytable[] =
234485
234544
  0, 1200, 1201, 0, 0, 0, 1648, 1648, 1803, 0,
234486
234545
  0, 1648, 0, 0, 0, 0, 0, 0, 0, 1998,
234487
234546
  0, 647, 647, 0, 506, 506, 0, 506, 647, 0,
234488
- 0, 585, 0, 725, 725, -1756, 0, 0, 0, 0,
234547
+ 0, 585, 0, 725, 725, -1757, 0, 0, 0, 0,
234489
234548
  0, 0, 0, 724, 0, 0, 0, 0, 725, 0,
234490
234549
  2746, 0, 1648, 1648, 0, 0, 0, 0, 0, 0,
234491
234550
  0, 0, 0, 2455, 0, 1202, 1203, 1204, 1205, 1206,
@@ -234495,10 +234554,10 @@ static const yytype_int16 yytable[] =
234495
234554
  0, 0, 2777, 0, 0, 0, 1546, 0, 1547, 0,
234496
234555
  0, 0, 724, 0, 0, 724, 0, 1553, 0, 0,
234497
234556
  647, 0, 0, 0, 1999, 2000, 2001, 0, 2002, 2003,
234498
- 2004, 2005, 2006, 2007, 1554, -1756, 0, 0, 0, 0,
234557
+ 2004, 2005, 2006, 2007, 1554, -1757, 0, 0, 0, 0,
234499
234558
  0, 0, 1340, 1341, 1342, 1343, 1344, 1345, 0, 0,
234500
234559
  0, 0, 0, 914, 585, 0, 0, 0, 0, 0,
234501
- 0, 727, 1573, 1575, 0, 0, 0, 0, -1534, 0,
234560
+ 0, 727, 1573, 1575, 0, 0, 0, 0, -1535, 0,
234502
234561
  0, 0, 725, 1997, 0, 585, 0, 585, 2835, 1210,
234503
234562
  1211, 0, 0, 0, 0, 0, 1767, 0, 1773, 0,
234504
234563
  0, 0, 0, 0, 1606, 1607, 0, 0, 1620, 1621,
@@ -234507,58 +234566,58 @@ static const yytype_int16 yytable[] =
234507
234566
  2004, 2005, 2006, 2007, 585, 0, 0, 0, 0, 0,
234508
234567
  0, 0, 0, 1446, 506, 0, 0, 0, 0, 0,
234509
234568
  0, 0, 1998, 0, 506, 1824, 506, 1828, 0, 506,
234510
- 0, 0, -1536, 0, 0, 506, 0, 506, 0, 0,
234511
- 0, -1534, 0, 0, 0, 0, 0, 0, 647, 506,
234569
+ 0, 0, -1537, 0, 0, 506, 0, 506, 0, 0,
234570
+ 0, -1535, 0, 0, 0, 0, 0, 0, 647, 506,
234512
234571
  0, 0, 0, 647, 506, 0, 0, 0, 506, 506,
234513
234572
  506, 506, 0, 506, 506, 0, 0, 0, 0, 0,
234514
234573
  1212, 1213, 0, 0, 0, 0, 0, 0, 0, 0,
234515
234574
  0, 0, 725, 585, 585, 1891, 0, 0, 0, 0,
234516
- 0, 0, 0, -1534, 0, 0, 0, 0, 2069, 0,
234517
- 1906, 0, 724, 0, 0, 0, 0, -1534, 0, 0,
234518
- 0, 0, -1534, 0, 1797, 1797, 0, -1534, 0, 0,
234519
- 0, 0, 0, 0, 1315, -1536, -1534, 1316, 727, 727,
234520
- -1534, 0, 1317, 1318, 1319, 0, 0, 0, 1648, 1648,
234575
+ 0, 0, 0, -1535, 0, 0, 0, 0, 2069, 0,
234576
+ 1906, 0, 724, 0, 0, 0, 0, -1535, 0, 0,
234577
+ 0, 0, -1535, 0, 1797, 1797, 0, -1535, 0, 0,
234578
+ 0, 0, 0, 0, 1315, -1537, -1535, 1316, 727, 727,
234579
+ -1535, 0, 1317, 1318, 1319, 0, 0, 0, 1648, 1648,
234521
234580
  1648, 1648, 0, 727, 1648, 1648, 1648, 1648, 1648, 1648,
234522
234581
  1648, 1648, 1648, 1648, 0, 0, 0, 1322, 0, 820,
234523
- 0, -1534, 1992, 0, 1323, 0, 1246, 1993, 1994, 1995,
234524
- 0, 0, 0, 0, 0, 0, 1246, -1536, 0, 1246,
234525
- -1534, 0, 0, 0, 2526, 0, 725, 0, 0, 1324,
234526
- 0, -1536, 0, 0, 0, 0, -1536, 0, 1648, 1648,
234527
- 0, -1536, 0, 0, 0, 0, 0, 0, 0, 0,
234528
- -1536, 0, 0, 0, -1536, 0, 0, 1999, 2000, 2001,
234529
- 0, 2002, 2003, 2004, 2005, 2006, 2007, 0, 0, -1534,
234530
- 0, 725, -1534, 0, 0, 0, 0, 0, -1534, 506,
234531
- 0, 0, 0, 0, 0, -1536, 1304, 2196, 0, 0,
234582
+ 0, -1535, 1992, 0, 1323, 0, 1246, 1993, 1994, 1995,
234583
+ 0, 0, 0, 0, 0, 0, 1246, -1537, 0, 1246,
234584
+ -1535, 0, 0, 0, 2526, 0, 725, 0, 0, 1324,
234585
+ 0, -1537, 0, 0, 0, 0, -1537, 0, 1648, 1648,
234586
+ 0, -1537, 0, 0, 0, 0, 0, 0, 0, 0,
234587
+ -1537, 0, 0, 0, -1537, 0, 0, 1999, 2000, 2001,
234588
+ 0, 2002, 2003, 2004, 2005, 2006, 2007, 0, 0, -1535,
234589
+ 0, 725, -1535, 0, 0, 0, 0, 0, -1535, 506,
234590
+ 0, 0, 0, 0, 0, -1537, 1304, 2196, 0, 0,
234532
234591
  0, 1931, 1933, 0, 0, 0, 0, 2207, 2208, 2210,
234533
- 0, 0, 0, 0, -1536, 0, 0, 727, 0, 0,
234534
- 0, 0, -1534, 0, 0, 0, 0, 2224, 1246, 0,
234592
+ 0, 0, 0, 0, -1537, 0, 0, 727, 0, 0,
234593
+ 0, 0, -1535, 0, 0, 0, 0, 2224, 1246, 0,
234535
234594
  1638, 0, 0, 0, 0, 0, 0, 0, 0, 0,
234536
- 1325, 1246, 0, 0, 0, -1534, 0, 0, 0, 0,
234595
+ 1325, 1246, 0, 0, 0, -1535, 0, 0, 0, 0,
234537
234596
  0, 0, 0, 0, 0, 0, 1326, 1568, 0, 0,
234538
- 0, 1327, 0, -1536, 585, 0, -1536, 0, 0, 0,
234539
- 2087, 0, -1536, 0, 0, 0, 0, 0, 0, 0,
234540
- 0, 0, 0, -1756, -1756, 2087, 0, 0, 0, 2106,
234597
+ 0, 1327, 0, -1537, 585, 0, -1537, 0, 0, 0,
234598
+ 2087, 0, -1537, 0, 0, 0, 0, 0, 0, 0,
234599
+ 0, 0, 0, -1757, -1757, 2087, 0, 0, 0, 2106,
234541
234600
  0, 0, 2109, 0, 1773, 0, 0, 1330, 0, 1315,
234542
- 2070, 0, 1316, 0, 0, 0, -1536, -1756, -1756, -1756,
234601
+ 2070, 0, 1316, 0, 0, 0, -1537, -1757, -1757, -1757,
234543
234602
  0, 0, 0, 0, 0, 0, 820, 0, 1997, 1992,
234544
- 0, 0, 0, 0, 1993, 1994, 1995, -1534, 0, -1536,
234545
- 0, 0, 1322, 0, 0, -1534, 0, 0, -1756, 1323,
234603
+ 0, 0, 0, 0, 1993, 1994, 1995, -1535, 0, -1537,
234604
+ 0, 0, 1322, 0, 0, -1535, 0, 0, -1757, 1323,
234546
234605
  0, 2527, 0, 0, 0, 0, 1503, 727, 0, 0,
234547
- 0, -1534, 1333, -1534, -1534, 0, 0, 0, 0, 0,
234606
+ 0, -1535, 1333, -1535, -1535, 0, 0, 0, 0, 0,
234548
234607
  0, 0, 0, 0, 1324, 0, 0, 0, 0, 0,
234549
234608
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
234550
234609
  0, 2321, 2322, 2323, 2070, 0, 0, 1998, 0, 0,
234551
- -1534, 0, 0, -1534, -1534, -1534, 0, 0, 0, 2093,
234610
+ -1535, 0, 0, -1535, -1535, -1535, 0, 0, 0, 2093,
234552
234611
  0, 0, 0, 0, 0, 0, 0, 0, 1503, 0,
234553
- 0, -1536, 0, 585, 0, 0, 0, 0, 0, -1536,
234612
+ 0, -1537, 0, 585, 0, 0, 0, 0, 0, -1537,
234554
234613
  0, 0, 1503, 585, 585, 585, 0, 0, 0, 0,
234555
- 0, 0, 0, 2125, 2125, -1536, 506, -1536, -1536, 0,
234614
+ 0, 0, 0, 2125, 2125, -1537, 506, -1537, -1537, 0,
234556
234615
  2378, 0, 0, 585, 1335, 0, 0, 0, 0, 0,
234557
234616
  0, 727, 0, 0, 0, 2231, 0, 0, 1315, 0,
234558
234617
  0, 1316, 0, 0, 0, 1325, 0, 0, 0, 0,
234559
- 0, 647, 0, 585, -1536, 0, 0, -1536, -1536, -1536,
234618
+ 0, 647, 0, 585, -1537, 0, 0, -1537, -1537, -1537,
234560
234619
  0, 1326, 0, 0, 0, 0, 1327, 0, 1503, 1503,
234561
- 0, 1322, 725, 0, 0, 0, 727, 0, -1756, 0,
234620
+ 0, 1322, 725, 0, 0, 0, 727, 0, -1757, 0,
234562
234621
  0, 0, 0, 0, 0, 0, 1315, 0, 0, 1316,
234563
234622
  0, 1638, 2482, 0, 1317, 1318, 1319, 0, 0, 0,
234564
234623
  0, 0, 1330, 1324, 0, 1997, 0, 0, 0, 0,
@@ -234571,13 +234630,13 @@ static const yytype_int16 yytable[] =
234571
234630
  2006, 2007, 0, 2306, 1998, 0, 0, 585, 585, 585,
234572
234631
  477, 0, 2087, 2333, 725, 0, 1648, 0, 2333, 2347,
234573
234632
  0, 725, 0, 0, 0, 0, 0, 0, 0, 0,
234574
- 0, 0, 0, 0, -1756, 0, 0, 2537, 2538, 2539,
234633
+ 0, 0, 0, 0, -1757, 0, 0, 2537, 2538, 2539,
234575
234634
  2540, 0, 0, 0, 0, 725, 0, 0, 1773, 0,
234576
- -1756, 0, 0, 0, 0, -1756, 0, 0, 0, 0,
234635
+ -1757, 0, 0, 0, 0, -1757, 0, 0, 0, 0,
234577
234636
  0, 0, 0, 0, 897, 897, 585, 0, 506, 0,
234578
234637
  0, 0, 1503, 1446, 1503, 0, 1533, 0, 0, 1335,
234579
234638
  0, 0, 1325, 0, 0, 0, 0, 0, 0, 0,
234580
- 0, -1756, 0, 506, 0, 2414, 0, 0, 1326, 0,
234639
+ 0, -1757, 0, 506, 0, 2414, 0, 0, 1326, 0,
234581
234640
  0, 0, 0, 1327, 0, 0, 1648, 0, 506, 506,
234582
234641
  506, 506, 506, 506, 506, 506, 506, 506, 0, 0,
234583
234642
  0, 0, 0, 0, 0, 1328, 1329, 1047, 1054, 0,
@@ -234586,12 +234645,12 @@ static const yytype_int16 yytable[] =
234586
234645
  0, 0, 0, 0, 0, 0, 0, 0, 0, 1533,
234587
234646
  0, 0, 0, 0, 0, 0, 725, 0, 0, 0,
234588
234647
  0, 585, 0, 0, 0, 0, 1648, 1331, 1503, 1336,
234589
- 1332, 0, -1756, -1756, -1756, 0, 1340, 1341, 1342, 1343,
234648
+ 1332, 0, -1757, -1757, -1757, 0, 1340, 1341, 1342, 1343,
234590
234649
  1344, 1345, 0, 0, 1333, 0, 0, 1334, 0, 1999,
234591
234650
  2000, 2001, 0, 2002, 2003, 2004, 2005, 2006, 2007, 0,
234592
234651
  0, 0, 0, 0, 0, 0, 0, 727, 0, 0,
234593
234652
  0, 0, 506, 0, 0, 0, 0, 725, 2519, 0,
234594
- 1246, 0, 0, 0, 0, 0, 0, 0, -1756, 1315,
234653
+ 1246, 0, 0, 0, 0, 0, 0, 0, -1757, 1315,
234595
234654
  0, 0, 1316, 0, 0, 0, 0, 1317, 1318, 1319,
234596
234655
  0, 2536, 0, 585, 585, 585, 585, 0, 0, 0,
234597
234656
  2333, 2347, 0, 2333, 1320, 0, 2545, 0, 0, 0,
@@ -234601,7 +234660,7 @@ static const yytype_int16 yytable[] =
234601
234660
  2106, 487, 0, 727, 1324, 1773, 0, 0, 1047, 0,
234602
234661
  0, 1638, 0, 0, 0, 0, 0, 1446, 0, 0,
234603
234662
  0, 0, 0, 1503, -1141, 1269, 0, 0, 2754, 727,
234604
- 0, 0, 0, 0, 0, 0, 727, 0, -1756, 0,
234663
+ 0, 0, 0, 0, 0, 0, 727, 0, -1757, 0,
234605
234664
  0, 0, 0, 2626, 0, 1340, 1341, 1342, 1343, 1344,
234606
234665
  1345, 0, 0, 0, 1280, 0, 0, 0, 0, 0,
234607
234666
  727, 488, 0, 0, 0, 0, 2773, 0, 489, 0,
@@ -234612,59 +234671,59 @@ static const yytype_int16 yytable[] =
234612
234671
  0, 0, 1503, 0, 0, 490, 0, 0, 0, 0,
234613
234672
  0, 1326, 0, 1906, 0, 0, 1327, 0, 0, 0,
234614
234673
  0, 0, 0, 0, 2665, 0, 0, 0, 725, 0,
234615
- 0, 0, 0, 0, 0, 0, 0, -1550, 1328, 1329,
234674
+ 0, 0, 0, 0, 0, 0, 0, -1551, 1328, 1329,
234616
234675
  0, 1315, 0, 0, 1316, 1399, 0, 2844, 0, 1413,
234617
234676
  1418, 1246, 1330, 0, 0, 0, 1246, 0, 0, 0,
234618
234677
  2681, 0, 0, 0, 0, 0, 0, 0, 0, 477,
234619
234678
  2333, 727, 0, 2692, 1322, 491, 506, 0, 2087, 0,
234620
- 0, -1756, 0, 2087, 2869, 0, 2087, 0, 2703, 0,
234679
+ 0, -1757, 0, 2087, 2869, 0, 2087, 0, 2703, 0,
234621
234680
  1331, 2706, 0, 1332, 0, 0, 0, 0, 1573, 1575,
234622
234681
  725, 0, 0, 1047, 0, 2733, 1324, 1333, 0, 0,
234623
234682
  1047, 0, 0, 0, 0, 0, 0, 0, 0, 0,
234624
234683
  0, 0, 492, 0, 493, 647, 506, 0, 0, 0,
234625
- -1550, 1047, 727, 0, 585, 0, 0, 0, 0, 0,
234684
+ -1551, 1047, 727, 0, 585, 0, 0, 0, 0, 0,
234626
234685
  494, 0, 0, 0, 1348, 0, 495, 0, 0, 496,
234627
234686
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
234628
234687
  0, 506, 506, 0, 0, 0, 0, 0, 0, 0,
234629
234688
  0, 0, 585, 0, 1446, 0, 2309, 0, 506, 0,
234630
- 0, 0, -1550, 0, 0, 1348, 0, 0, 0, 0,
234631
- 585, 0, 0, 2733, 0, 0, -1550, 0, 0, 1335,
234632
- 0, -1550, 0, 727, 0, 0, -1550, -1756, 0, 0,
234633
- 0, 0, 506, 0, 0, -1550, 0, 0, 0, -1550,
234634
- 725, 0, 0, -1756, 0, 2087, 0, 0, -1756, 0,
234689
+ 0, 0, -1551, 0, 0, 1348, 0, 0, 0, 0,
234690
+ 585, 0, 0, 2733, 0, 0, -1551, 0, 0, 1335,
234691
+ 0, -1551, 0, 727, 0, 0, -1551, -1757, 0, 0,
234692
+ 0, 0, 506, 0, 0, -1551, 0, 0, 0, -1551,
234693
+ 725, 0, 0, -1757, 0, 2087, 0, 0, -1757, 0,
234635
234694
  2706, 0, 0, 0, 0, 0, 0, 0, 0, 0,
234636
234695
  0, 0, 0, 0, 0, 0, 1047, 0, 2830, 0,
234637
- -1550, 0, 914, 0, 506, 0, 0, 0, 725, 0,
234638
- 0, 0, 0, 585, -1756, 0, 0, 0, 0, -1550,
234696
+ -1551, 0, 914, 0, 506, 0, 0, 0, 725, 0,
234697
+ 0, 0, 0, 585, -1757, 0, 0, 0, 0, -1551,
234639
234698
  0, 0, 0, 1573, 1575, 0, 0, 0, 0, 0,
234640
234699
  0, 0, 506, 0, 1246, 0, 647, 0, 0, 725,
234641
234700
  0, 0, 725, 0, 1348, 0, 0, 0, 0, 1336,
234642
234701
  585, 1348, 1337, 1338, 1339, 0, 1340, 1341, 1342, 1343,
234643
- 1344, 1345, 0, 727, 0, 0, 0, 0, -1550, 1333,
234644
- 0, -1550, 0, 0, 0, 0, 0, -1550, 477, 0,
234702
+ 1344, 1345, 0, 727, 0, 0, 0, 0, -1551, 1333,
234703
+ 0, -1551, 0, 0, 0, 0, 0, -1551, 477, 0,
234645
234704
  1315, 0, 0, 1316, 0, 0, 0, 2885, 0, 0,
234646
234705
  0, 506, 0, 727, 0, 2703, 0, 0, 0, 0,
234647
234706
  0, 0, 0, 0, 0, 0, 0, 0, 0, 1603,
234648
- 0, -1550, 0, 1322, 2733, 647, 647, 647, 0, 1622,
234649
- -1756, 1639, 0, 0, 1651, 1654, 1659, 1662, 0, 0,
234650
- 0, 0, 0, 0, -1550, 0, 0, 0, 0, 0,
234707
+ 0, -1551, 0, 1322, 2733, 647, 647, 647, 0, 1622,
234708
+ -1757, 1639, 0, 0, 1651, 1654, 1659, 1662, 0, 0,
234709
+ 0, 0, 0, 0, -1551, 0, 0, 0, 0, 0,
234651
234710
  0, 0, 0, 0, 1446, 1324, 0, 0, 0, 1674,
234652
234711
  0, 0, 0, 0, 0, 1678, 1679, 1680, 1681, 2703,
234653
- 0, -1756, 0, 1690, 1691, 727, 0, 0, 1702, 0,
234712
+ 0, -1757, 0, 1690, 1691, 727, 0, 0, 1702, 0,
234654
234713
  0, 2830, 1705, 0, 0, 1713, 1714, 1715, 1716, 1717,
234655
234714
  1718, 1719, 1720, 1721, 0, 1773, 1722, 0, 0, 2070,
234656
234715
  0, 1730, 0, 0, 1734, 897, 0, 0, 1047, 1446,
234657
234716
  0, 0, 0, 0, 0, 2733, 0, 0, 0, 0,
234658
- 0, 0, 0, 0, 0, 2310, -1550, 0, 0, 0,
234659
- 1756, 2692, 647, 0, -1550, 0, 0, 0, 0, 0,
234717
+ 0, 0, 0, 0, 0, 2310, -1551, 0, 0, 0,
234718
+ 1756, 2692, 647, 0, -1551, 0, 0, 0, 0, 0,
234660
234719
  0, 0, 0, 0, 0, 0, 990, 0, 0, 0,
234661
- -1550, 0, -1550, -1550, 0, 0, -1756, 0, 0, 725,
234720
+ -1551, 0, -1551, -1551, 0, 0, -1757, 0, 0, 725,
234662
234721
  0, 0, 1291, 1292, 0, 991, 0, 0, 0, 0,
234663
- 0, -1756, -1756, 0, 0, 0, 1348, -1756, 1340, 1341,
234664
- 1342, 1343, 1344, 1345, 0, 0, 0, 1348, 0, -1550,
234665
- 0, 1646, -1550, -1550, -1550, 727, 0, 1348, 1348, 1348,
234722
+ 0, -1757, -1757, 0, 0, 0, 1348, -1757, 1340, 1341,
234723
+ 1342, 1343, 1344, 1345, 0, 0, 0, 1348, 0, -1551,
234724
+ 0, 1646, -1551, -1551, -1551, 727, 0, 1348, 1348, 1348,
234666
234725
  0, 0, 0, 0, 0, 0, 1348, 0, 0, 0,
234667
- 0, 0, 0, -1756, 0, 0, 992, 2402, 0, 0,
234726
+ 0, 0, 0, -1757, 0, 0, 992, 2402, 0, 0,
234668
234727
  0, 0, 0, 1246, 0, 2403, 0, 0, 0, 0,
234669
234728
  0, 0, 0, 727, 0, 0, 0, 0, 0, 0,
234670
234729
  0, 1047, 0, 0, 1875, 1876, 0, 1877, 0, 0,
@@ -234679,17 +234738,17 @@ static const yytype_int16 yytable[] =
234679
234738
  3, 4, 0, 0, 0, 0, 0, 0, 0, 0,
234680
234739
  0, 1047, 0, 0, 0, 0, 5, 0, 1970, 0,
234681
234740
  0, 0, 0, 1976, 0, 6, 0, 994, 0, 0,
234682
- -1756, 0, 0, 0, 0, 995, 0, 7, 0, 0,
234741
+ -1757, 0, 0, 0, 0, 995, 0, 7, 0, 0,
234683
234742
  0, 0, 0, 0, 0, 0, 0, 996, 8, 2405,
234684
234743
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
234685
234744
  9, 1991, 10, 1315, 0, 0, 1316, 0, 0, 0,
234686
234745
  0, 0, 0, 1659, 0, 1659, 1659, 0, 997, 0,
234687
234746
  11, 0, 0, 2029, 0, 0, 0, 2032, 0, 0,
234688
234747
  2034, 0, 0, 0, 12, 0, 1322, 0, 0, 0,
234689
- 0, 0, 0, -1756, 13, 0, 0, 0, 0, 0,
234748
+ 0, 0, 0, -1757, 13, 0, 0, 0, 0, 0,
234690
234749
  14, 0, 0, 0, 0, 0, 0, 0, 15, 0,
234691
234750
  16, 17, 0, 0, 2052, 999, 0, 2055, 1324, 2057,
234692
- -1756, 0, 0, 0, 18, 0, 0, 1340, 1341, 1342,
234751
+ -1757, 0, 0, 0, 18, 0, 0, 1340, 1341, 1342,
234693
234752
  1343, 1344, 1345, 0, 727, 0, 0, 1000, 0, 0,
234694
234753
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
234695
234754
  0, 0, 0, 19, 0, 0, 0, 1002, 0, 2406,
@@ -234698,13 +234757,13 @@ static const yytype_int16 yytable[] =
234698
234757
  0, 0, 0, 0, 0, 0, 1399, 0, 2530, 1348,
234699
234758
  0, 0, 0, 21, 1315, 0, 0, 1316, 0, 0,
234700
234759
  0, 1418, 1720, 0, 0, 0, 1348, 0, 1646, 1646,
234701
- 0, 2008, 0, 1646, 0, 0, 0, 0, 1348, -1756,
234760
+ 0, 2008, 0, 1646, 0, 0, 0, 0, 1348, -1757,
234702
234761
  2133, 1348, 0, 0, 0, 0, 1348, 1322, 0, 1348,
234703
- 0, 0, 0, 0, -1756, -1756, 0, 0, 0, 0,
234704
- -1756, 1348, 0, 0, 0, 1348, 1348, 1348, 1348, 0,
234762
+ 0, 0, 0, 0, -1757, -1757, 0, 0, 0, 0,
234763
+ -1757, 1348, 0, 0, 0, 1348, 1348, 1348, 1348, 0,
234705
234764
  0, 0, 0, 0, 1646, 1646, 0, 1348, 1348, 1324,
234706
234765
  0, 0, 0, 0, 1454, 0, 0, 0, 0, 1348,
234707
- 22, 0, 1348, 23, 0, 0, -1756, 0, 1047, 0,
234766
+ 22, 0, 1348, 23, 0, 0, -1757, 0, 1047, 0,
234708
234767
  1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348,
234709
234768
  0, 0, 0, 0, 0, 0, 0, 1348, 0, 0,
234710
234769
  0, 1348, 24, 0, 0, 0, 0, 0, 0, 0,
@@ -234713,13 +234772,13 @@ static const yytype_int16 yytable[] =
234713
234772
  0, 1333, 27, 0, 0, 0, 28, 0, 0, 0,
234714
234773
  0, 0, 0, 0, 0, 0, 29, 991, 0, 0,
234715
234774
  0, 0, 0, 0, 0, 0, 0, 30, 0, 0,
234716
- -1756, 31, 0, 0, 0, 0, 0, 0, 0, 0,
234717
- 0, 0, 0, 0, 0, 0, -1756, 0, 0, 2249,
234718
- 0, -1756, 0, 0, 0, 0, 0, 0, 2253, 0,
234775
+ -1757, 31, 0, 0, 0, 0, 0, 0, 0, 0,
234776
+ 0, 0, 0, 0, 0, 0, -1757, 0, 0, 2249,
234777
+ 0, -1757, 0, 0, 0, 0, 0, 0, 2253, 0,
234719
234778
  0, 2254, 0, 0, 2256, 0, 0, 32, 992, 0,
234720
234779
  0, 0, 33, 0, 0, 0, 0, 0, 0, 0,
234721
- 0, 0, 0, 0, 0, 34, 0, -1756, 0, 0,
234722
- 2276, 2277, 0, -1756, 1756, 0, 0, 979, 0, 0,
234780
+ 0, 0, 0, 0, 0, 34, 0, -1757, 0, 0,
234781
+ 2276, 2277, 0, -1757, 1756, 0, 0, 979, 0, 0,
234723
234782
  0, 0, 0, 0, 0, 0, 2288, 0, 0, 35,
234724
234783
  0, 0, 1348, 1348, 1348, 2295, 0, 0, 2298, 0,
234725
234784
  2300, 0, 0, 36, 0, 0, -39, 0, 2304, 0,
@@ -234729,11 +234788,11 @@ static const yytype_int16 yytable[] =
234729
234788
  0, 0, 0, 0, 0, 0, 2351, 0, 0, 0,
234730
234789
  1320, 0, 0, 1321, 0, 0, 2359, 0, 1322, 0,
234731
234790
  0, 0, 0, 0, 0, 1323, 0, 0, 0, 0,
234732
- 0, 0, 2372, -1756, 0, 0, 0, 0, 0, 0,
234791
+ 0, 0, 2372, -1757, 0, 0, 0, 0, 0, 0,
234733
234792
  1340, 1341, 1342, 1343, 1344, 1345, 0, 1348, 0, 994,
234734
234793
  1324, 0, 0, 1348, 0, 0, 0, 995, 0, 0,
234735
234794
  0, 0, 0, 0, 0, 0, 2008, 2008, 1348, 996,
234736
- 1646, 1646, 1646, 1646, -1756, 0, 1646, 1646, 1646, 1646,
234795
+ 1646, 1646, 1646, 1646, -1757, 0, 1646, 1646, 1646, 1646,
234737
234796
  1646, 1646, 1646, 1646, 1646, 1646, 2008, 0, 0, 0,
234738
234797
  980, 0, 0, 0, 0, 0, 0, 0, 0, 0,
234739
234798
  997, 0, 0, 0, 0, 0, 1348, 0, 0, 1348,
@@ -234743,7 +234802,7 @@ static const yytype_int16 yytable[] =
234743
234802
  0, 998, 0, 0, 0, 982, 0, 999, 0, 0,
234744
234803
  0, 1325, 0, 0, 0, 0, 0, 0, 0, 0,
234745
234804
  0, 0, 0, 0, 0, 0, 2507, 1326, 0, 1000,
234746
- 0, 0, 1327, 0, -1756, 1001, 0, 0, 0, 0,
234805
+ 0, 0, 1327, 0, -1757, 1001, 0, 0, 0, 0,
234747
234806
  0, 1340, 1341, 1342, 1343, 1344, 1345, 0, 0, 1002,
234748
234807
  0, 0, 0, 0, 1328, 1329, 0, 0, 0, 0,
234749
234808
  0, 0, 0, 0, 0, 0, 0, 0, 1330, 0,
@@ -235876,7 +235935,7 @@ static const yytype_int16 yytable[] =
235876
235935
  821, 822, 0, 0, 0, 0, 0, 0, 0, 0,
235877
235936
  94, 95, 96, 97, 98, 99, 100, 101, 0, 102,
235878
235937
  103, 104, 0, 0, 0, 0, 823, 0, 0, 105,
235879
- 106, 0, 107, 108, 109, 110, 111, 112, 113, -1756,
235938
+ 106, 0, 107, 108, 109, 110, 111, 112, 113, -1757,
235880
235939
  824, 116, 825, 826, 0, 119, 120, 121, 122, 123,
235881
235940
  124, 827, 828, 125, 126, 829, 830, 129, 0, 130,
235882
235941
  131, 132, 133, 831, 0, 832, 0, 136, 137, 138,
@@ -235889,13 +235948,13 @@ static const yytype_int16 yytable[] =
235889
235948
  185, 186, 0, 187, 188, 189, 0, 190, 191, 192,
235890
235949
  193, 843, 195, 196, 197, 198, 199, 844, 845, 201,
235891
235950
  0, 202, 203, 846, 205, 0, 206, 0, 207, 208,
235892
- 0, 209, 210, 211, 212, -1756, 214, 0, 215, 0,
235951
+ 0, 209, 210, 211, 212, -1757, 214, 0, 215, 0,
235893
235952
  847, 848, 218, 0, 219, 220, 221, 222, 223, 224,
235894
- 225, -1756, 227, 228, 229, 230, 0, 231, 232, 233,
235953
+ 225, -1757, 227, 228, 229, 230, 0, 231, 232, 233,
235895
235954
  234, 235, 236, 0, 237, 238, 239, 240, 241, 242,
235896
235955
  243, 244, 849, 850, 0, 851, 0, 248, 0, 0,
235897
235956
  251, 252, 253, 254, 255, 256, 257, 0, 0, 258,
235898
- 259, 260, -1756, 0, 262, 263, 264, 852, 853, 265,
235957
+ 259, 260, -1757, 0, 262, 263, 264, 852, 853, 265,
235899
235958
  266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
235900
235959
  276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
235901
235960
  286, 287, 288, 854, 290, 855, 292, 293, 294, 295,
@@ -235909,7 +235968,7 @@ static const yytype_int16 yytable[] =
235909
235968
  355, 356, 357, 358, 359, 360, 361, 362, 0, 363,
235910
235969
  364, 365, 366, 367, 368, 864, 370, 371, 372, 373,
235911
235970
  374, 375, 376, 377, 378, 379, 380, 0, 381, 382,
235912
- 383, 384, 385, 865, 386, 387, 388, 389, 390, -1756,
235971
+ 383, 384, 385, 865, 386, 387, 388, 389, 390, -1757,
235913
235972
  392, 393, 866, 395, 0, 396, 397, 398, 399, 400,
235914
235973
  401, 402, 403, 404, 405, 406, 407, 408, 867, 410,
235915
235974
  0, 411, 412, 0, 413, 414, 415, 416, 417, 418,
@@ -235919,7 +235978,7 @@ static const yytype_int16 yytable[] =
235919
235978
  441, 442, 443, 444, 445, 875, 0, 447, 448, 449,
235920
235979
  450, 451, 452, 0, 0, 453, 0, 0, 454, 455,
235921
235980
  456, 457, 458, 459, 460, 461, 462, 463, 464, 465,
235922
- 466, 467, 468, 469, 470, 471, 472, 473, 474, -1756,
235981
+ 466, 467, 468, 469, 470, 471, 472, 473, 474, -1757,
235923
235982
  0, 0, 0, 0, 0, 0, 877, 878, 0, 0,
235924
235983
  0, 0, 0, 880, 0, 881, 0, 0, 0, 0,
235925
235984
  882, 0, 883, 884, 93, 817, 549, 818, 819, 820,
@@ -255080,23 +255139,33 @@ yyreduce:
255080
255139
  #line 46 "third_party/libpg_query/grammar/statements/variable_show.y"
255081
255140
  {
255082
255141
  PGVariableShowStmt *n = makeNode(PGVariableShowStmt);
255083
- n->name = (char*) "all";
255142
+ n->name = (char*) "__show_tables_expanded";
255084
255143
  n->is_summary = 0;
255085
255144
  (yyval.node) = (PGNode *) n;
255086
255145
  ;}
255087
255146
  break;
255088
255147
 
255089
- case 1251:
255090
- #line 57 "third_party/libpg_query/grammar/statements/variable_show.y"
255091
- { (yyval.str) = (yyvsp[(1) - (1)].str); ;}
255148
+ case 1249:
255149
+ #line 53 "third_party/libpg_query/grammar/statements/variable_show.y"
255150
+ {
255151
+ PGVariableShowStmt *n = makeNode(PGVariableShowStmt);
255152
+ n->name = (char*) "__show_tables_expanded";
255153
+ n->is_summary = 0;
255154
+ (yyval.node) = (PGNode *) n;
255155
+ ;}
255092
255156
  break;
255093
255157
 
255094
255158
  case 1252:
255095
- #line 59 "third_party/libpg_query/grammar/statements/variable_show.y"
255096
- { (yyval.str) = psprintf("%s.%s", (yyvsp[(1) - (3)].str), (yyvsp[(3) - (3)].str)); ;}
255159
+ #line 63 "third_party/libpg_query/grammar/statements/variable_show.y"
255160
+ { (yyval.str) = (yyvsp[(1) - (1)].str); ;}
255097
255161
  break;
255098
255162
 
255099
255163
  case 1253:
255164
+ #line 65 "third_party/libpg_query/grammar/statements/variable_show.y"
255165
+ { (yyval.str) = psprintf("%s.%s", (yyvsp[(1) - (3)].str), (yyvsp[(3) - (3)].str)); ;}
255166
+ break;
255167
+
255168
+ case 1254:
255100
255169
  #line 7 "third_party/libpg_query/grammar/statements/call.y"
255101
255170
  {
255102
255171
  PGCallStmt *n = makeNode(PGCallStmt);
@@ -255105,7 +255174,7 @@ yyreduce:
255105
255174
  ;}
255106
255175
  break;
255107
255176
 
255108
- case 1254:
255177
+ case 1255:
255109
255178
  #line 10 "third_party/libpg_query/grammar/statements/view.y"
255110
255179
  {
255111
255180
  PGViewStmt *n = makeNode(PGViewStmt);
@@ -255120,7 +255189,7 @@ yyreduce:
255120
255189
  ;}
255121
255190
  break;
255122
255191
 
255123
- case 1255:
255192
+ case 1256:
255124
255193
  #line 23 "third_party/libpg_query/grammar/statements/view.y"
255125
255194
  {
255126
255195
  PGViewStmt *n = makeNode(PGViewStmt);
@@ -255135,7 +255204,7 @@ yyreduce:
255135
255204
  ;}
255136
255205
  break;
255137
255206
 
255138
- case 1256:
255207
+ case 1257:
255139
255208
  #line 36 "third_party/libpg_query/grammar/statements/view.y"
255140
255209
  {
255141
255210
  PGViewStmt *n = makeNode(PGViewStmt);
@@ -255155,7 +255224,7 @@ yyreduce:
255155
255224
  ;}
255156
255225
  break;
255157
255226
 
255158
- case 1257:
255227
+ case 1258:
255159
255228
  #line 54 "third_party/libpg_query/grammar/statements/view.y"
255160
255229
  {
255161
255230
  PGViewStmt *n = makeNode(PGViewStmt);
@@ -255175,27 +255244,27 @@ yyreduce:
255175
255244
  ;}
255176
255245
  break;
255177
255246
 
255178
- case 1258:
255247
+ case 1259:
255179
255248
  #line 74 "third_party/libpg_query/grammar/statements/view.y"
255180
255249
  { (yyval.viewcheckoption) = CASCADED_CHECK_OPTION; ;}
255181
255250
  break;
255182
255251
 
255183
- case 1259:
255252
+ case 1260:
255184
255253
  #line 75 "third_party/libpg_query/grammar/statements/view.y"
255185
255254
  { (yyval.viewcheckoption) = CASCADED_CHECK_OPTION; ;}
255186
255255
  break;
255187
255256
 
255188
- case 1260:
255257
+ case 1261:
255189
255258
  #line 76 "third_party/libpg_query/grammar/statements/view.y"
255190
255259
  { (yyval.viewcheckoption) = PG_LOCAL_CHECK_OPTION; ;}
255191
255260
  break;
255192
255261
 
255193
- case 1261:
255262
+ case 1262:
255194
255263
  #line 77 "third_party/libpg_query/grammar/statements/view.y"
255195
255264
  { (yyval.viewcheckoption) = PG_NO_CHECK_OPTION; ;}
255196
255265
  break;
255197
255266
 
255198
- case 1262:
255267
+ case 1263:
255199
255268
  #line 12 "third_party/libpg_query/grammar/statements/create_as.y"
255200
255269
  {
255201
255270
  PGCreateTableAsStmt *ctas = makeNode(PGCreateTableAsStmt);
@@ -255211,7 +255280,7 @@ yyreduce:
255211
255280
  ;}
255212
255281
  break;
255213
255282
 
255214
- case 1263:
255283
+ case 1264:
255215
255284
  #line 25 "third_party/libpg_query/grammar/statements/create_as.y"
255216
255285
  {
255217
255286
  PGCreateTableAsStmt *ctas = makeNode(PGCreateTableAsStmt);
@@ -255227,7 +255296,7 @@ yyreduce:
255227
255296
  ;}
255228
255297
  break;
255229
255298
 
255230
- case 1264:
255299
+ case 1265:
255231
255300
  #line 38 "third_party/libpg_query/grammar/statements/create_as.y"
255232
255301
  {
255233
255302
  PGCreateTableAsStmt *ctas = makeNode(PGCreateTableAsStmt);
@@ -255243,22 +255312,22 @@ yyreduce:
255243
255312
  ;}
255244
255313
  break;
255245
255314
 
255246
- case 1265:
255315
+ case 1266:
255247
255316
  #line 54 "third_party/libpg_query/grammar/statements/create_as.y"
255248
255317
  { (yyval.boolean) = true; ;}
255249
255318
  break;
255250
255319
 
255251
- case 1266:
255320
+ case 1267:
255252
255321
  #line 55 "third_party/libpg_query/grammar/statements/create_as.y"
255253
255322
  { (yyval.boolean) = false; ;}
255254
255323
  break;
255255
255324
 
255256
- case 1267:
255325
+ case 1268:
255257
255326
  #line 56 "third_party/libpg_query/grammar/statements/create_as.y"
255258
255327
  { (yyval.boolean) = true; ;}
255259
255328
  break;
255260
255329
 
255261
- case 1268:
255330
+ case 1269:
255262
255331
  #line 62 "third_party/libpg_query/grammar/statements/create_as.y"
255263
255332
  {
255264
255333
  (yyval.into) = makeNode(PGIntoClause);
@@ -255273,7 +255342,7 @@ yyreduce:
255273
255342
 
255274
255343
 
255275
255344
  /* Line 1267 of yacc.c. */
255276
- #line 24988 "third_party/libpg_query/grammar/grammar_out.cpp"
255345
+ #line 24998 "third_party/libpg_query/grammar/grammar_out.cpp"
255277
255346
  default: break;
255278
255347
  }
255279
255348
  YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);