grpc 1.66.0 → 1.71.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.
Files changed (3048) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +316 -329
  3. data/include/grpc/compression.h +1 -2
  4. data/include/grpc/credentials.h +2 -3
  5. data/include/grpc/event_engine/README.md +1 -1
  6. data/include/grpc/event_engine/endpoint_config.h +7 -7
  7. data/include/grpc/event_engine/event_engine.h +56 -14
  8. data/include/grpc/event_engine/extensible.h +2 -2
  9. data/include/grpc/event_engine/internal/memory_allocator_impl.h +4 -4
  10. data/include/grpc/event_engine/internal/slice_cast.h +1 -1
  11. data/include/grpc/event_engine/memory_allocator.h +3 -4
  12. data/include/grpc/event_engine/memory_request.h +1 -2
  13. data/include/grpc/event_engine/slice.h +3 -5
  14. data/include/grpc/event_engine/slice_buffer.h +6 -8
  15. data/include/grpc/grpc.h +1 -2
  16. data/include/grpc/grpc_audit_logging.h +3 -3
  17. data/include/grpc/grpc_crl_provider.h +5 -5
  18. data/include/grpc/grpc_posix.h +1 -2
  19. data/include/grpc/grpc_security.h +1 -2
  20. data/include/grpc/impl/call.h +2 -2
  21. data/include/grpc/impl/channel_arg_names.h +3 -1
  22. data/include/grpc/impl/grpc_types.h +1 -2
  23. data/include/grpc/impl/slice_type.h +1 -2
  24. data/include/grpc/passive_listener.h +2 -2
  25. data/include/grpc/status.h +1 -1
  26. data/include/grpc/support/alloc.h +1 -2
  27. data/include/grpc/support/atm.h +0 -13
  28. data/include/grpc/support/json.h +17 -18
  29. data/include/grpc/support/log.h +35 -34
  30. data/include/grpc/support/metrics.h +7 -3
  31. data/include/grpc/support/port_platform.h +6 -1
  32. data/include/grpc/support/sync_generic.h +2 -4
  33. data/include/grpc/support/sync_posix.h +1 -2
  34. data/include/grpc/support/time.h +1 -2
  35. data/src/core/call/request_buffer.cc +224 -0
  36. data/src/core/call/request_buffer.h +192 -0
  37. data/src/core/channelz/channel_trace.cc +5 -6
  38. data/src/core/channelz/channel_trace.h +5 -7
  39. data/src/core/channelz/channelz.cc +7 -9
  40. data/src/core/channelz/channelz.h +11 -32
  41. data/src/core/channelz/channelz_registry.cc +6 -15
  42. data/src/core/channelz/channelz_registry.h +4 -5
  43. data/src/core/client_channel/backup_poller.cc +21 -11
  44. data/src/core/client_channel/client_channel.cc +51 -55
  45. data/src/core/client_channel/client_channel.h +7 -5
  46. data/src/core/client_channel/client_channel_args.h +21 -0
  47. data/src/core/client_channel/client_channel_factory.cc +2 -2
  48. data/src/core/client_channel/client_channel_factory.h +1 -2
  49. data/src/core/client_channel/client_channel_filter.cc +91 -162
  50. data/src/core/client_channel/client_channel_filter.h +23 -21
  51. data/src/core/client_channel/client_channel_internal.h +2 -5
  52. data/src/core/client_channel/client_channel_plugin.cc +3 -4
  53. data/src/core/client_channel/client_channel_service_config.cc +3 -4
  54. data/src/core/client_channel/client_channel_service_config.h +9 -11
  55. data/src/core/client_channel/config_selector.h +4 -8
  56. data/src/core/client_channel/connector.h +3 -3
  57. data/src/core/client_channel/direct_channel.cc +4 -4
  58. data/src/core/client_channel/direct_channel.h +1 -1
  59. data/src/core/client_channel/dynamic_filters.cc +10 -10
  60. data/src/core/client_channel/dynamic_filters.h +8 -7
  61. data/src/core/client_channel/global_subchannel_pool.cc +2 -2
  62. data/src/core/client_channel/global_subchannel_pool.h +2 -3
  63. data/src/core/client_channel/lb_metadata.cc +7 -8
  64. data/src/core/client_channel/lb_metadata.h +5 -6
  65. data/src/core/client_channel/load_balanced_call_destination.cc +6 -7
  66. data/src/core/client_channel/load_balanced_call_destination.h +0 -1
  67. data/src/core/client_channel/local_subchannel_pool.cc +2 -5
  68. data/src/core/client_channel/local_subchannel_pool.h +1 -1
  69. data/src/core/client_channel/retry_filter.cc +6 -8
  70. data/src/core/client_channel/retry_filter.h +5 -9
  71. data/src/core/client_channel/retry_filter_legacy_call_data.cc +197 -281
  72. data/src/core/client_channel/retry_filter_legacy_call_data.h +18 -19
  73. data/src/core/client_channel/retry_interceptor.cc +408 -0
  74. data/src/core/client_channel/retry_interceptor.h +157 -0
  75. data/src/core/client_channel/retry_service_config.cc +7 -9
  76. data/src/core/client_channel/retry_service_config.h +19 -8
  77. data/src/core/client_channel/retry_throttle.cc +34 -20
  78. data/src/core/client_channel/retry_throttle.h +6 -9
  79. data/src/core/client_channel/subchannel.cc +76 -118
  80. data/src/core/client_channel/subchannel.h +21 -20
  81. data/src/core/client_channel/subchannel_interface_internal.h +1 -1
  82. data/src/core/client_channel/subchannel_pool_interface.cc +1 -3
  83. data/src/core/client_channel/subchannel_pool_interface.h +2 -3
  84. data/src/core/client_channel/subchannel_stream_client.cc +7 -11
  85. data/src/core/client_channel/subchannel_stream_client.h +11 -13
  86. data/src/core/config/config_vars.cc +152 -0
  87. data/src/core/config/config_vars.h +129 -0
  88. data/src/core/config/config_vars_non_generated.cc +49 -0
  89. data/src/core/config/core_configuration.cc +111 -0
  90. data/src/core/config/core_configuration.h +242 -0
  91. data/src/core/config/load_config.cc +78 -0
  92. data/src/core/config/load_config.h +54 -0
  93. data/src/core/ext/filters/backend_metrics/backend_metric_filter.cc +21 -29
  94. data/src/core/ext/filters/backend_metrics/backend_metric_filter.h +7 -8
  95. data/src/core/ext/filters/census/grpc_context.cc +1 -2
  96. data/src/core/ext/filters/channel_idle/idle_filter_state.cc +1 -2
  97. data/src/core/ext/filters/channel_idle/idle_filter_state.h +0 -1
  98. data/src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc +17 -20
  99. data/src/core/ext/filters/channel_idle/legacy_channel_idle_filter.h +6 -8
  100. data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +20 -25
  101. data/src/core/ext/filters/fault_injection/fault_injection_filter.h +7 -9
  102. data/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc +3 -4
  103. data/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.h +4 -7
  104. data/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.cc +198 -0
  105. data/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.h +97 -0
  106. data/src/core/ext/filters/gcp_authentication/gcp_authentication_service_config_parser.cc +80 -0
  107. data/src/core/ext/filters/gcp_authentication/gcp_authentication_service_config_parser.h +86 -0
  108. data/src/core/ext/filters/http/client/http_client_filter.cc +13 -13
  109. data/src/core/ext/filters/http/client/http_client_filter.h +4 -5
  110. data/src/core/ext/filters/http/client_authority_filter.cc +13 -17
  111. data/src/core/ext/filters/http/client_authority_filter.h +6 -7
  112. data/src/core/ext/filters/http/http_filters_plugin.cc +1 -2
  113. data/src/core/ext/filters/http/message_compress/compression_filter.cc +49 -41
  114. data/src/core/ext/filters/http/message_compress/compression_filter.h +19 -17
  115. data/src/core/ext/filters/http/server/http_server_filter.cc +16 -18
  116. data/src/core/ext/filters/http/server/http_server_filter.h +4 -5
  117. data/src/core/ext/filters/message_size/message_size_filter.cc +32 -39
  118. data/src/core/ext/filters/message_size/message_size_filter.h +22 -25
  119. data/src/core/ext/filters/rbac/rbac_filter.cc +6 -13
  120. data/src/core/ext/filters/rbac/rbac_filter.h +6 -8
  121. data/src/core/ext/filters/rbac/rbac_service_config_parser.cc +17 -11
  122. data/src/core/ext/filters/rbac/rbac_service_config_parser.h +2 -4
  123. data/src/core/ext/filters/stateful_session/stateful_session_filter.cc +12 -14
  124. data/src/core/ext/filters/stateful_session/stateful_session_filter.h +6 -8
  125. data/src/core/ext/filters/stateful_session/stateful_session_service_config_parser.cc +3 -4
  126. data/src/core/ext/filters/stateful_session/stateful_session_service_config_parser.h +5 -7
  127. data/src/core/ext/transport/chttp2/alpn/alpn.cc +1 -3
  128. data/src/core/ext/transport/chttp2/alpn/alpn.h +1 -2
  129. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +21 -26
  130. data/src/core/ext/transport/chttp2/client/chttp2_connector.h +7 -7
  131. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +762 -191
  132. data/src/core/ext/transport/chttp2/server/chttp2_server.h +191 -15
  133. data/src/core/ext/transport/chttp2/transport/bin_decoder.cc +7 -7
  134. data/src/core/ext/transport/chttp2/transport/bin_decoder.h +2 -3
  135. data/src/core/ext/transport/chttp2/transport/bin_encoder.cc +4 -7
  136. data/src/core/ext/transport/chttp2/transport/bin_encoder.h +1 -2
  137. data/src/core/ext/transport/chttp2/transport/call_tracer_wrapper.cc +53 -0
  138. data/src/core/ext/transport/chttp2/transport/call_tracer_wrapper.h +72 -0
  139. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +500 -394
  140. data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +12 -13
  141. data/src/core/ext/transport/chttp2/transport/context_list_entry.h +1 -2
  142. data/src/core/ext/transport/chttp2/transport/decode_huff.h +4 -4
  143. data/src/core/ext/transport/chttp2/transport/flow_control.cc +7 -10
  144. data/src/core/ext/transport/chttp2/transport/flow_control.h +5 -8
  145. data/src/core/ext/transport/chttp2/transport/frame.cc +24 -7
  146. data/src/core/ext/transport/chttp2/transport/frame.h +16 -7
  147. data/src/core/ext/transport/chttp2/transport/frame_data.cc +17 -14
  148. data/src/core/ext/transport/chttp2/transport/frame_data.h +2 -4
  149. data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +11 -14
  150. data/src/core/ext/transport/chttp2/transport/frame_goaway.h +1 -2
  151. data/src/core/ext/transport/chttp2/transport/frame_ping.cc +8 -10
  152. data/src/core/ext/transport/chttp2/transport/frame_ping.h +1 -2
  153. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +7 -9
  154. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +1 -2
  155. data/src/core/ext/transport/chttp2/transport/frame_security.cc +80 -0
  156. data/src/core/ext/transport/chttp2/transport/frame_security.h +44 -0
  157. data/src/core/ext/transport/chttp2/transport/frame_settings.cc +29 -16
  158. data/src/core/ext/transport/chttp2/transport/frame_settings.h +3 -4
  159. data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +21 -4
  160. data/src/core/ext/transport/chttp2/transport/frame_window_update.h +1 -2
  161. data/src/core/ext/transport/chttp2/transport/hpack_constants.h +2 -2
  162. data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +12 -14
  163. data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +6 -8
  164. data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.cc +2 -3
  165. data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.h +4 -5
  166. data/src/core/ext/transport/chttp2/transport/hpack_parse_result.cc +2 -4
  167. data/src/core/ext/transport/chttp2/transport/hpack_parse_result.h +6 -9
  168. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +39 -40
  169. data/src/core/ext/transport/chttp2/transport/hpack_parser.h +9 -12
  170. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +38 -8
  171. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.h +29 -10
  172. data/src/core/ext/transport/chttp2/transport/http2_settings.cc +13 -5
  173. data/src/core/ext/transport/chttp2/transport/http2_settings.h +12 -6
  174. data/src/core/ext/transport/chttp2/transport/internal.h +58 -110
  175. data/src/core/ext/transport/chttp2/transport/legacy_frame.h +1 -0
  176. data/src/core/ext/transport/chttp2/transport/parsing.cc +79 -55
  177. data/src/core/ext/transport/chttp2/transport/ping_abuse_policy.cc +4 -4
  178. data/src/core/ext/transport/chttp2/transport/ping_abuse_policy.h +3 -3
  179. data/src/core/ext/transport/chttp2/transport/ping_callbacks.cc +4 -5
  180. data/src/core/ext/transport/chttp2/transport/ping_callbacks.h +5 -7
  181. data/src/core/ext/transport/chttp2/transport/ping_rate_policy.cc +6 -7
  182. data/src/core/ext/transport/chttp2/transport/ping_rate_policy.h +4 -6
  183. data/src/core/ext/transport/chttp2/transport/stream_lists.cc +11 -11
  184. data/src/core/ext/transport/chttp2/transport/stream_lists.h +65 -0
  185. data/src/core/ext/transport/chttp2/transport/varint.cc +6 -6
  186. data/src/core/ext/transport/chttp2/transport/varint.h +1 -3
  187. data/src/core/ext/transport/chttp2/transport/write_size_policy.cc +2 -3
  188. data/src/core/ext/transport/chttp2/transport/write_size_policy.h +3 -4
  189. data/src/core/ext/transport/chttp2/transport/writing.cc +49 -55
  190. data/src/core/ext/transport/inproc/inproc_transport.cc +7 -10
  191. data/src/core/ext/transport/inproc/legacy_inproc_transport.cc +27 -24
  192. data/src/core/ext/upb-gen/envoy/admin/v3/certs.upb.h +35 -4
  193. data/src/core/ext/upb-gen/envoy/admin/v3/certs.upb_minitable.c +25 -18
  194. data/src/core/ext/upb-gen/envoy/admin/v3/certs.upb_minitable.h +10 -4
  195. data/src/core/ext/upb-gen/envoy/admin/v3/clusters.upb.h +36 -4
  196. data/src/core/ext/upb-gen/envoy/admin/v3/clusters.upb_minitable.c +24 -18
  197. data/src/core/ext/upb-gen/envoy/admin/v3/clusters.upb_minitable.h +9 -4
  198. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump.upb.h +39 -4
  199. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump.upb_minitable.c +29 -22
  200. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump.upb_minitable.h +10 -4
  201. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump_shared.upb.h +140 -5
  202. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump_shared.upb_minitable.c +105 -84
  203. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump_shared.upb_minitable.h +24 -4
  204. data/src/core/ext/upb-gen/envoy/admin/v3/init_dump.upb.h +10 -4
  205. data/src/core/ext/upb-gen/envoy/admin/v3/init_dump.upb_minitable.c +8 -4
  206. data/src/core/ext/upb-gen/envoy/admin/v3/init_dump.upb_minitable.h +7 -4
  207. data/src/core/ext/upb-gen/envoy/admin/v3/listeners.upb.h +17 -4
  208. data/src/core/ext/upb-gen/envoy/admin/v3/listeners.upb_minitable.c +12 -8
  209. data/src/core/ext/upb-gen/envoy/admin/v3/listeners.upb_minitable.h +7 -4
  210. data/src/core/ext/upb-gen/envoy/admin/v3/memory.upb.h +5 -4
  211. data/src/core/ext/upb-gen/envoy/admin/v3/memory.upb_minitable.c +4 -1
  212. data/src/core/ext/upb-gen/envoy/admin/v3/memory.upb_minitable.h +6 -4
  213. data/src/core/ext/upb-gen/envoy/admin/v3/metrics.upb.h +5 -4
  214. data/src/core/ext/upb-gen/envoy/admin/v3/metrics.upb_minitable.c +4 -1
  215. data/src/core/ext/upb-gen/envoy/admin/v3/metrics.upb_minitable.h +6 -4
  216. data/src/core/ext/upb-gen/envoy/admin/v3/mutex_stats.upb.h +5 -4
  217. data/src/core/ext/upb-gen/envoy/admin/v3/mutex_stats.upb_minitable.c +4 -1
  218. data/src/core/ext/upb-gen/envoy/admin/v3/mutex_stats.upb_minitable.h +6 -4
  219. data/src/core/ext/upb-gen/envoy/admin/v3/server_info.upb.h +35 -4
  220. data/src/core/ext/upb-gen/envoy/admin/v3/server_info.upb_minitable.c +19 -14
  221. data/src/core/ext/upb-gen/envoy/admin/v3/server_info.upb_minitable.h +7 -4
  222. data/src/core/ext/upb-gen/envoy/admin/v3/tap.upb.h +7 -4
  223. data/src/core/ext/upb-gen/envoy/admin/v3/tap.upb_minitable.c +7 -4
  224. data/src/core/ext/upb-gen/envoy/admin/v3/tap.upb_minitable.h +6 -4
  225. data/src/core/ext/upb-gen/envoy/annotations/deprecation.upb.h +5 -4
  226. data/src/core/ext/upb-gen/envoy/annotations/deprecation.upb_minitable.c +7 -1
  227. data/src/core/ext/upb-gen/envoy/annotations/deprecation.upb_minitable.h +5 -4
  228. data/src/core/ext/upb-gen/envoy/annotations/resource.upb.h +7 -6
  229. data/src/core/ext/upb-gen/envoy/annotations/resource.upb_minitable.c +10 -6
  230. data/src/core/ext/upb-gen/envoy/annotations/resource.upb_minitable.h +6 -4
  231. data/src/core/ext/upb-gen/envoy/config/accesslog/v3/accesslog.upb.h +61 -4
  232. data/src/core/ext/upb-gen/envoy/config/accesslog/v3/accesslog.upb_minitable.c +66 -48
  233. data/src/core/ext/upb-gen/envoy/config/accesslog/v3/accesslog.upb_minitable.h +21 -4
  234. data/src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb.h +183 -4
  235. data/src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb_minitable.c +131 -106
  236. data/src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb_minitable.h +28 -4
  237. data/src/core/ext/upb-gen/envoy/config/cluster/v3/circuit_breaker.upb.h +31 -4
  238. data/src/core/ext/upb-gen/envoy/config/cluster/v3/circuit_breaker.upb_minitable.c +22 -17
  239. data/src/core/ext/upb-gen/envoy/config/cluster/v3/circuit_breaker.upb_minitable.h +8 -4
  240. data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb.h +251 -40
  241. data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb_minitable.c +169 -140
  242. data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb_minitable.h +30 -4
  243. data/src/core/ext/upb-gen/envoy/config/cluster/v3/filter.upb.h +9 -4
  244. data/src/core/ext/upb-gen/envoy/config/cluster/v3/filter.upb_minitable.c +8 -5
  245. data/src/core/ext/upb-gen/envoy/config/cluster/v3/filter.upb_minitable.h +6 -4
  246. data/src/core/ext/upb-gen/envoy/config/cluster/v3/outlier_detection.upb.h +56 -4
  247. data/src/core/ext/upb-gen/envoy/config/cluster/v3/outlier_detection.upb_minitable.c +30 -27
  248. data/src/core/ext/upb-gen/envoy/config/cluster/v3/outlier_detection.upb_minitable.h +6 -4
  249. data/src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb.h +96 -4
  250. data/src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb_minitable.c +80 -63
  251. data/src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb_minitable.h +20 -4
  252. data/src/core/ext/upb-gen/envoy/config/core/v3/address.upb.h +44 -4
  253. data/src/core/ext/upb-gen/envoy/config/core/v3/address.upb_minitable.c +36 -26
  254. data/src/core/ext/upb-gen/envoy/config/core/v3/address.upb_minitable.h +13 -4
  255. data/src/core/ext/upb-gen/envoy/config/core/v3/backoff.upb.h +9 -4
  256. data/src/core/ext/upb-gen/envoy/config/core/v3/backoff.upb_minitable.c +8 -5
  257. data/src/core/ext/upb-gen/envoy/config/core/v3/backoff.upb_minitable.h +6 -4
  258. data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb.h +225 -4
  259. data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb_minitable.c +138 -81
  260. data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb_minitable.h +36 -4
  261. data/src/core/ext/upb-gen/envoy/config/core/v3/config_source.upb.h +46 -4
  262. data/src/core/ext/upb-gen/envoy/config/core/v3/config_source.upb_minitable.c +36 -27
  263. data/src/core/ext/upb-gen/envoy/config/core/v3/config_source.upb_minitable.h +12 -4
  264. data/src/core/ext/upb-gen/envoy/config/core/v3/event_service_config.upb.h +7 -4
  265. data/src/core/ext/upb-gen/envoy/config/core/v3/event_service_config.upb_minitable.c +7 -4
  266. data/src/core/ext/upb-gen/envoy/config/core/v3/event_service_config.upb_minitable.h +6 -4
  267. data/src/core/ext/upb-gen/envoy/config/core/v3/extension.upb.h +7 -4
  268. data/src/core/ext/upb-gen/envoy/config/core/v3/extension.upb_minitable.c +7 -4
  269. data/src/core/ext/upb-gen/envoy/config/core/v3/extension.upb_minitable.h +6 -4
  270. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_method_list.upb.h +10 -4
  271. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_method_list.upb_minitable.c +8 -4
  272. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_method_list.upb_minitable.h +7 -4
  273. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb.h +71 -4
  274. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb_minitable.c +61 -45
  275. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb_minitable.h +19 -4
  276. data/src/core/ext/upb-gen/envoy/config/core/v3/health_check.upb.h +92 -4
  277. data/src/core/ext/upb-gen/envoy/config/core/v3/health_check.upb_minitable.c +55 -44
  278. data/src/core/ext/upb-gen/envoy/config/core/v3/health_check.upb_minitable.h +14 -4
  279. data/src/core/ext/upb-gen/envoy/config/core/v3/http_service.upb.h +12 -4
  280. data/src/core/ext/upb-gen/envoy/config/core/v3/http_service.upb_minitable.c +8 -5
  281. data/src/core/ext/upb-gen/envoy/config/core/v3/http_service.upb_minitable.h +6 -4
  282. data/src/core/ext/upb-gen/envoy/config/core/v3/http_uri.upb.h +7 -4
  283. data/src/core/ext/upb-gen/envoy/config/core/v3/http_uri.upb_minitable.c +7 -4
  284. data/src/core/ext/upb-gen/envoy/config/core/v3/http_uri.upb_minitable.h +6 -4
  285. data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb.h +196 -10
  286. data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb_minitable.c +101 -77
  287. data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb_minitable.h +21 -4
  288. data/src/core/ext/upb-gen/envoy/config/core/v3/proxy_protocol.upb.h +7 -4
  289. data/src/core/ext/upb-gen/envoy/config/core/v3/proxy_protocol.upb_minitable.c +8 -4
  290. data/src/core/ext/upb-gen/envoy/config/core/v3/proxy_protocol.upb_minitable.h +7 -4
  291. data/src/core/ext/upb-gen/envoy/config/core/v3/resolver.upb.h +12 -4
  292. data/src/core/ext/upb-gen/envoy/config/core/v3/resolver.upb_minitable.c +9 -5
  293. data/src/core/ext/upb-gen/envoy/config/core/v3/resolver.upb_minitable.h +7 -4
  294. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_cmsg_headers.upb.h +151 -0
  295. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_cmsg_headers.upb_minitable.c +60 -0
  296. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_cmsg_headers.upb_minitable.h +32 -0
  297. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb.h +238 -25
  298. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb_minitable.c +73 -21
  299. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb_minitable.h +13 -4
  300. data/src/core/ext/upb-gen/envoy/config/core/v3/substitution_format_string.upb.h +16 -4
  301. data/src/core/ext/upb-gen/envoy/config/core/v3/substitution_format_string.upb_minitable.c +11 -7
  302. data/src/core/ext/upb-gen/envoy/config/core/v3/substitution_format_string.upb_minitable.h +7 -4
  303. data/src/core/ext/upb-gen/envoy/config/core/v3/udp_socket_config.upb.h +9 -4
  304. data/src/core/ext/upb-gen/envoy/config/core/v3/udp_socket_config.upb_minitable.c +8 -5
  305. data/src/core/ext/upb-gen/envoy/config/core/v3/udp_socket_config.upb_minitable.h +6 -4
  306. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint.upb.h +35 -4
  307. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint.upb_minitable.c +23 -17
  308. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint.upb_minitable.h +9 -4
  309. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb.h +48 -4
  310. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb_minitable.c +41 -32
  311. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb_minitable.h +12 -4
  312. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/load_report.upb.h +44 -4
  313. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/load_report.upb_minitable.c +27 -19
  314. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/load_report.upb_minitable.h +11 -4
  315. data/src/core/ext/upb-gen/envoy/config/listener/v3/api_listener.upb.h +7 -4
  316. data/src/core/ext/upb-gen/envoy/config/listener/v3/api_listener.upb_minitable.c +7 -4
  317. data/src/core/ext/upb-gen/envoy/config/listener/v3/api_listener.upb_minitable.h +6 -4
  318. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb.h +83 -4
  319. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb_minitable.c +53 -41
  320. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb_minitable.h +15 -4
  321. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb.h +69 -106
  322. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb_minitable.c +48 -60
  323. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb_minitable.h +11 -5
  324. data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb.h +112 -4
  325. data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb_minitable.c +41 -16
  326. data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb_minitable.h +6 -4
  327. data/src/core/ext/upb-gen/envoy/config/listener/v3/udp_listener_config.upb.h +11 -4
  328. data/src/core/ext/upb-gen/envoy/config/listener/v3/udp_listener_config.upb_minitable.c +10 -6
  329. data/src/core/ext/upb-gen/envoy/config/listener/v3/udp_listener_config.upb_minitable.h +7 -4
  330. data/src/core/ext/upb-gen/envoy/config/metrics/v3/metrics_service.upb.h +9 -4
  331. data/src/core/ext/upb-gen/envoy/config/metrics/v3/metrics_service.upb_minitable.c +8 -5
  332. data/src/core/ext/upb-gen/envoy/config/metrics/v3/metrics_service.upb_minitable.h +6 -4
  333. data/src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb.h +33 -4
  334. data/src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb_minitable.c +34 -24
  335. data/src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb_minitable.h +13 -4
  336. data/src/core/ext/upb-gen/envoy/config/overload/v3/overload.upb.h +53 -5
  337. data/src/core/ext/upb-gen/envoy/config/overload/v3/overload.upb_minitable.c +41 -29
  338. data/src/core/ext/upb-gen/envoy/config/overload/v3/overload.upb_minitable.h +15 -4
  339. data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb.h +248 -4
  340. data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb_minitable.c +106 -63
  341. data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb_minitable.h +18 -4
  342. data/src/core/ext/upb-gen/envoy/config/route/v3/route.upb.h +52 -4
  343. data/src/core/ext/upb-gen/envoy/config/route/v3/route.upb_minitable.c +24 -19
  344. data/src/core/ext/upb-gen/envoy/config/route/v3/route.upb_minitable.h +8 -4
  345. data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb.h +688 -8
  346. data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb_minitable.c +374 -257
  347. data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb_minitable.h +67 -4
  348. data/src/core/ext/upb-gen/envoy/config/route/v3/scoped_route.upb.h +14 -4
  349. data/src/core/ext/upb-gen/envoy/config/route/v3/scoped_route.upb_minitable.c +13 -8
  350. data/src/core/ext/upb-gen/envoy/config/route/v3/scoped_route.upb_minitable.h +8 -4
  351. data/src/core/ext/upb-gen/envoy/config/tap/v3/common.upb.h +69 -4
  352. data/src/core/ext/upb-gen/envoy/config/tap/v3/common.upb_minitable.c +59 -45
  353. data/src/core/ext/upb-gen/envoy/config/tap/v3/common.upb_minitable.h +17 -4
  354. data/src/core/ext/upb-gen/envoy/config/trace/v3/datadog.upb.h +9 -4
  355. data/src/core/ext/upb-gen/envoy/config/trace/v3/datadog.upb_minitable.c +11 -7
  356. data/src/core/ext/upb-gen/envoy/config/trace/v3/datadog.upb_minitable.h +7 -4
  357. data/src/core/ext/upb-gen/envoy/config/trace/v3/dynamic_ot.upb.h +7 -4
  358. data/src/core/ext/upb-gen/envoy/config/trace/v3/dynamic_ot.upb_minitable.c +7 -4
  359. data/src/core/ext/upb-gen/envoy/config/trace/v3/dynamic_ot.upb_minitable.h +6 -4
  360. data/src/core/ext/upb-gen/envoy/config/trace/v3/http_tracer.upb.h +9 -4
  361. data/src/core/ext/upb-gen/envoy/config/trace/v3/http_tracer.upb_minitable.c +11 -7
  362. data/src/core/ext/upb-gen/envoy/config/trace/v3/http_tracer.upb_minitable.h +7 -4
  363. data/src/core/ext/upb-gen/envoy/config/trace/v3/lightstep.upb.h +7 -4
  364. data/src/core/ext/upb-gen/envoy/config/trace/v3/lightstep.upb_minitable.c +7 -4
  365. data/src/core/ext/upb-gen/envoy/config/trace/v3/lightstep.upb_minitable.h +6 -4
  366. data/src/core/ext/upb-gen/envoy/config/trace/v3/opentelemetry.upb.h +16 -4
  367. data/src/core/ext/upb-gen/envoy/config/trace/v3/opentelemetry.upb_minitable.c +10 -7
  368. data/src/core/ext/upb-gen/envoy/config/trace/v3/opentelemetry.upb_minitable.h +6 -4
  369. data/src/core/ext/upb-gen/envoy/config/trace/v3/service.upb.h +7 -4
  370. data/src/core/ext/upb-gen/envoy/config/trace/v3/service.upb_minitable.c +7 -4
  371. data/src/core/ext/upb-gen/envoy/config/trace/v3/service.upb_minitable.h +6 -4
  372. data/src/core/ext/upb-gen/envoy/config/trace/v3/skywalking.upb.h +11 -4
  373. data/src/core/ext/upb-gen/envoy/config/trace/v3/skywalking.upb_minitable.c +12 -8
  374. data/src/core/ext/upb-gen/envoy/config/trace/v3/skywalking.upb_minitable.h +7 -4
  375. data/src/core/ext/upb-gen/envoy/config/trace/v3/trace.upb.h +5 -6
  376. data/src/core/ext/upb-gen/envoy/config/trace/v3/trace.upb_minitable.c +3 -2
  377. data/src/core/ext/upb-gen/envoy/config/trace/v3/trace.upb_minitable.h +5 -5
  378. data/src/core/ext/upb-gen/envoy/config/trace/v3/xray.upb.h +13 -4
  379. data/src/core/ext/upb-gen/envoy/config/trace/v3/xray.upb_minitable.c +13 -9
  380. data/src/core/ext/upb-gen/envoy/config/trace/v3/xray.upb_minitable.h +7 -4
  381. data/src/core/ext/upb-gen/envoy/config/trace/v3/zipkin.upb.h +7 -4
  382. data/src/core/ext/upb-gen/envoy/config/trace/v3/zipkin.upb_minitable.c +7 -4
  383. data/src/core/ext/upb-gen/envoy/config/trace/v3/zipkin.upb_minitable.h +6 -4
  384. data/src/core/ext/upb-gen/envoy/data/accesslog/v3/accesslog.upb.h +102 -4
  385. data/src/core/ext/upb-gen/envoy/data/accesslog/v3/accesslog.upb_minitable.c +72 -54
  386. data/src/core/ext/upb-gen/envoy/data/accesslog/v3/accesslog.upb_minitable.h +21 -4
  387. data/src/core/ext/upb-gen/envoy/extensions/clusters/aggregate/v3/cluster.upb.h +5 -4
  388. data/src/core/ext/upb-gen/envoy/extensions/clusters/aggregate/v3/cluster.upb_minitable.c +4 -1
  389. data/src/core/ext/upb-gen/envoy/extensions/clusters/aggregate/v3/cluster.upb_minitable.h +6 -4
  390. data/src/core/ext/upb-gen/envoy/extensions/filters/common/fault/v3/fault.upb.h +17 -4
  391. data/src/core/ext/upb-gen/envoy/extensions/filters/common/fault/v3/fault.upb_minitable.c +18 -11
  392. data/src/core/ext/upb-gen/envoy/extensions/filters/common/fault/v3/fault.upb_minitable.h +10 -4
  393. data/src/core/ext/upb-gen/envoy/extensions/filters/http/fault/v3/fault.upb.h +24 -4
  394. data/src/core/ext/upb-gen/envoy/extensions/filters/http/fault/v3/fault.upb_minitable.c +18 -13
  395. data/src/core/ext/upb-gen/envoy/extensions/filters/http/fault/v3/fault.upb_minitable.h +8 -4
  396. data/src/core/ext/upb-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upb.h +444 -0
  397. data/src/core/ext/upb-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upb_minitable.c +135 -0
  398. data/src/core/ext/upb-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upb_minitable.h +38 -0
  399. data/src/core/ext/upb-gen/envoy/extensions/filters/http/rbac/v3/rbac.upb.h +15 -4
  400. data/src/core/ext/upb-gen/envoy/extensions/filters/http/rbac/v3/rbac.upb_minitable.c +14 -10
  401. data/src/core/ext/upb-gen/envoy/extensions/filters/http/rbac/v3/rbac.upb_minitable.h +7 -4
  402. data/src/core/ext/upb-gen/envoy/extensions/filters/http/router/v3/router.upb.h +21 -4
  403. data/src/core/ext/upb-gen/envoy/extensions/filters/http/router/v3/router.upb_minitable.c +14 -10
  404. data/src/core/ext/upb-gen/envoy/extensions/filters/http/router/v3/router.upb_minitable.h +7 -4
  405. data/src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.h +9 -4
  406. data/src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb_minitable.c +11 -7
  407. data/src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb_minitable.h +7 -4
  408. data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +197 -4
  409. data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb_minitable.c +137 -113
  410. data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb_minitable.h +26 -4
  411. data/src/core/ext/upb-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.h +7 -4
  412. data/src/core/ext/upb-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb_minitable.c +7 -4
  413. data/src/core/ext/upb-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb_minitable.h +6 -4
  414. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb.h +77 -4
  415. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb_minitable.c +25 -11
  416. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb_minitable.h +6 -4
  417. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb.h +21 -4
  418. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb_minitable.c +24 -17
  419. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb_minitable.h +10 -4
  420. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb.h +5 -4
  421. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb_minitable.c +4 -1
  422. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb_minitable.h +6 -4
  423. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.h +15 -4
  424. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb_minitable.c +11 -8
  425. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb_minitable.h +6 -4
  426. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.h +7 -4
  427. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb_minitable.c +7 -4
  428. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb_minitable.h +6 -4
  429. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upb.h +105 -0
  430. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upb_minitable.c +51 -0
  431. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upb_minitable.h +32 -0
  432. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/cert.upb.h +5 -4
  433. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/cert.upb_minitable.c +3 -1
  434. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/cert.upb_minitable.h +5 -4
  435. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb.h +59 -4
  436. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb_minitable.c +42 -32
  437. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb_minitable.h +13 -4
  438. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +17 -4
  439. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/secret.upb_minitable.c +18 -13
  440. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/secret.upb_minitable.h +8 -4
  441. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +179 -28
  442. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb_minitable.c +79 -61
  443. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb_minitable.h +12 -4
  444. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.h +49 -11
  445. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb_minitable.c +17 -11
  446. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb_minitable.h +7 -4
  447. data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb.h +42 -4
  448. data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb_minitable.c +32 -26
  449. data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb_minitable.h +9 -4
  450. data/src/core/ext/upb-gen/envoy/service/discovery/v3/ads.upb.h +5 -4
  451. data/src/core/ext/upb-gen/envoy/service/discovery/v3/ads.upb_minitable.c +4 -1
  452. data/src/core/ext/upb-gen/envoy/service/discovery/v3/ads.upb_minitable.h +6 -4
  453. data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb.h +337 -22
  454. data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb_minitable.c +102 -61
  455. data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb_minitable.h +21 -4
  456. data/src/core/ext/upb-gen/envoy/service/load_stats/v3/lrs.upb.h +14 -4
  457. data/src/core/ext/upb-gen/envoy/service/load_stats/v3/lrs.upb_minitable.c +12 -8
  458. data/src/core/ext/upb-gen/envoy/service/load_stats/v3/lrs.upb_minitable.h +7 -4
  459. data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb.h +47 -5
  460. data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb_minitable.c +32 -25
  461. data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb_minitable.h +10 -4
  462. data/src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb.h +7 -4
  463. data/src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb_minitable.c +7 -4
  464. data/src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb_minitable.h +6 -4
  465. data/src/core/ext/upb-gen/envoy/type/http/v3/path_transformation.upb.h +14 -4
  466. data/src/core/ext/upb-gen/envoy/type/http/v3/path_transformation.upb_minitable.c +14 -8
  467. data/src/core/ext/upb-gen/envoy/type/http/v3/path_transformation.upb_minitable.h +9 -4
  468. data/src/core/ext/upb-gen/envoy/type/matcher/v3/address.upb.h +142 -0
  469. data/src/core/ext/upb-gen/envoy/type/matcher/v3/address.upb_minitable.c +55 -0
  470. data/src/core/ext/upb-gen/envoy/type/matcher/v3/address.upb_minitable.h +32 -0
  471. data/src/core/ext/upb-gen/envoy/type/matcher/v3/filter_state.upb.h +40 -4
  472. data/src/core/ext/upb-gen/envoy/type/matcher/v3/filter_state.upb_minitable.c +13 -7
  473. data/src/core/ext/upb-gen/envoy/type/matcher/v3/filter_state.upb_minitable.h +6 -4
  474. data/src/core/ext/upb-gen/envoy/type/matcher/v3/http_inputs.upb.h +5 -4
  475. data/src/core/ext/upb-gen/envoy/type/matcher/v3/http_inputs.upb_minitable.c +8 -1
  476. data/src/core/ext/upb-gen/envoy/type/matcher/v3/http_inputs.upb_minitable.h +10 -4
  477. data/src/core/ext/upb-gen/envoy/type/matcher/v3/metadata.upb.h +12 -4
  478. data/src/core/ext/upb-gen/envoy/type/matcher/v3/metadata.upb_minitable.c +9 -5
  479. data/src/core/ext/upb-gen/envoy/type/matcher/v3/metadata.upb_minitable.h +7 -4
  480. data/src/core/ext/upb-gen/envoy/type/matcher/v3/node.upb.h +12 -4
  481. data/src/core/ext/upb-gen/envoy/type/matcher/v3/node.upb_minitable.c +8 -5
  482. data/src/core/ext/upb-gen/envoy/type/matcher/v3/node.upb_minitable.h +6 -4
  483. data/src/core/ext/upb-gen/envoy/type/matcher/v3/number.upb.h +7 -4
  484. data/src/core/ext/upb-gen/envoy/type/matcher/v3/number.upb_minitable.c +7 -4
  485. data/src/core/ext/upb-gen/envoy/type/matcher/v3/number.upb_minitable.h +6 -4
  486. data/src/core/ext/upb-gen/envoy/type/matcher/v3/path.upb.h +7 -4
  487. data/src/core/ext/upb-gen/envoy/type/matcher/v3/path.upb_minitable.c +7 -4
  488. data/src/core/ext/upb-gen/envoy/type/matcher/v3/path.upb_minitable.h +6 -4
  489. data/src/core/ext/upb-gen/envoy/type/matcher/v3/regex.upb.h +11 -4
  490. data/src/core/ext/upb-gen/envoy/type/matcher/v3/regex.upb_minitable.c +15 -10
  491. data/src/core/ext/upb-gen/envoy/type/matcher/v3/regex.upb_minitable.h +8 -4
  492. data/src/core/ext/upb-gen/envoy/type/matcher/v3/status_code_input.upb.h +5 -4
  493. data/src/core/ext/upb-gen/envoy/type/matcher/v3/status_code_input.upb_minitable.c +5 -1
  494. data/src/core/ext/upb-gen/envoy/type/matcher/v3/status_code_input.upb_minitable.h +7 -4
  495. data/src/core/ext/upb-gen/envoy/type/matcher/v3/string.upb.h +14 -4
  496. data/src/core/ext/upb-gen/envoy/type/matcher/v3/string.upb_minitable.c +12 -8
  497. data/src/core/ext/upb-gen/envoy/type/matcher/v3/string.upb_minitable.h +7 -4
  498. data/src/core/ext/upb-gen/envoy/type/matcher/v3/struct.upb.h +12 -4
  499. data/src/core/ext/upb-gen/envoy/type/matcher/v3/struct.upb_minitable.c +9 -5
  500. data/src/core/ext/upb-gen/envoy/type/matcher/v3/struct.upb_minitable.h +7 -4
  501. data/src/core/ext/upb-gen/envoy/type/matcher/v3/value.upb.h +22 -4
  502. data/src/core/ext/upb-gen/envoy/type/matcher/v3/value.upb_minitable.c +20 -14
  503. data/src/core/ext/upb-gen/envoy/type/matcher/v3/value.upb_minitable.h +9 -4
  504. data/src/core/ext/upb-gen/envoy/type/metadata/v3/metadata.upb.h +18 -4
  505. data/src/core/ext/upb-gen/envoy/type/metadata/v3/metadata.upb_minitable.c +19 -10
  506. data/src/core/ext/upb-gen/envoy/type/metadata/v3/metadata.upb_minitable.h +12 -4
  507. data/src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb.h +17 -4
  508. data/src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb_minitable.c +18 -11
  509. data/src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb_minitable.h +10 -4
  510. data/src/core/ext/upb-gen/envoy/type/v3/hash_policy.upb.h +9 -4
  511. data/src/core/ext/upb-gen/envoy/type/v3/hash_policy.upb_minitable.c +10 -5
  512. data/src/core/ext/upb-gen/envoy/type/v3/hash_policy.upb_minitable.h +8 -4
  513. data/src/core/ext/upb-gen/envoy/type/v3/http.upb.h +5 -4
  514. data/src/core/ext/upb-gen/envoy/type/v3/http.upb_minitable.c +3 -1
  515. data/src/core/ext/upb-gen/envoy/type/v3/http.upb_minitable.h +5 -4
  516. data/src/core/ext/upb-gen/envoy/type/v3/http_status.upb.h +5 -4
  517. data/src/core/ext/upb-gen/envoy/type/v3/http_status.upb_minitable.c +4 -1
  518. data/src/core/ext/upb-gen/envoy/type/v3/http_status.upb_minitable.h +6 -4
  519. data/src/core/ext/upb-gen/envoy/type/v3/percent.upb.h +5 -4
  520. data/src/core/ext/upb-gen/envoy/type/v3/percent.upb_minitable.c +5 -1
  521. data/src/core/ext/upb-gen/envoy/type/v3/percent.upb_minitable.h +7 -4
  522. data/src/core/ext/upb-gen/envoy/type/v3/range.upb.h +5 -4
  523. data/src/core/ext/upb-gen/envoy/type/v3/range.upb_minitable.c +6 -1
  524. data/src/core/ext/upb-gen/envoy/type/v3/range.upb_minitable.h +8 -4
  525. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_strategy.upb.h +9 -4
  526. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_strategy.upb_minitable.c +9 -5
  527. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_strategy.upb_minitable.h +7 -4
  528. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_unit.upb.h +5 -4
  529. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_unit.upb_minitable.c +3 -1
  530. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_unit.upb_minitable.h +5 -4
  531. data/src/core/ext/upb-gen/envoy/type/v3/semantic_version.upb.h +5 -4
  532. data/src/core/ext/upb-gen/envoy/type/v3/semantic_version.upb_minitable.c +4 -1
  533. data/src/core/ext/upb-gen/envoy/type/v3/semantic_version.upb_minitable.h +6 -4
  534. data/src/core/ext/upb-gen/envoy/type/v3/token_bucket.upb.h +9 -4
  535. data/src/core/ext/upb-gen/envoy/type/v3/token_bucket.upb_minitable.c +8 -5
  536. data/src/core/ext/upb-gen/envoy/type/v3/token_bucket.upb_minitable.h +6 -4
  537. data/src/core/ext/upb-gen/google/api/annotations.upb.h +7 -6
  538. data/src/core/ext/upb-gen/google/api/annotations.upb_minitable.c +5 -2
  539. data/src/core/ext/upb-gen/google/api/annotations.upb_minitable.h +5 -4
  540. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb.h +103 -4
  541. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb_minitable.c +82 -56
  542. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb_minitable.h +18 -4
  543. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb.h +482 -26
  544. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb_minitable.c +160 -68
  545. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb_minitable.h +23 -4
  546. data/src/core/ext/upb-gen/google/api/http.upb.h +18 -4
  547. data/src/core/ext/upb-gen/google/api/http.upb_minitable.c +13 -8
  548. data/src/core/ext/upb-gen/google/api/http.upb_minitable.h +8 -4
  549. data/src/core/ext/upb-gen/google/api/httpbody.upb.h +10 -4
  550. data/src/core/ext/upb-gen/google/api/httpbody.upb_minitable.c +7 -4
  551. data/src/core/ext/upb-gen/google/api/httpbody.upb_minitable.h +6 -4
  552. data/src/core/ext/upb-gen/google/protobuf/any.upb.h +6 -4
  553. data/src/core/ext/upb-gen/google/protobuf/any.upb_minitable.c +4 -1
  554. data/src/core/ext/upb-gen/google/protobuf/any.upb_minitable.h +6 -4
  555. data/src/core/ext/upb-gen/google/protobuf/descriptor.upb.h +202 -4
  556. data/src/core/ext/upb-gen/google/protobuf/descriptor.upb_minitable.c +241 -206
  557. data/src/core/ext/upb-gen/google/protobuf/descriptor.upb_minitable.h +55 -21
  558. data/src/core/ext/upb-gen/google/protobuf/duration.upb.h +6 -4
  559. data/src/core/ext/upb-gen/google/protobuf/duration.upb_minitable.c +4 -1
  560. data/src/core/ext/upb-gen/google/protobuf/duration.upb_minitable.h +6 -4
  561. data/src/core/ext/upb-gen/google/protobuf/empty.upb.h +6 -4
  562. data/src/core/ext/upb-gen/google/protobuf/empty.upb_minitable.c +4 -1
  563. data/src/core/ext/upb-gen/google/protobuf/empty.upb_minitable.h +6 -4
  564. data/src/core/ext/upb-gen/google/protobuf/struct.upb.h +27 -4
  565. data/src/core/ext/upb-gen/google/protobuf/struct.upb_minitable.c +20 -14
  566. data/src/core/ext/upb-gen/google/protobuf/struct.upb_minitable.h +9 -4
  567. data/src/core/ext/upb-gen/google/protobuf/timestamp.upb.h +6 -4
  568. data/src/core/ext/upb-gen/google/protobuf/timestamp.upb_minitable.c +4 -1
  569. data/src/core/ext/upb-gen/google/protobuf/timestamp.upb_minitable.h +6 -4
  570. data/src/core/ext/upb-gen/google/protobuf/wrappers.upb.h +6 -4
  571. data/src/core/ext/upb-gen/google/protobuf/wrappers.upb_minitable.c +12 -1
  572. data/src/core/ext/upb-gen/google/protobuf/wrappers.upb_minitable.h +14 -4
  573. data/src/core/ext/upb-gen/google/rpc/status.upb.h +10 -4
  574. data/src/core/ext/upb-gen/google/rpc/status.upb_minitable.c +7 -4
  575. data/src/core/ext/upb-gen/google/rpc/status.upb_minitable.h +6 -4
  576. data/src/core/ext/upb-gen/src/proto/grpc/gcp/altscontext.upb.h +13 -4
  577. data/src/core/ext/upb-gen/src/proto/grpc/gcp/altscontext.upb_minitable.c +9 -5
  578. data/src/core/ext/upb-gen/src/proto/grpc/gcp/altscontext.upb_minitable.h +7 -4
  579. data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb.h +63 -4
  580. data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb_minitable.c +51 -37
  581. data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb_minitable.h +17 -4
  582. data/src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb.h +10 -4
  583. data/src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb_minitable.c +9 -5
  584. data/src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb_minitable.h +7 -4
  585. data/src/core/ext/upb-gen/src/proto/grpc/health/v1/health.upb.h +6 -4
  586. data/src/core/ext/upb-gen/src/proto/grpc/health/v1/health.upb_minitable.c +5 -1
  587. data/src/core/ext/upb-gen/src/proto/grpc/health/v1/health.upb_minitable.h +7 -4
  588. data/src/core/ext/upb-gen/src/proto/grpc/lb/v1/load_balancer.upb.h +29 -4
  589. data/src/core/ext/upb-gen/src/proto/grpc/lb/v1/load_balancer.upb_minitable.c +31 -20
  590. data/src/core/ext/upb-gen/src/proto/grpc/lb/v1/load_balancer.upb_minitable.h +14 -4
  591. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls.upb.h +12 -4
  592. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls.upb_minitable.c +9 -4
  593. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls.upb_minitable.h +8 -4
  594. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls_config.upb.h +57 -4
  595. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls_config.upb_minitable.c +33 -22
  596. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls_config.upb_minitable.h +14 -4
  597. data/src/core/ext/upb-gen/udpa/annotations/migrate.upb.h +15 -14
  598. data/src/core/ext/upb-gen/udpa/annotations/migrate.upb_minitable.c +22 -12
  599. data/src/core/ext/upb-gen/udpa/annotations/migrate.upb_minitable.h +8 -4
  600. data/src/core/ext/upb-gen/udpa/annotations/security.upb.h +7 -6
  601. data/src/core/ext/upb-gen/udpa/annotations/security.upb_minitable.c +10 -6
  602. data/src/core/ext/upb-gen/udpa/annotations/security.upb_minitable.h +6 -4
  603. data/src/core/ext/upb-gen/udpa/annotations/sensitive.upb.h +5 -4
  604. data/src/core/ext/upb-gen/udpa/annotations/sensitive.upb_minitable.c +4 -1
  605. data/src/core/ext/upb-gen/udpa/annotations/sensitive.upb_minitable.h +5 -4
  606. data/src/core/ext/upb-gen/udpa/annotations/status.upb.h +7 -6
  607. data/src/core/ext/upb-gen/udpa/annotations/status.upb_minitable.c +10 -6
  608. data/src/core/ext/upb-gen/udpa/annotations/status.upb_minitable.h +6 -4
  609. data/src/core/ext/upb-gen/udpa/annotations/versioning.upb.h +7 -6
  610. data/src/core/ext/upb-gen/udpa/annotations/versioning.upb_minitable.c +10 -6
  611. data/src/core/ext/upb-gen/udpa/annotations/versioning.upb_minitable.h +6 -4
  612. data/src/core/ext/upb-gen/validate/validate.upb.h +89 -6
  613. data/src/core/ext/upb-gen/validate/validate.upb_minitable.c +116 -87
  614. data/src/core/ext/upb-gen/validate/validate.upb_minitable.h +29 -5
  615. data/src/core/ext/upb-gen/xds/annotations/v3/migrate.upb.h +15 -14
  616. data/src/core/ext/upb-gen/xds/annotations/v3/migrate.upb_minitable.c +22 -12
  617. data/src/core/ext/upb-gen/xds/annotations/v3/migrate.upb_minitable.h +8 -4
  618. data/src/core/ext/upb-gen/xds/annotations/v3/security.upb.h +7 -6
  619. data/src/core/ext/upb-gen/xds/annotations/v3/security.upb_minitable.c +10 -6
  620. data/src/core/ext/upb-gen/xds/annotations/v3/security.upb_minitable.h +6 -4
  621. data/src/core/ext/upb-gen/xds/annotations/v3/sensitive.upb.h +5 -4
  622. data/src/core/ext/upb-gen/xds/annotations/v3/sensitive.upb_minitable.c +4 -1
  623. data/src/core/ext/upb-gen/xds/annotations/v3/sensitive.upb_minitable.h +5 -4
  624. data/src/core/ext/upb-gen/xds/annotations/v3/status.upb.h +11 -10
  625. data/src/core/ext/upb-gen/xds/annotations/v3/status.upb_minitable.c +20 -11
  626. data/src/core/ext/upb-gen/xds/annotations/v3/status.upb_minitable.h +9 -4
  627. data/src/core/ext/upb-gen/xds/annotations/v3/versioning.upb.h +7 -6
  628. data/src/core/ext/upb-gen/xds/annotations/v3/versioning.upb_minitable.c +10 -6
  629. data/src/core/ext/upb-gen/xds/annotations/v3/versioning.upb_minitable.h +6 -4
  630. data/src/core/ext/upb-gen/xds/core/v3/authority.upb.h +5 -4
  631. data/src/core/ext/upb-gen/xds/core/v3/authority.upb_minitable.c +4 -1
  632. data/src/core/ext/upb-gen/xds/core/v3/authority.upb_minitable.h +6 -4
  633. data/src/core/ext/upb-gen/xds/core/v3/cidr.upb.h +7 -4
  634. data/src/core/ext/upb-gen/xds/core/v3/cidr.upb_minitable.c +7 -4
  635. data/src/core/ext/upb-gen/xds/core/v3/cidr.upb_minitable.h +6 -4
  636. data/src/core/ext/upb-gen/xds/core/v3/collection_entry.upb.h +11 -4
  637. data/src/core/ext/upb-gen/xds/core/v3/collection_entry.upb_minitable.c +12 -8
  638. data/src/core/ext/upb-gen/xds/core/v3/collection_entry.upb_minitable.h +7 -4
  639. data/src/core/ext/upb-gen/xds/core/v3/context_params.upb.h +11 -4
  640. data/src/core/ext/upb-gen/xds/core/v3/context_params.upb_minitable.c +8 -4
  641. data/src/core/ext/upb-gen/xds/core/v3/context_params.upb_minitable.h +7 -4
  642. data/src/core/ext/upb-gen/xds/core/v3/extension.upb.h +7 -4
  643. data/src/core/ext/upb-gen/xds/core/v3/extension.upb_minitable.c +7 -4
  644. data/src/core/ext/upb-gen/xds/core/v3/extension.upb_minitable.h +6 -4
  645. data/src/core/ext/upb-gen/xds/core/v3/resource.upb.h +9 -4
  646. data/src/core/ext/upb-gen/xds/core/v3/resource.upb_minitable.c +8 -5
  647. data/src/core/ext/upb-gen/xds/core/v3/resource.upb_minitable.h +6 -4
  648. data/src/core/ext/upb-gen/xds/core/v3/resource_locator.upb.h +14 -4
  649. data/src/core/ext/upb-gen/xds/core/v3/resource_locator.upb_minitable.c +12 -8
  650. data/src/core/ext/upb-gen/xds/core/v3/resource_locator.upb_minitable.h +7 -4
  651. data/src/core/ext/upb-gen/xds/core/v3/resource_name.upb.h +7 -4
  652. data/src/core/ext/upb-gen/xds/core/v3/resource_name.upb_minitable.c +7 -4
  653. data/src/core/ext/upb-gen/xds/core/v3/resource_name.upb_minitable.h +6 -4
  654. data/src/core/ext/upb-gen/xds/data/orca/v3/orca_load_report.upb.h +23 -4
  655. data/src/core/ext/upb-gen/xds/data/orca/v3/orca_load_report.upb_minitable.c +12 -6
  656. data/src/core/ext/upb-gen/xds/data/orca/v3/orca_load_report.upb_minitable.h +9 -4
  657. data/src/core/ext/upb-gen/xds/service/orca/v3/orca.upb.h +7 -4
  658. data/src/core/ext/upb-gen/xds/service/orca/v3/orca.upb_minitable.c +7 -4
  659. data/src/core/ext/upb-gen/xds/service/orca/v3/orca.upb_minitable.h +6 -4
  660. data/src/core/ext/upb-gen/xds/type/matcher/v3/cel.upb.h +7 -4
  661. data/src/core/ext/upb-gen/xds/type/matcher/v3/cel.upb_minitable.c +7 -4
  662. data/src/core/ext/upb-gen/xds/type/matcher/v3/cel.upb_minitable.h +6 -4
  663. data/src/core/ext/upb-gen/xds/type/matcher/v3/domain.upb.h +12 -4
  664. data/src/core/ext/upb-gen/xds/type/matcher/v3/domain.upb_minitable.c +11 -7
  665. data/src/core/ext/upb-gen/xds/type/matcher/v3/domain.upb_minitable.h +7 -4
  666. data/src/core/ext/upb-gen/xds/type/matcher/v3/http_inputs.upb.h +5 -4
  667. data/src/core/ext/upb-gen/xds/type/matcher/v3/http_inputs.upb_minitable.c +4 -1
  668. data/src/core/ext/upb-gen/xds/type/matcher/v3/http_inputs.upb_minitable.h +6 -4
  669. data/src/core/ext/upb-gen/xds/type/matcher/v3/ip.upb.h +17 -4
  670. data/src/core/ext/upb-gen/xds/type/matcher/v3/ip.upb_minitable.c +12 -8
  671. data/src/core/ext/upb-gen/xds/type/matcher/v3/ip.upb_minitable.h +7 -4
  672. data/src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb.h +63 -4
  673. data/src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb_minitable.c +55 -43
  674. data/src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb_minitable.h +15 -4
  675. data/src/core/ext/upb-gen/xds/type/matcher/v3/range.upb.h +41 -4
  676. data/src/core/ext/upb-gen/xds/type/matcher/v3/range.upb_minitable.c +30 -22
  677. data/src/core/ext/upb-gen/xds/type/matcher/v3/range.upb_minitable.h +11 -4
  678. data/src/core/ext/upb-gen/xds/type/matcher/v3/regex.upb.h +7 -4
  679. data/src/core/ext/upb-gen/xds/type/matcher/v3/regex.upb_minitable.c +8 -4
  680. data/src/core/ext/upb-gen/xds/type/matcher/v3/regex.upb_minitable.h +7 -4
  681. data/src/core/ext/upb-gen/xds/type/matcher/v3/string.upb.h +12 -4
  682. data/src/core/ext/upb-gen/xds/type/matcher/v3/string.upb_minitable.c +11 -7
  683. data/src/core/ext/upb-gen/xds/type/matcher/v3/string.upb_minitable.h +7 -4
  684. data/src/core/ext/upb-gen/xds/type/v3/cel.upb.h +13 -4
  685. data/src/core/ext/upb-gen/xds/type/v3/cel.upb_minitable.c +13 -9
  686. data/src/core/ext/upb-gen/xds/type/v3/cel.upb_minitable.h +7 -4
  687. data/src/core/ext/upb-gen/xds/type/v3/range.upb.h +6 -4
  688. data/src/core/ext/upb-gen/xds/type/v3/range.upb_minitable.c +6 -1
  689. data/src/core/ext/upb-gen/xds/type/v3/range.upb_minitable.h +8 -4
  690. data/src/core/ext/upb-gen/xds/type/v3/typed_struct.upb.h +7 -4
  691. data/src/core/ext/upb-gen/xds/type/v3/typed_struct.upb_minitable.c +7 -4
  692. data/src/core/ext/upb-gen/xds/type/v3/typed_struct.upb_minitable.h +6 -4
  693. data/src/core/ext/upbdefs-gen/envoy/admin/v3/certs.upbdefs.c +2 -1
  694. data/src/core/ext/upbdefs-gen/envoy/admin/v3/certs.upbdefs.h +5 -4
  695. data/src/core/ext/upbdefs-gen/envoy/admin/v3/clusters.upbdefs.c +2 -1
  696. data/src/core/ext/upbdefs-gen/envoy/admin/v3/clusters.upbdefs.h +5 -4
  697. data/src/core/ext/upbdefs-gen/envoy/admin/v3/config_dump.upbdefs.c +2 -1
  698. data/src/core/ext/upbdefs-gen/envoy/admin/v3/config_dump.upbdefs.h +5 -4
  699. data/src/core/ext/upbdefs-gen/envoy/admin/v3/config_dump_shared.upbdefs.c +13 -11
  700. data/src/core/ext/upbdefs-gen/envoy/admin/v3/config_dump_shared.upbdefs.h +5 -4
  701. data/src/core/ext/upbdefs-gen/envoy/admin/v3/init_dump.upbdefs.c +2 -1
  702. data/src/core/ext/upbdefs-gen/envoy/admin/v3/init_dump.upbdefs.h +5 -4
  703. data/src/core/ext/upbdefs-gen/envoy/admin/v3/listeners.upbdefs.c +2 -1
  704. data/src/core/ext/upbdefs-gen/envoy/admin/v3/listeners.upbdefs.h +5 -4
  705. data/src/core/ext/upbdefs-gen/envoy/admin/v3/memory.upbdefs.c +2 -1
  706. data/src/core/ext/upbdefs-gen/envoy/admin/v3/memory.upbdefs.h +5 -4
  707. data/src/core/ext/upbdefs-gen/envoy/admin/v3/metrics.upbdefs.c +2 -1
  708. data/src/core/ext/upbdefs-gen/envoy/admin/v3/metrics.upbdefs.h +5 -4
  709. data/src/core/ext/upbdefs-gen/envoy/admin/v3/mutex_stats.upbdefs.c +2 -1
  710. data/src/core/ext/upbdefs-gen/envoy/admin/v3/mutex_stats.upbdefs.h +5 -4
  711. data/src/core/ext/upbdefs-gen/envoy/admin/v3/server_info.upbdefs.c +8 -5
  712. data/src/core/ext/upbdefs-gen/envoy/admin/v3/server_info.upbdefs.h +5 -4
  713. data/src/core/ext/upbdefs-gen/envoy/admin/v3/tap.upbdefs.c +2 -1
  714. data/src/core/ext/upbdefs-gen/envoy/admin/v3/tap.upbdefs.h +5 -4
  715. data/src/core/ext/upbdefs-gen/envoy/annotations/deprecation.upbdefs.c +2 -1
  716. data/src/core/ext/upbdefs-gen/envoy/annotations/deprecation.upbdefs.h +5 -4
  717. data/src/core/ext/upbdefs-gen/envoy/annotations/resource.upbdefs.c +2 -1
  718. data/src/core/ext/upbdefs-gen/envoy/annotations/resource.upbdefs.h +5 -4
  719. data/src/core/ext/upbdefs-gen/envoy/config/accesslog/v3/accesslog.upbdefs.c +2 -1
  720. data/src/core/ext/upbdefs-gen/envoy/config/accesslog/v3/accesslog.upbdefs.h +5 -4
  721. data/src/core/ext/upbdefs-gen/envoy/config/bootstrap/v3/bootstrap.upbdefs.c +2 -1
  722. data/src/core/ext/upbdefs-gen/envoy/config/bootstrap/v3/bootstrap.upbdefs.h +5 -4
  723. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/circuit_breaker.upbdefs.c +2 -1
  724. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/circuit_breaker.upbdefs.h +5 -4
  725. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/cluster.upbdefs.c +420 -414
  726. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/cluster.upbdefs.h +5 -4
  727. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/filter.upbdefs.c +2 -1
  728. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/filter.upbdefs.h +5 -4
  729. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/outlier_detection.upbdefs.c +2 -1
  730. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/outlier_detection.upbdefs.h +5 -4
  731. data/src/core/ext/upbdefs-gen/envoy/config/common/matcher/v3/matcher.upbdefs.c +2 -1
  732. data/src/core/ext/upbdefs-gen/envoy/config/common/matcher/v3/matcher.upbdefs.h +5 -4
  733. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/address.upbdefs.c +2 -1
  734. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/address.upbdefs.h +5 -4
  735. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/backoff.upbdefs.c +2 -1
  736. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/backoff.upbdefs.h +5 -4
  737. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/base.upbdefs.c +163 -154
  738. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/base.upbdefs.h +10 -4
  739. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/config_source.upbdefs.c +2 -1
  740. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/config_source.upbdefs.h +5 -4
  741. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/event_service_config.upbdefs.c +2 -1
  742. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/event_service_config.upbdefs.h +5 -4
  743. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/extension.upbdefs.c +2 -1
  744. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/extension.upbdefs.h +5 -4
  745. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/grpc_method_list.upbdefs.c +2 -1
  746. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/grpc_method_list.upbdefs.h +5 -4
  747. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/grpc_service.upbdefs.c +2 -1
  748. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/grpc_service.upbdefs.h +5 -4
  749. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/health_check.upbdefs.c +2 -1
  750. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/health_check.upbdefs.h +5 -4
  751. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/http_service.upbdefs.c +2 -1
  752. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/http_service.upbdefs.h +5 -4
  753. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/http_uri.upbdefs.c +2 -1
  754. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/http_uri.upbdefs.h +5 -4
  755. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/protocol.upbdefs.c +272 -262
  756. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/protocol.upbdefs.h +5 -4
  757. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/proxy_protocol.upbdefs.c +2 -1
  758. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/proxy_protocol.upbdefs.h +5 -4
  759. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/resolver.upbdefs.c +2 -1
  760. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/resolver.upbdefs.h +5 -4
  761. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_cmsg_headers.upbdefs.c +46 -0
  762. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_cmsg_headers.upbdefs.h +33 -0
  763. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_option.upbdefs.c +31 -20
  764. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_option.upbdefs.h +20 -4
  765. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/substitution_format_string.upbdefs.c +2 -1
  766. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/substitution_format_string.upbdefs.h +5 -4
  767. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/udp_socket_config.upbdefs.c +2 -1
  768. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/udp_socket_config.upbdefs.h +5 -4
  769. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/endpoint.upbdefs.c +2 -1
  770. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/endpoint.upbdefs.h +5 -4
  771. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/endpoint_components.upbdefs.c +2 -1
  772. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/endpoint_components.upbdefs.h +5 -4
  773. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/load_report.upbdefs.c +2 -1
  774. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/load_report.upbdefs.h +5 -4
  775. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/api_listener.upbdefs.c +2 -1
  776. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/api_listener.upbdefs.h +5 -4
  777. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener.upbdefs.c +2 -1
  778. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener.upbdefs.h +5 -4
  779. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener_components.upbdefs.c +60 -66
  780. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener_components.upbdefs.h +5 -9
  781. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/quic_config.upbdefs.c +75 -64
  782. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/quic_config.upbdefs.h +5 -4
  783. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/udp_listener_config.upbdefs.c +2 -1
  784. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/udp_listener_config.upbdefs.h +5 -4
  785. data/src/core/ext/upbdefs-gen/envoy/config/metrics/v3/metrics_service.upbdefs.c +2 -1
  786. data/src/core/ext/upbdefs-gen/envoy/config/metrics/v3/metrics_service.upbdefs.h +5 -4
  787. data/src/core/ext/upbdefs-gen/envoy/config/metrics/v3/stats.upbdefs.c +2 -1
  788. data/src/core/ext/upbdefs-gen/envoy/config/metrics/v3/stats.upbdefs.h +5 -4
  789. data/src/core/ext/upbdefs-gen/envoy/config/overload/v3/overload.upbdefs.c +51 -49
  790. data/src/core/ext/upbdefs-gen/envoy/config/overload/v3/overload.upbdefs.h +5 -4
  791. data/src/core/ext/upbdefs-gen/envoy/config/rbac/v3/rbac.upbdefs.c +119 -101
  792. data/src/core/ext/upbdefs-gen/envoy/config/rbac/v3/rbac.upbdefs.h +10 -4
  793. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route.upbdefs.c +2 -1
  794. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route.upbdefs.h +5 -4
  795. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route_components.upbdefs.c +919 -899
  796. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route_components.upbdefs.h +15 -4
  797. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/scoped_route.upbdefs.c +2 -1
  798. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/scoped_route.upbdefs.h +5 -4
  799. data/src/core/ext/upbdefs-gen/envoy/config/tap/v3/common.upbdefs.c +2 -1
  800. data/src/core/ext/upbdefs-gen/envoy/config/tap/v3/common.upbdefs.h +5 -4
  801. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/datadog.upbdefs.c +2 -1
  802. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/datadog.upbdefs.h +5 -4
  803. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/dynamic_ot.upbdefs.c +2 -1
  804. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/dynamic_ot.upbdefs.h +5 -4
  805. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/http_tracer.upbdefs.c +2 -1
  806. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/http_tracer.upbdefs.h +5 -4
  807. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/lightstep.upbdefs.c +2 -1
  808. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/lightstep.upbdefs.h +5 -4
  809. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/opentelemetry.upbdefs.c +2 -1
  810. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/opentelemetry.upbdefs.h +5 -4
  811. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/service.upbdefs.c +2 -1
  812. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/service.upbdefs.h +5 -4
  813. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/skywalking.upbdefs.c +2 -1
  814. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/skywalking.upbdefs.h +5 -4
  815. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/trace.upbdefs.c +17 -19
  816. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/trace.upbdefs.h +5 -4
  817. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/xray.upbdefs.c +2 -1
  818. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/xray.upbdefs.h +5 -4
  819. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/zipkin.upbdefs.c +2 -1
  820. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/zipkin.upbdefs.h +5 -4
  821. data/src/core/ext/upbdefs-gen/envoy/data/accesslog/v3/accesslog.upbdefs.c +2 -1
  822. data/src/core/ext/upbdefs-gen/envoy/data/accesslog/v3/accesslog.upbdefs.h +5 -4
  823. data/src/core/ext/upbdefs-gen/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.c +2 -1
  824. data/src/core/ext/upbdefs-gen/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.h +5 -4
  825. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/common/fault/v3/fault.upbdefs.c +2 -1
  826. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/common/fault/v3/fault.upbdefs.h +5 -4
  827. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c +2 -1
  828. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/fault/v3/fault.upbdefs.h +5 -4
  829. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upbdefs.c +87 -0
  830. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upbdefs.h +48 -0
  831. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.c +35 -34
  832. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.h +5 -4
  833. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/router/v3/router.upbdefs.c +2 -1
  834. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/router/v3/router.upbdefs.h +5 -4
  835. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.c +2 -1
  836. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.h +5 -4
  837. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +462 -458
  838. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h +5 -4
  839. data/src/core/ext/upbdefs-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.c +2 -1
  840. data/src/core/ext/upbdefs-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.h +5 -4
  841. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upbdefs.c +50 -0
  842. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upbdefs.h +33 -0
  843. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c +2 -1
  844. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.h +5 -4
  845. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c +97 -96
  846. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.h +5 -4
  847. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.c +2 -1
  848. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.h +5 -4
  849. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c +204 -192
  850. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.h +5 -4
  851. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.c +21 -18
  852. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.h +5 -4
  853. data/src/core/ext/upbdefs-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upbdefs.c +2 -1
  854. data/src/core/ext/upbdefs-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upbdefs.h +5 -4
  855. data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/ads.upbdefs.c +2 -1
  856. data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/ads.upbdefs.h +5 -4
  857. data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/discovery.upbdefs.c +150 -136
  858. data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/discovery.upbdefs.h +10 -4
  859. data/src/core/ext/upbdefs-gen/envoy/service/load_stats/v3/lrs.upbdefs.c +2 -1
  860. data/src/core/ext/upbdefs-gen/envoy/service/load_stats/v3/lrs.upbdefs.h +5 -4
  861. data/src/core/ext/upbdefs-gen/envoy/service/status/v3/csds.upbdefs.c +25 -23
  862. data/src/core/ext/upbdefs-gen/envoy/service/status/v3/csds.upbdefs.h +5 -4
  863. data/src/core/ext/upbdefs-gen/envoy/type/http/v3/cookie.upbdefs.c +2 -1
  864. data/src/core/ext/upbdefs-gen/envoy/type/http/v3/cookie.upbdefs.h +5 -4
  865. data/src/core/ext/upbdefs-gen/envoy/type/http/v3/path_transformation.upbdefs.c +2 -1
  866. data/src/core/ext/upbdefs-gen/envoy/type/http/v3/path_transformation.upbdefs.h +5 -4
  867. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/address.upbdefs.c +41 -0
  868. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/address.upbdefs.h +33 -0
  869. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/filter_state.upbdefs.c +28 -20
  870. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/filter_state.upbdefs.h +5 -4
  871. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/http_inputs.upbdefs.c +2 -1
  872. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/http_inputs.upbdefs.h +5 -4
  873. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/metadata.upbdefs.c +2 -1
  874. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/metadata.upbdefs.h +5 -4
  875. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/node.upbdefs.c +2 -1
  876. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/node.upbdefs.h +5 -4
  877. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/number.upbdefs.c +2 -1
  878. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/number.upbdefs.h +5 -4
  879. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/path.upbdefs.c +2 -1
  880. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/path.upbdefs.h +5 -4
  881. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/regex.upbdefs.c +2 -1
  882. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/regex.upbdefs.h +5 -4
  883. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/status_code_input.upbdefs.c +2 -1
  884. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/status_code_input.upbdefs.h +5 -4
  885. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/string.upbdefs.c +2 -1
  886. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/string.upbdefs.h +5 -4
  887. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/struct.upbdefs.c +2 -1
  888. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/struct.upbdefs.h +5 -4
  889. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/value.upbdefs.c +2 -1
  890. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/value.upbdefs.h +5 -4
  891. data/src/core/ext/upbdefs-gen/envoy/type/metadata/v3/metadata.upbdefs.c +2 -1
  892. data/src/core/ext/upbdefs-gen/envoy/type/metadata/v3/metadata.upbdefs.h +5 -4
  893. data/src/core/ext/upbdefs-gen/envoy/type/tracing/v3/custom_tag.upbdefs.c +2 -1
  894. data/src/core/ext/upbdefs-gen/envoy/type/tracing/v3/custom_tag.upbdefs.h +5 -4
  895. data/src/core/ext/upbdefs-gen/envoy/type/v3/hash_policy.upbdefs.c +2 -1
  896. data/src/core/ext/upbdefs-gen/envoy/type/v3/hash_policy.upbdefs.h +5 -4
  897. data/src/core/ext/upbdefs-gen/envoy/type/v3/http.upbdefs.c +2 -1
  898. data/src/core/ext/upbdefs-gen/envoy/type/v3/http.upbdefs.h +5 -4
  899. data/src/core/ext/upbdefs-gen/envoy/type/v3/http_status.upbdefs.c +2 -1
  900. data/src/core/ext/upbdefs-gen/envoy/type/v3/http_status.upbdefs.h +5 -4
  901. data/src/core/ext/upbdefs-gen/envoy/type/v3/percent.upbdefs.c +2 -1
  902. data/src/core/ext/upbdefs-gen/envoy/type/v3/percent.upbdefs.h +5 -4
  903. data/src/core/ext/upbdefs-gen/envoy/type/v3/range.upbdefs.c +2 -1
  904. data/src/core/ext/upbdefs-gen/envoy/type/v3/range.upbdefs.h +5 -4
  905. data/src/core/ext/upbdefs-gen/envoy/type/v3/ratelimit_strategy.upbdefs.c +2 -1
  906. data/src/core/ext/upbdefs-gen/envoy/type/v3/ratelimit_strategy.upbdefs.h +5 -4
  907. data/src/core/ext/upbdefs-gen/envoy/type/v3/ratelimit_unit.upbdefs.c +2 -1
  908. data/src/core/ext/upbdefs-gen/envoy/type/v3/ratelimit_unit.upbdefs.h +5 -4
  909. data/src/core/ext/upbdefs-gen/envoy/type/v3/semantic_version.upbdefs.c +2 -1
  910. data/src/core/ext/upbdefs-gen/envoy/type/v3/semantic_version.upbdefs.h +5 -4
  911. data/src/core/ext/upbdefs-gen/envoy/type/v3/token_bucket.upbdefs.c +2 -1
  912. data/src/core/ext/upbdefs-gen/envoy/type/v3/token_bucket.upbdefs.h +5 -4
  913. data/src/core/ext/upbdefs-gen/google/api/annotations.upbdefs.c +2 -1
  914. data/src/core/ext/upbdefs-gen/google/api/annotations.upbdefs.h +5 -4
  915. data/src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/checked.upbdefs.c +110 -108
  916. data/src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/checked.upbdefs.h +5 -4
  917. data/src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/syntax.upbdefs.c +103 -79
  918. data/src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/syntax.upbdefs.h +15 -4
  919. data/src/core/ext/upbdefs-gen/google/api/http.upbdefs.c +2 -1
  920. data/src/core/ext/upbdefs-gen/google/api/http.upbdefs.h +5 -4
  921. data/src/core/ext/upbdefs-gen/google/api/httpbody.upbdefs.c +2 -1
  922. data/src/core/ext/upbdefs-gen/google/api/httpbody.upbdefs.h +5 -4
  923. data/src/core/ext/upbdefs-gen/google/protobuf/any.upbdefs.c +2 -1
  924. data/src/core/ext/upbdefs-gen/google/protobuf/any.upbdefs.h +5 -4
  925. data/src/core/ext/upbdefs-gen/google/protobuf/descriptor.upbdefs.c +486 -484
  926. data/src/core/ext/upbdefs-gen/google/protobuf/descriptor.upbdefs.h +5 -4
  927. data/src/core/ext/upbdefs-gen/google/protobuf/duration.upbdefs.c +2 -1
  928. data/src/core/ext/upbdefs-gen/google/protobuf/duration.upbdefs.h +5 -4
  929. data/src/core/ext/upbdefs-gen/google/protobuf/empty.upbdefs.c +2 -1
  930. data/src/core/ext/upbdefs-gen/google/protobuf/empty.upbdefs.h +5 -4
  931. data/src/core/ext/upbdefs-gen/google/protobuf/struct.upbdefs.c +2 -1
  932. data/src/core/ext/upbdefs-gen/google/protobuf/struct.upbdefs.h +5 -4
  933. data/src/core/ext/upbdefs-gen/google/protobuf/timestamp.upbdefs.c +2 -1
  934. data/src/core/ext/upbdefs-gen/google/protobuf/timestamp.upbdefs.h +5 -4
  935. data/src/core/ext/upbdefs-gen/google/protobuf/wrappers.upbdefs.c +2 -1
  936. data/src/core/ext/upbdefs-gen/google/protobuf/wrappers.upbdefs.h +5 -4
  937. data/src/core/ext/upbdefs-gen/google/rpc/status.upbdefs.c +2 -1
  938. data/src/core/ext/upbdefs-gen/google/rpc/status.upbdefs.h +5 -4
  939. data/src/core/ext/upbdefs-gen/src/proto/grpc/lookup/v1/rls_config.upbdefs.c +2 -1
  940. data/src/core/ext/upbdefs-gen/src/proto/grpc/lookup/v1/rls_config.upbdefs.h +5 -4
  941. data/src/core/ext/upbdefs-gen/udpa/annotations/migrate.upbdefs.c +2 -1
  942. data/src/core/ext/upbdefs-gen/udpa/annotations/migrate.upbdefs.h +5 -4
  943. data/src/core/ext/upbdefs-gen/udpa/annotations/security.upbdefs.c +2 -1
  944. data/src/core/ext/upbdefs-gen/udpa/annotations/security.upbdefs.h +5 -4
  945. data/src/core/ext/upbdefs-gen/udpa/annotations/sensitive.upbdefs.c +2 -1
  946. data/src/core/ext/upbdefs-gen/udpa/annotations/sensitive.upbdefs.h +5 -4
  947. data/src/core/ext/upbdefs-gen/udpa/annotations/status.upbdefs.c +2 -1
  948. data/src/core/ext/upbdefs-gen/udpa/annotations/status.upbdefs.h +5 -4
  949. data/src/core/ext/upbdefs-gen/udpa/annotations/versioning.upbdefs.c +2 -1
  950. data/src/core/ext/upbdefs-gen/udpa/annotations/versioning.upbdefs.h +5 -4
  951. data/src/core/ext/upbdefs-gen/validate/validate.upbdefs.c +2 -1
  952. data/src/core/ext/upbdefs-gen/validate/validate.upbdefs.h +5 -4
  953. data/src/core/ext/upbdefs-gen/xds/annotations/v3/migrate.upbdefs.c +2 -1
  954. data/src/core/ext/upbdefs-gen/xds/annotations/v3/migrate.upbdefs.h +5 -4
  955. data/src/core/ext/upbdefs-gen/xds/annotations/v3/security.upbdefs.c +2 -1
  956. data/src/core/ext/upbdefs-gen/xds/annotations/v3/security.upbdefs.h +5 -4
  957. data/src/core/ext/upbdefs-gen/xds/annotations/v3/sensitive.upbdefs.c +2 -1
  958. data/src/core/ext/upbdefs-gen/xds/annotations/v3/sensitive.upbdefs.h +5 -4
  959. data/src/core/ext/upbdefs-gen/xds/annotations/v3/status.upbdefs.c +2 -1
  960. data/src/core/ext/upbdefs-gen/xds/annotations/v3/status.upbdefs.h +5 -4
  961. data/src/core/ext/upbdefs-gen/xds/annotations/v3/versioning.upbdefs.c +2 -1
  962. data/src/core/ext/upbdefs-gen/xds/annotations/v3/versioning.upbdefs.h +5 -4
  963. data/src/core/ext/upbdefs-gen/xds/core/v3/authority.upbdefs.c +2 -1
  964. data/src/core/ext/upbdefs-gen/xds/core/v3/authority.upbdefs.h +5 -4
  965. data/src/core/ext/upbdefs-gen/xds/core/v3/cidr.upbdefs.c +2 -1
  966. data/src/core/ext/upbdefs-gen/xds/core/v3/cidr.upbdefs.h +5 -4
  967. data/src/core/ext/upbdefs-gen/xds/core/v3/collection_entry.upbdefs.c +2 -1
  968. data/src/core/ext/upbdefs-gen/xds/core/v3/collection_entry.upbdefs.h +5 -4
  969. data/src/core/ext/upbdefs-gen/xds/core/v3/context_params.upbdefs.c +2 -1
  970. data/src/core/ext/upbdefs-gen/xds/core/v3/context_params.upbdefs.h +5 -4
  971. data/src/core/ext/upbdefs-gen/xds/core/v3/extension.upbdefs.c +2 -1
  972. data/src/core/ext/upbdefs-gen/xds/core/v3/extension.upbdefs.h +5 -4
  973. data/src/core/ext/upbdefs-gen/xds/core/v3/resource.upbdefs.c +2 -1
  974. data/src/core/ext/upbdefs-gen/xds/core/v3/resource.upbdefs.h +5 -4
  975. data/src/core/ext/upbdefs-gen/xds/core/v3/resource_locator.upbdefs.c +2 -1
  976. data/src/core/ext/upbdefs-gen/xds/core/v3/resource_locator.upbdefs.h +5 -4
  977. data/src/core/ext/upbdefs-gen/xds/core/v3/resource_name.upbdefs.c +2 -1
  978. data/src/core/ext/upbdefs-gen/xds/core/v3/resource_name.upbdefs.h +5 -4
  979. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/cel.upbdefs.c +2 -1
  980. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/cel.upbdefs.h +5 -4
  981. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/domain.upbdefs.c +2 -1
  982. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/domain.upbdefs.h +5 -4
  983. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/http_inputs.upbdefs.c +2 -1
  984. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/http_inputs.upbdefs.h +5 -4
  985. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/ip.upbdefs.c +2 -1
  986. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/ip.upbdefs.h +5 -4
  987. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/matcher.upbdefs.c +2 -1
  988. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/matcher.upbdefs.h +5 -4
  989. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/range.upbdefs.c +2 -1
  990. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/range.upbdefs.h +5 -4
  991. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/regex.upbdefs.c +2 -1
  992. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/regex.upbdefs.h +5 -4
  993. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/string.upbdefs.c +2 -1
  994. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/string.upbdefs.h +5 -4
  995. data/src/core/ext/upbdefs-gen/xds/type/v3/cel.upbdefs.c +2 -1
  996. data/src/core/ext/upbdefs-gen/xds/type/v3/cel.upbdefs.h +5 -4
  997. data/src/core/ext/upbdefs-gen/xds/type/v3/range.upbdefs.c +2 -1
  998. data/src/core/ext/upbdefs-gen/xds/type/v3/range.upbdefs.h +5 -4
  999. data/src/core/ext/upbdefs-gen/xds/type/v3/typed_struct.upbdefs.c +2 -1
  1000. data/src/core/ext/upbdefs-gen/xds/type/v3/typed_struct.upbdefs.h +5 -4
  1001. data/src/core/filter/blackboard.cc +33 -0
  1002. data/src/core/filter/blackboard.h +70 -0
  1003. data/src/core/filter/filter_args.h +112 -0
  1004. data/src/core/handshaker/endpoint_info/endpoint_info_handshaker.cc +4 -5
  1005. data/src/core/handshaker/endpoint_info/endpoint_info_handshaker.h +1 -1
  1006. data/src/core/handshaker/handshaker.cc +29 -43
  1007. data/src/core/handshaker/handshaker.h +8 -10
  1008. data/src/core/handshaker/handshaker_registry.cc +1 -2
  1009. data/src/core/handshaker/handshaker_registry.h +2 -2
  1010. data/src/core/handshaker/http_connect/http_connect_handshaker.cc +17 -16
  1011. data/src/core/handshaker/http_connect/http_connect_handshaker.h +1 -1
  1012. data/src/core/handshaker/http_connect/http_proxy_mapper.cc +38 -41
  1013. data/src/core/handshaker/http_connect/http_proxy_mapper.h +7 -8
  1014. data/src/core/handshaker/http_connect/xds_http_proxy_mapper.cc +57 -0
  1015. data/src/core/handshaker/http_connect/xds_http_proxy_mapper.h +46 -0
  1016. data/src/core/handshaker/proxy_mapper.h +6 -7
  1017. data/src/core/handshaker/proxy_mapper_registry.cc +7 -8
  1018. data/src/core/handshaker/proxy_mapper_registry.h +6 -7
  1019. data/src/core/handshaker/security/secure_endpoint.cc +17 -19
  1020. data/src/core/handshaker/security/secure_endpoint.h +2 -3
  1021. data/src/core/handshaker/security/security_handshaker.cc +76 -96
  1022. data/src/core/handshaker/security/security_handshaker.h +3 -4
  1023. data/src/core/handshaker/tcp_connect/tcp_connect_handshaker.cc +16 -16
  1024. data/src/core/handshaker/tcp_connect/tcp_connect_handshaker.h +1 -1
  1025. data/src/core/lib/address_utils/parse_address.cc +3 -4
  1026. data/src/core/lib/address_utils/parse_address.h +2 -4
  1027. data/src/core/lib/address_utils/sockaddr_utils.cc +4 -6
  1028. data/src/core/lib/address_utils/sockaddr_utils.h +1 -3
  1029. data/src/core/lib/channel/call_finalization.h +2 -2
  1030. data/src/core/lib/channel/channel_args.cc +17 -19
  1031. data/src/core/lib/channel/channel_args.h +19 -21
  1032. data/src/core/lib/channel/channel_args_preconditioning.cc +2 -2
  1033. data/src/core/lib/channel/channel_args_preconditioning.h +4 -4
  1034. data/src/core/lib/channel/channel_stack.cc +5 -5
  1035. data/src/core/lib/channel/channel_stack.h +17 -18
  1036. data/src/core/lib/channel/channel_stack_builder.cc +2 -2
  1037. data/src/core/lib/channel/channel_stack_builder.h +3 -4
  1038. data/src/core/lib/channel/channel_stack_builder_impl.cc +5 -8
  1039. data/src/core/lib/channel/channel_stack_builder_impl.h +15 -3
  1040. data/src/core/lib/channel/connected_channel.cc +10 -13
  1041. data/src/core/lib/channel/promise_based_filter.cc +184 -223
  1042. data/src/core/lib/channel/promise_based_filter.h +99 -145
  1043. data/src/core/lib/channel/status_util.cc +1 -3
  1044. data/src/core/lib/channel/status_util.h +3 -3
  1045. data/src/core/lib/compression/compression.cc +5 -6
  1046. data/src/core/lib/compression/compression_internal.cc +14 -17
  1047. data/src/core/lib/compression/compression_internal.h +6 -8
  1048. data/src/core/lib/compression/message_compress.cc +3 -6
  1049. data/src/core/lib/debug/trace.cc +5 -6
  1050. data/src/core/lib/debug/trace_flags.cc +8 -20
  1051. data/src/core/lib/debug/trace_flags.h +3 -5
  1052. data/src/core/lib/debug/trace_impl.h +8 -2
  1053. data/src/core/lib/event_engine/ares_resolver.cc +109 -82
  1054. data/src/core/lib/event_engine/ares_resolver.h +13 -29
  1055. data/src/core/lib/event_engine/cf_engine/cf_engine.cc +4 -8
  1056. data/src/core/lib/event_engine/cf_engine/cf_engine.h +3 -5
  1057. data/src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc +21 -10
  1058. data/src/core/lib/event_engine/cf_engine/cfstream_endpoint.h +6 -10
  1059. data/src/core/lib/event_engine/cf_engine/cftype_unique_ref.h +3 -5
  1060. data/src/core/lib/event_engine/cf_engine/dns_service_resolver.cc +11 -13
  1061. data/src/core/lib/event_engine/cf_engine/dns_service_resolver.h +5 -9
  1062. data/src/core/lib/event_engine/channel_args_endpoint_config.cc +7 -10
  1063. data/src/core/lib/event_engine/channel_args_endpoint_config.h +7 -9
  1064. data/src/core/lib/event_engine/common_closures.h +5 -7
  1065. data/src/core/lib/event_engine/default_event_engine.cc +69 -41
  1066. data/src/core/lib/event_engine/default_event_engine.h +27 -36
  1067. data/src/core/lib/event_engine/default_event_engine_factory.cc +8 -14
  1068. data/src/core/lib/event_engine/default_event_engine_factory.h +4 -6
  1069. data/src/core/lib/event_engine/event_engine.cc +4 -6
  1070. data/src/core/lib/event_engine/extensions/can_track_errors.h +4 -6
  1071. data/src/core/lib/event_engine/extensions/chaotic_good_extension.h +3 -6
  1072. data/src/core/lib/event_engine/extensions/supports_fd.h +22 -7
  1073. data/src/core/lib/event_engine/extensions/tcp_trace.h +2 -5
  1074. data/src/core/lib/event_engine/forkable.cc +5 -8
  1075. data/src/core/lib/event_engine/forkable.h +4 -7
  1076. data/src/core/lib/event_engine/grpc_polled_fd.h +5 -8
  1077. data/src/core/lib/event_engine/handle_containers.h +4 -7
  1078. data/src/core/lib/event_engine/memory_allocator_factory.h +5 -8
  1079. data/src/core/lib/event_engine/nameser.h +1 -1
  1080. data/src/core/lib/event_engine/poller.h +4 -6
  1081. data/src/core/lib/event_engine/posix.h +2 -4
  1082. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc +14 -62
  1083. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.h +10 -13
  1084. data/src/core/lib/event_engine/posix_engine/ev_poll_posix.cc +21 -72
  1085. data/src/core/lib/event_engine/posix_engine/ev_poll_posix.h +6 -9
  1086. data/src/core/lib/event_engine/posix_engine/event_poller.h +5 -8
  1087. data/src/core/lib/event_engine/posix_engine/event_poller_posix_default.cc +6 -9
  1088. data/src/core/lib/event_engine/posix_engine/event_poller_posix_default.h +4 -6
  1089. data/src/core/lib/event_engine/posix_engine/grpc_polled_fd_posix.h +6 -10
  1090. data/src/core/lib/event_engine/posix_engine/internal_errqueue.cc +4 -7
  1091. data/src/core/lib/event_engine/posix_engine/internal_errqueue.h +3 -6
  1092. data/src/core/lib/event_engine/posix_engine/lockfree_event.cc +7 -11
  1093. data/src/core/lib/event_engine/posix_engine/lockfree_event.h +4 -7
  1094. data/src/core/lib/event_engine/posix_engine/native_posix_dns_resolver.cc +4 -7
  1095. data/src/core/lib/event_engine/posix_engine/native_posix_dns_resolver.h +4 -7
  1096. data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +43 -27
  1097. data/src/core/lib/event_engine/posix_engine/posix_endpoint.h +10 -14
  1098. data/src/core/lib/event_engine/posix_engine/posix_engine.cc +53 -34
  1099. data/src/core/lib/event_engine/posix_engine/posix_engine.h +18 -20
  1100. data/src/core/lib/event_engine/posix_engine/posix_engine_closure.h +5 -7
  1101. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc +10 -14
  1102. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.h +16 -17
  1103. data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.cc +6 -10
  1104. data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.h +3 -6
  1105. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc +13 -17
  1106. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.h +10 -14
  1107. data/src/core/lib/event_engine/posix_engine/timer.cc +8 -10
  1108. data/src/core/lib/event_engine/posix_engine/timer.h +9 -13
  1109. data/src/core/lib/event_engine/posix_engine/timer_heap.cc +4 -7
  1110. data/src/core/lib/event_engine/posix_engine/timer_heap.h +4 -6
  1111. data/src/core/lib/event_engine/posix_engine/timer_manager.cc +12 -20
  1112. data/src/core/lib/event_engine/posix_engine/timer_manager.h +9 -13
  1113. data/src/core/lib/event_engine/posix_engine/traced_buffer_list.cc +9 -16
  1114. data/src/core/lib/event_engine/posix_engine/traced_buffer_list.h +27 -30
  1115. data/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.cc +7 -10
  1116. data/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.h +4 -7
  1117. data/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.cc +6 -9
  1118. data/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.h +4 -7
  1119. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix.h +4 -6
  1120. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.cc +4 -7
  1121. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.h +4 -6
  1122. data/src/core/lib/event_engine/query_extensions.h +4 -6
  1123. data/src/core/lib/event_engine/ref_counted_dns_resolver_interface.h +5 -9
  1124. data/src/core/lib/event_engine/resolved_address.cc +7 -9
  1125. data/src/core/lib/event_engine/resolved_address_internal.h +2 -4
  1126. data/src/core/lib/event_engine/shim.cc +2 -4
  1127. data/src/core/lib/event_engine/shim.h +2 -4
  1128. data/src/core/lib/event_engine/slice.cc +5 -10
  1129. data/src/core/lib/event_engine/slice_buffer.cc +3 -6
  1130. data/src/core/lib/event_engine/tcp_socket_utils.cc +9 -18
  1131. data/src/core/lib/event_engine/tcp_socket_utils.h +8 -10
  1132. data/src/core/lib/event_engine/thread_local.cc +2 -4
  1133. data/src/core/lib/event_engine/thread_local.h +2 -4
  1134. data/src/core/lib/event_engine/thread_pool/thread_count.cc +4 -9
  1135. data/src/core/lib/event_engine/thread_pool/thread_count.h +9 -24
  1136. data/src/core/lib/event_engine/thread_pool/thread_pool.h +4 -8
  1137. data/src/core/lib/event_engine/thread_pool/thread_pool_factory.cc +4 -7
  1138. data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.cc +15 -21
  1139. data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.h +9 -13
  1140. data/src/core/lib/event_engine/thready_event_engine/thready_event_engine.cc +7 -9
  1141. data/src/core/lib/event_engine/thready_event_engine/thready_event_engine.h +7 -9
  1142. data/src/core/lib/event_engine/time_util.cc +4 -6
  1143. data/src/core/lib/event_engine/time_util.h +3 -6
  1144. data/src/core/lib/event_engine/utils.cc +21 -9
  1145. data/src/core/lib/event_engine/utils.h +12 -8
  1146. data/src/core/lib/event_engine/windows/grpc_polled_fd_windows.cc +128 -105
  1147. data/src/core/lib/event_engine/windows/grpc_polled_fd_windows.h +6 -10
  1148. data/src/core/lib/event_engine/windows/iocp.cc +6 -9
  1149. data/src/core/lib/event_engine/windows/iocp.h +3 -6
  1150. data/src/core/lib/event_engine/windows/native_windows_dns_resolver.cc +6 -10
  1151. data/src/core/lib/event_engine/windows/native_windows_dns_resolver.h +2 -4
  1152. data/src/core/lib/event_engine/windows/win_socket.cc +6 -9
  1153. data/src/core/lib/event_engine/windows/win_socket.h +6 -9
  1154. data/src/core/lib/event_engine/windows/windows_endpoint.cc +30 -19
  1155. data/src/core/lib/event_engine/windows/windows_endpoint.h +4 -6
  1156. data/src/core/lib/event_engine/windows/windows_engine.cc +13 -15
  1157. data/src/core/lib/event_engine/windows/windows_engine.h +10 -13
  1158. data/src/core/lib/event_engine/windows/windows_listener.cc +4 -7
  1159. data/src/core/lib/event_engine/windows/windows_listener.h +6 -9
  1160. data/src/core/lib/event_engine/work_queue/basic_work_queue.cc +5 -7
  1161. data/src/core/lib/event_engine/work_queue/basic_work_queue.h +5 -9
  1162. data/src/core/lib/event_engine/work_queue/work_queue.h +4 -7
  1163. data/src/core/lib/experiments/config.cc +21 -22
  1164. data/src/core/lib/experiments/config.h +1 -2
  1165. data/src/core/lib/experiments/experiments.cc +271 -177
  1166. data/src/core/lib/experiments/experiments.h +119 -80
  1167. data/src/core/lib/iomgr/buffer_list.cc +4 -6
  1168. data/src/core/lib/iomgr/buffer_list.h +23 -23
  1169. data/src/core/lib/iomgr/call_combiner.cc +2 -4
  1170. data/src/core/lib/iomgr/call_combiner.h +12 -16
  1171. data/src/core/lib/iomgr/cfstream_handle.cc +8 -14
  1172. data/src/core/lib/iomgr/cfstream_handle.h +1 -1
  1173. data/src/core/lib/iomgr/closure.cc +2 -2
  1174. data/src/core/lib/iomgr/closure.h +12 -18
  1175. data/src/core/lib/iomgr/combiner.cc +10 -15
  1176. data/src/core/lib/iomgr/combiner.h +2 -3
  1177. data/src/core/lib/iomgr/endpoint.h +1 -2
  1178. data/src/core/lib/iomgr/endpoint_cfstream.cc +19 -26
  1179. data/src/core/lib/iomgr/endpoint_pair_posix.cc +2 -5
  1180. data/src/core/lib/iomgr/endpoint_pair_windows.cc +1 -2
  1181. data/src/core/lib/iomgr/error.cc +8 -10
  1182. data/src/core/lib/iomgr/error.h +6 -9
  1183. data/src/core/lib/iomgr/error_cfstream.cc +1 -3
  1184. data/src/core/lib/iomgr/ev_apple.cc +16 -22
  1185. data/src/core/lib/iomgr/ev_epoll1_linux.cc +54 -94
  1186. data/src/core/lib/iomgr/ev_poll_posix.cc +20 -29
  1187. data/src/core/lib/iomgr/ev_posix.cc +59 -50
  1188. data/src/core/lib/iomgr/ev_posix.h +1 -7
  1189. data/src/core/lib/iomgr/event_engine_shims/closure.cc +10 -14
  1190. data/src/core/lib/iomgr/event_engine_shims/closure.h +1 -2
  1191. data/src/core/lib/iomgr/event_engine_shims/endpoint.cc +14 -18
  1192. data/src/core/lib/iomgr/event_engine_shims/endpoint.h +2 -2
  1193. data/src/core/lib/iomgr/event_engine_shims/tcp_client.cc +2 -4
  1194. data/src/core/lib/iomgr/exec_ctx.cc +11 -21
  1195. data/src/core/lib/iomgr/exec_ctx.h +22 -145
  1196. data/src/core/lib/iomgr/executor.cc +49 -52
  1197. data/src/core/lib/iomgr/executor.h +1 -1
  1198. data/src/core/lib/iomgr/fork_posix.cc +5 -7
  1199. data/src/core/lib/iomgr/fork_windows.cc +2 -3
  1200. data/src/core/lib/iomgr/internal_errqueue.cc +2 -4
  1201. data/src/core/lib/iomgr/iocp_windows.cc +4 -7
  1202. data/src/core/lib/iomgr/iomgr.cc +7 -9
  1203. data/src/core/lib/iomgr/iomgr.h +1 -2
  1204. data/src/core/lib/iomgr/iomgr_internal.cc +1 -2
  1205. data/src/core/lib/iomgr/iomgr_internal.h +1 -2
  1206. data/src/core/lib/iomgr/iomgr_posix.cc +2 -1
  1207. data/src/core/lib/iomgr/iomgr_windows.cc +4 -5
  1208. data/src/core/lib/iomgr/lockfree_event.cc +10 -15
  1209. data/src/core/lib/iomgr/nameser.h +1 -1
  1210. data/src/core/lib/iomgr/polling_entity.cc +13 -7
  1211. data/src/core/lib/iomgr/pollset_set_windows.cc +1 -2
  1212. data/src/core/lib/iomgr/pollset_windows.cc +2 -4
  1213. data/src/core/lib/iomgr/port.h +2 -2
  1214. data/src/core/lib/iomgr/resolve_address.cc +3 -5
  1215. data/src/core/lib/iomgr/resolve_address.h +4 -6
  1216. data/src/core/lib/iomgr/resolve_address_impl.h +1 -2
  1217. data/src/core/lib/iomgr/resolve_address_posix.cc +6 -10
  1218. data/src/core/lib/iomgr/resolve_address_posix.h +2 -2
  1219. data/src/core/lib/iomgr/resolve_address_windows.cc +8 -13
  1220. data/src/core/lib/iomgr/resolve_address_windows.h +2 -2
  1221. data/src/core/lib/iomgr/resolved_address.h +1 -2
  1222. data/src/core/lib/iomgr/sockaddr_utils_posix.cc +3 -6
  1223. data/src/core/lib/iomgr/socket_mutator.cc +1 -2
  1224. data/src/core/lib/iomgr/socket_mutator.h +1 -2
  1225. data/src/core/lib/iomgr/socket_utils.h +1 -2
  1226. data/src/core/lib/iomgr/socket_utils_common_posix.cc +5 -7
  1227. data/src/core/lib/iomgr/socket_utils_linux.cc +1 -3
  1228. data/src/core/lib/iomgr/socket_utils_posix.cc +6 -8
  1229. data/src/core/lib/iomgr/socket_utils_windows.cc +1 -3
  1230. data/src/core/lib/iomgr/socket_windows.cc +3 -5
  1231. data/src/core/lib/iomgr/socket_windows.h +1 -2
  1232. data/src/core/lib/iomgr/tcp_client_cfstream.cc +12 -19
  1233. data/src/core/lib/iomgr/tcp_client_posix.cc +13 -19
  1234. data/src/core/lib/iomgr/tcp_client_windows.cc +6 -9
  1235. data/src/core/lib/iomgr/tcp_posix.cc +49 -87
  1236. data/src/core/lib/iomgr/tcp_posix.h +1 -1
  1237. data/src/core/lib/iomgr/tcp_server.h +2 -2
  1238. data/src/core/lib/iomgr/tcp_server_posix.cc +17 -25
  1239. data/src/core/lib/iomgr/tcp_server_utils_posix.h +2 -3
  1240. data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +3 -5
  1241. data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +4 -6
  1242. data/src/core/lib/iomgr/tcp_server_windows.cc +11 -14
  1243. data/src/core/lib/iomgr/tcp_windows.cc +8 -18
  1244. data/src/core/lib/iomgr/timer.h +2 -2
  1245. data/src/core/lib/iomgr/timer_generic.cc +55 -76
  1246. data/src/core/lib/iomgr/timer_heap.cc +2 -3
  1247. data/src/core/lib/iomgr/timer_manager.cc +9 -20
  1248. data/src/core/lib/iomgr/timer_manager.h +1 -2
  1249. data/src/core/lib/iomgr/unix_sockets_posix.cc +3 -5
  1250. data/src/core/lib/iomgr/unix_sockets_posix.h +3 -4
  1251. data/src/core/lib/iomgr/unix_sockets_posix_noop.cc +0 -4
  1252. data/src/core/lib/iomgr/vsock.cc +2 -5
  1253. data/src/core/lib/iomgr/vsock.h +3 -4
  1254. data/src/core/lib/iomgr/wakeup_fd_eventfd.cc +2 -4
  1255. data/src/core/lib/iomgr/wakeup_fd_pipe.cc +3 -4
  1256. data/src/core/lib/promise/activity.cc +4 -4
  1257. data/src/core/lib/promise/activity.h +43 -25
  1258. data/src/core/lib/promise/all_ok.h +40 -4
  1259. data/src/core/lib/promise/arena_promise.h +2 -4
  1260. data/src/core/lib/promise/cancel_callback.h +4 -4
  1261. data/src/core/lib/promise/context.h +7 -9
  1262. data/src/core/lib/promise/detail/basic_seq.h +33 -19
  1263. data/src/core/lib/promise/detail/join_state.h +64 -117
  1264. data/src/core/lib/promise/detail/promise_factory.h +92 -33
  1265. data/src/core/lib/promise/detail/promise_like.h +34 -15
  1266. data/src/core/lib/promise/detail/seq_state.h +1206 -1676
  1267. data/src/core/lib/promise/detail/status.h +5 -5
  1268. data/src/core/lib/promise/exec_ctx_wakeup_scheduler.h +2 -3
  1269. data/src/core/lib/promise/for_each.h +31 -30
  1270. data/src/core/lib/promise/if.h +56 -28
  1271. data/src/core/lib/promise/interceptor_list.h +29 -41
  1272. data/src/core/lib/promise/latch.h +31 -33
  1273. data/src/core/lib/promise/loop.h +70 -22
  1274. data/src/core/lib/promise/map.h +167 -21
  1275. data/src/core/lib/promise/observable.h +3 -4
  1276. data/src/core/lib/promise/party.cc +295 -136
  1277. data/src/core/lib/promise/party.h +376 -362
  1278. data/src/core/lib/promise/pipe.h +18 -21
  1279. data/src/core/lib/promise/poll.h +27 -13
  1280. data/src/core/lib/promise/prioritized_race.h +17 -23
  1281. data/src/core/lib/promise/promise.h +7 -9
  1282. data/src/core/lib/promise/race.h +6 -14
  1283. data/src/core/lib/promise/seq.h +58 -45
  1284. data/src/core/lib/promise/sleep.cc +6 -6
  1285. data/src/core/lib/promise/sleep.h +19 -6
  1286. data/src/core/lib/promise/status_flag.h +28 -7
  1287. data/src/core/lib/promise/try_join.h +124 -10
  1288. data/src/core/lib/promise/try_seq.h +84 -59
  1289. data/src/core/lib/resource_quota/api.cc +4 -6
  1290. data/src/core/lib/resource_quota/api.h +2 -3
  1291. data/src/core/lib/resource_quota/arena.cc +3 -4
  1292. data/src/core/lib/resource_quota/arena.h +91 -5
  1293. data/src/core/lib/resource_quota/connection_quota.cc +2 -3
  1294. data/src/core/lib/resource_quota/connection_quota.h +9 -6
  1295. data/src/core/lib/resource_quota/memory_quota.cc +84 -79
  1296. data/src/core/lib/resource_quota/memory_quota.h +27 -21
  1297. data/src/core/lib/resource_quota/periodic_update.cc +6 -7
  1298. data/src/core/lib/resource_quota/periodic_update.h +2 -4
  1299. data/src/core/lib/resource_quota/resource_quota.h +7 -8
  1300. data/src/core/lib/resource_quota/thread_quota.cc +2 -3
  1301. data/src/core/lib/resource_quota/thread_quota.h +5 -6
  1302. data/src/core/lib/security/authorization/audit_logging.cc +5 -7
  1303. data/src/core/lib/security/authorization/audit_logging.h +5 -6
  1304. data/src/core/lib/security/authorization/authorization_engine.h +3 -3
  1305. data/src/core/lib/security/authorization/authorization_policy_provider.h +3 -4
  1306. data/src/core/lib/security/authorization/authorization_policy_provider_vtable.cc +1 -1
  1307. data/src/core/lib/security/authorization/evaluate_args.cc +7 -9
  1308. data/src/core/lib/security/authorization/evaluate_args.h +6 -7
  1309. data/src/core/lib/security/authorization/grpc_authorization_engine.cc +2 -4
  1310. data/src/core/lib/security/authorization/grpc_authorization_engine.h +2 -3
  1311. data/src/core/lib/security/authorization/grpc_server_authz_filter.cc +19 -29
  1312. data/src/core/lib/security/authorization/grpc_server_authz_filter.h +8 -9
  1313. data/src/core/lib/security/authorization/matchers.cc +2 -4
  1314. data/src/core/lib/security/authorization/matchers.h +5 -7
  1315. data/src/core/lib/security/authorization/rbac_policy.cc +3 -3
  1316. data/src/core/lib/security/authorization/rbac_policy.h +6 -8
  1317. data/src/core/lib/security/authorization/stdout_logger.cc +4 -5
  1318. data/src/core/lib/security/authorization/stdout_logger.h +4 -4
  1319. data/src/core/lib/security/certificate_provider/certificate_provider_factory.h +6 -7
  1320. data/src/core/lib/security/certificate_provider/certificate_provider_registry.cc +2 -2
  1321. data/src/core/lib/security/certificate_provider/certificate_provider_registry.h +2 -3
  1322. data/src/core/lib/security/context/security_context.cc +6 -8
  1323. data/src/core/lib/security/context/security_context.h +16 -10
  1324. data/src/core/lib/security/credentials/alts/alts_credentials.cc +5 -5
  1325. data/src/core/lib/security/credentials/alts/alts_credentials.h +8 -4
  1326. data/src/core/lib/security/credentials/alts/check_gcp_environment.cc +2 -4
  1327. data/src/core/lib/security/credentials/alts/check_gcp_environment_linux.cc +1 -2
  1328. data/src/core/lib/security/credentials/alts/check_gcp_environment_no_op.cc +1 -2
  1329. data/src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc +3 -5
  1330. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_client_options.cc +1 -2
  1331. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_options.cc +2 -2
  1332. data/src/core/lib/security/credentials/call_creds_util.cc +6 -6
  1333. data/src/core/lib/security/credentials/call_creds_util.h +2 -2
  1334. data/src/core/lib/security/credentials/channel_creds_registry.h +5 -6
  1335. data/src/core/lib/security/credentials/channel_creds_registry_init.cc +10 -11
  1336. data/src/core/lib/security/credentials/composite/composite_credentials.cc +3 -5
  1337. data/src/core/lib/security/credentials/composite/composite_credentials.h +10 -9
  1338. data/src/core/lib/security/credentials/credentials.cc +1 -4
  1339. data/src/core/lib/security/credentials/credentials.h +12 -14
  1340. data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +331 -336
  1341. data/src/core/lib/security/credentials/external/aws_external_account_credentials.h +58 -46
  1342. data/src/core/lib/security/credentials/external/aws_request_signer.cc +4 -5
  1343. data/src/core/lib/security/credentials/external/aws_request_signer.h +3 -3
  1344. data/src/core/lib/security/credentials/external/external_account_credentials.cc +399 -364
  1345. data/src/core/lib/security/credentials/external/external_account_credentials.h +125 -57
  1346. data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +87 -50
  1347. data/src/core/lib/security/credentials/external/file_external_account_credentials.h +32 -11
  1348. data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +98 -125
  1349. data/src/core/lib/security/credentials/external/url_external_account_credentials.h +21 -23
  1350. data/src/core/lib/security/credentials/fake/fake_credentials.cc +2 -4
  1351. data/src/core/lib/security/credentials/fake/fake_credentials.h +8 -7
  1352. data/src/core/lib/security/credentials/gcp_service_account_identity/gcp_service_account_identity_credentials.cc +195 -0
  1353. data/src/core/lib/security/credentials/gcp_service_account_identity/gcp_service_account_identity_credentials.h +90 -0
  1354. data/src/core/lib/security/credentials/google_default/credentials_generic.cc +4 -5
  1355. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +47 -64
  1356. data/src/core/lib/security/credentials/google_default/google_default_credentials.h +7 -5
  1357. data/src/core/lib/security/credentials/iam/iam_credentials.cc +3 -6
  1358. data/src/core/lib/security/credentials/iam/iam_credentials.h +8 -7
  1359. data/src/core/lib/security/credentials/insecure/insecure_credentials.cc +2 -2
  1360. data/src/core/lib/security/credentials/insecure/insecure_credentials.h +2 -2
  1361. data/src/core/lib/security/credentials/jwt/json_token.cc +11 -14
  1362. data/src/core/lib/security/credentials/jwt/json_token.h +1 -2
  1363. data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +9 -12
  1364. data/src/core/lib/security/credentials/jwt/jwt_credentials.h +11 -11
  1365. data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +19 -23
  1366. data/src/core/lib/security/credentials/jwt/jwt_verifier.h +2 -3
  1367. data/src/core/lib/security/credentials/local/local_credentials.cc +2 -2
  1368. data/src/core/lib/security/credentials/local/local_credentials.h +2 -2
  1369. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +178 -276
  1370. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +47 -70
  1371. data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +15 -21
  1372. data/src/core/lib/security/credentials/plugin/plugin_credentials.h +11 -11
  1373. data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +6 -8
  1374. data/src/core/lib/security/credentials/ssl/ssl_credentials.h +4 -7
  1375. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc +15 -17
  1376. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.h +18 -19
  1377. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_match.cc +1 -3
  1378. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +99 -21
  1379. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h +16 -15
  1380. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.cc +4 -7
  1381. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.h +8 -10
  1382. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc +4 -5
  1383. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h +1 -1
  1384. data/src/core/lib/security/credentials/tls/grpc_tls_crl_provider.cc +3 -6
  1385. data/src/core/lib/security/credentials/tls/grpc_tls_crl_provider.h +9 -12
  1386. data/src/core/lib/security/credentials/tls/tls_credentials.cc +8 -9
  1387. data/src/core/lib/security/credentials/tls/tls_credentials.h +5 -3
  1388. data/src/core/lib/security/credentials/tls/tls_utils.cc +1 -2
  1389. data/src/core/lib/security/credentials/tls/tls_utils.h +3 -3
  1390. data/src/core/lib/security/credentials/token_fetcher/token_fetcher_credentials.cc +304 -0
  1391. data/src/core/lib/security/credentials/token_fetcher/token_fetcher_credentials.h +181 -0
  1392. data/src/core/lib/security/credentials/xds/xds_credentials.cc +3 -4
  1393. data/src/core/lib/security/credentials/xds/xds_credentials.h +7 -9
  1394. data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +10 -12
  1395. data/src/core/lib/security/security_connector/alts/alts_security_connector.h +1 -1
  1396. data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +12 -15
  1397. data/src/core/lib/security/security_connector/fake/fake_security_connector.h +1 -1
  1398. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.cc +4 -7
  1399. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.h +5 -6
  1400. data/src/core/lib/security/security_connector/load_system_roots_supported.cc +5 -7
  1401. data/src/core/lib/security/security_connector/load_system_roots_windows.cc +3 -5
  1402. data/src/core/lib/security/security_connector/local/local_security_connector.cc +18 -14
  1403. data/src/core/lib/security/security_connector/local/local_security_connector.h +1 -1
  1404. data/src/core/lib/security/security_connector/security_connector.cc +2 -4
  1405. data/src/core/lib/security/security_connector/security_connector.h +7 -8
  1406. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +6 -8
  1407. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.h +2 -3
  1408. data/src/core/lib/security/security_connector/ssl_utils.cc +12 -14
  1409. data/src/core/lib/security/security_connector/ssl_utils.h +7 -9
  1410. data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +17 -19
  1411. data/src/core/lib/security/security_connector/tls/tls_security_connector.h +20 -21
  1412. data/src/core/lib/security/transport/auth_filters.h +97 -10
  1413. data/src/core/lib/security/transport/client_auth_filter.cc +104 -16
  1414. data/src/core/lib/security/transport/server_auth_filter.cc +14 -25
  1415. data/src/core/lib/security/util/json_util.cc +4 -5
  1416. data/src/core/lib/slice/percent_encoding.cc +2 -5
  1417. data/src/core/lib/slice/slice.cc +4 -7
  1418. data/src/core/lib/slice/slice.h +5 -8
  1419. data/src/core/lib/slice/slice_buffer.cc +7 -9
  1420. data/src/core/lib/slice/slice_buffer.h +5 -6
  1421. data/src/core/lib/slice/slice_internal.h +3 -6
  1422. data/src/core/lib/slice/slice_refcount.h +8 -11
  1423. data/src/core/lib/slice/slice_string_helpers.h +1 -2
  1424. data/src/core/lib/surface/byte_buffer.cc +1 -2
  1425. data/src/core/lib/surface/byte_buffer_reader.cc +3 -6
  1426. data/src/core/lib/surface/call.cc +25 -33
  1427. data/src/core/lib/surface/call.h +10 -11
  1428. data/src/core/lib/surface/call_log_batch.cc +3 -5
  1429. data/src/core/lib/surface/call_test_only.h +1 -2
  1430. data/src/core/lib/surface/call_utils.cc +18 -61
  1431. data/src/core/lib/surface/call_utils.h +67 -24
  1432. data/src/core/lib/surface/channel.cc +7 -17
  1433. data/src/core/lib/surface/channel.h +14 -15
  1434. data/src/core/lib/surface/channel_create.cc +2 -4
  1435. data/src/core/lib/surface/channel_create.h +2 -3
  1436. data/src/core/lib/surface/channel_init.cc +5 -7
  1437. data/src/core/lib/surface/channel_init.h +4 -7
  1438. data/src/core/lib/surface/client_call.cc +122 -96
  1439. data/src/core/lib/surface/client_call.h +34 -22
  1440. data/src/core/lib/surface/completion_queue.cc +32 -49
  1441. data/src/core/lib/surface/completion_queue.h +4 -5
  1442. data/src/core/lib/surface/completion_queue_factory.cc +1 -3
  1443. data/src/core/lib/surface/connection_context.cc +77 -0
  1444. data/src/core/lib/surface/connection_context.h +156 -0
  1445. data/src/core/lib/surface/event_string.cc +9 -3
  1446. data/src/core/lib/surface/event_string.h +2 -2
  1447. data/src/core/lib/surface/filter_stack_call.cc +29 -33
  1448. data/src/core/lib/surface/filter_stack_call.h +17 -20
  1449. data/src/core/lib/surface/init.cc +44 -18
  1450. data/src/core/lib/surface/init.h +5 -0
  1451. data/src/core/lib/surface/init_internally.h +13 -2
  1452. data/src/core/lib/surface/lame_client.cc +10 -12
  1453. data/src/core/lib/surface/lame_client.h +4 -5
  1454. data/src/core/lib/surface/legacy_channel.cc +20 -19
  1455. data/src/core/lib/surface/legacy_channel.h +7 -8
  1456. data/src/core/lib/surface/metadata_array.cc +1 -2
  1457. data/src/core/lib/surface/server_call.cc +128 -93
  1458. data/src/core/lib/surface/server_call.h +21 -21
  1459. data/src/core/lib/surface/validate_metadata.cc +3 -4
  1460. data/src/core/lib/surface/validate_metadata.h +2 -5
  1461. data/src/core/lib/surface/version.cc +2 -2
  1462. data/src/core/lib/transport/bdp_estimator.cc +11 -15
  1463. data/src/core/lib/transport/bdp_estimator.h +9 -13
  1464. data/src/core/lib/transport/call_arena_allocator.cc +4 -18
  1465. data/src/core/lib/transport/call_arena_allocator.h +22 -8
  1466. data/src/core/lib/transport/call_destination.h +1 -1
  1467. data/src/core/lib/transport/call_filters.cc +21 -130
  1468. data/src/core/lib/transport/call_filters.h +510 -94
  1469. data/src/core/lib/transport/call_final_info.cc +2 -2
  1470. data/src/core/lib/transport/call_final_info.h +3 -3
  1471. data/src/core/lib/transport/call_spine.cc +13 -55
  1472. data/src/core/lib/transport/call_spine.h +220 -25
  1473. data/src/core/lib/transport/call_state.h +283 -86
  1474. data/src/core/lib/transport/connectivity_state.cc +43 -53
  1475. data/src/core/lib/transport/connectivity_state.h +7 -10
  1476. data/src/core/lib/transport/error_utils.cc +3 -4
  1477. data/src/core/lib/transport/error_utils.h +4 -5
  1478. data/src/core/lib/transport/http2_errors.h +5 -3
  1479. data/src/core/lib/transport/interception_chain.cc +11 -3
  1480. data/src/core/lib/transport/interception_chain.h +53 -15
  1481. data/src/core/lib/transport/message.cc +2 -2
  1482. data/src/core/lib/transport/message.h +5 -0
  1483. data/src/core/lib/transport/metadata.h +88 -0
  1484. data/src/core/lib/transport/metadata_batch.cc +14 -7
  1485. data/src/core/lib/transport/metadata_batch.h +137 -30
  1486. data/src/core/lib/transport/metadata_compression_traits.h +3 -4
  1487. data/src/core/lib/transport/parsed_metadata.h +3 -5
  1488. data/src/core/lib/transport/simple_slice_based_metadata.h +1 -2
  1489. data/src/core/lib/transport/status_conversion.h +1 -1
  1490. data/src/core/lib/transport/timeout_encoding.cc +22 -23
  1491. data/src/core/lib/transport/timeout_encoding.h +4 -5
  1492. data/src/core/lib/transport/transport.cc +4 -7
  1493. data/src/core/lib/transport/transport.h +25 -24
  1494. data/src/core/lib/transport/transport_framing_endpoint_extension.h +47 -0
  1495. data/src/core/lib/transport/transport_op_string.cc +4 -6
  1496. data/src/core/load_balancing/address_filtering.cc +2 -4
  1497. data/src/core/load_balancing/address_filtering.h +4 -5
  1498. data/src/core/load_balancing/backend_metric_data.h +2 -2
  1499. data/src/core/load_balancing/backend_metric_parser.cc +22 -30
  1500. data/src/core/load_balancing/backend_metric_parser.h +1 -3
  1501. data/src/core/load_balancing/child_policy_handler.cc +5 -6
  1502. data/src/core/load_balancing/child_policy_handler.h +4 -5
  1503. data/src/core/load_balancing/delegating_helper.h +6 -7
  1504. data/src/core/load_balancing/endpoint_list.cc +18 -10
  1505. data/src/core/load_balancing/endpoint_list.h +26 -21
  1506. data/src/core/load_balancing/grpclb/client_load_reporting_filter.cc +11 -10
  1507. data/src/core/load_balancing/grpclb/client_load_reporting_filter.h +5 -6
  1508. data/src/core/load_balancing/grpclb/grpclb.cc +96 -131
  1509. data/src/core/load_balancing/grpclb/grpclb_balancer_addresses.cc +1 -2
  1510. data/src/core/load_balancing/grpclb/grpclb_client_stats.cc +2 -3
  1511. data/src/core/load_balancing/grpclb/grpclb_client_stats.h +5 -7
  1512. data/src/core/load_balancing/grpclb/load_balancer_api.cc +4 -6
  1513. data/src/core/load_balancing/grpclb/load_balancer_api.h +4 -6
  1514. data/src/core/load_balancing/health_check_client.cc +67 -110
  1515. data/src/core/load_balancing/health_check_client.h +3 -3
  1516. data/src/core/load_balancing/health_check_client_internal.h +15 -16
  1517. data/src/core/load_balancing/lb_policy.cc +4 -6
  1518. data/src/core/load_balancing/lb_policy.h +17 -27
  1519. data/src/core/load_balancing/lb_policy_factory.h +4 -5
  1520. data/src/core/load_balancing/lb_policy_registry.cc +13 -12
  1521. data/src/core/load_balancing/lb_policy_registry.h +4 -5
  1522. data/src/core/load_balancing/oob_backend_metric.cc +16 -20
  1523. data/src/core/load_balancing/oob_backend_metric.h +3 -3
  1524. data/src/core/load_balancing/oob_backend_metric_internal.h +8 -9
  1525. data/src/core/load_balancing/outlier_detection/outlier_detection.cc +176 -212
  1526. data/src/core/load_balancing/outlier_detection/outlier_detection.h +6 -7
  1527. data/src/core/load_balancing/pick_first/pick_first.cc +297 -321
  1528. data/src/core/load_balancing/priority/priority.cc +97 -133
  1529. data/src/core/load_balancing/ring_hash/ring_hash.cc +247 -211
  1530. data/src/core/load_balancing/ring_hash/ring_hash.h +7 -15
  1531. data/src/core/load_balancing/rls/rls.cc +268 -404
  1532. data/src/core/load_balancing/rls/rls.h +97 -1
  1533. data/src/core/load_balancing/round_robin/round_robin.cc +59 -89
  1534. data/src/core/load_balancing/subchannel_interface.h +13 -6
  1535. data/src/core/load_balancing/weighted_round_robin/static_stride_scheduler.cc +8 -9
  1536. data/src/core/load_balancing/weighted_round_robin/static_stride_scheduler.h +4 -5
  1537. data/src/core/load_balancing/weighted_round_robin/weighted_round_robin.cc +120 -158
  1538. data/src/core/load_balancing/weighted_target/weighted_target.cc +70 -103
  1539. data/src/core/load_balancing/xds/cds.cc +60 -78
  1540. data/src/core/load_balancing/xds/xds_cluster_impl.cc +114 -117
  1541. data/src/core/load_balancing/xds/xds_cluster_manager.cc +56 -80
  1542. data/src/core/load_balancing/xds/xds_override_host.cc +152 -237
  1543. data/src/core/load_balancing/xds/xds_override_host.h +3 -4
  1544. data/src/core/load_balancing/xds/xds_wrr_locality.cc +36 -47
  1545. data/src/core/plugin_registry/grpc_plugin_registry.cc +1 -7
  1546. data/src/core/plugin_registry/grpc_plugin_registry_extra.cc +6 -1
  1547. data/src/core/resolver/dns/c_ares/dns_resolver_ares.cc +86 -71
  1548. data/src/core/resolver/dns/c_ares/dns_resolver_ares.h +2 -3
  1549. data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver.h +4 -6
  1550. data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +2 -6
  1551. data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +118 -100
  1552. data/src/core/resolver/dns/c_ares/grpc_ares_wrapper.cc +147 -115
  1553. data/src/core/resolver/dns/c_ares/grpc_ares_wrapper.h +3 -13
  1554. data/src/core/resolver/dns/dns_resolver_plugin.cc +4 -6
  1555. data/src/core/resolver/dns/dns_resolver_plugin.h +1 -1
  1556. data/src/core/resolver/dns/event_engine/event_engine_client_channel_resolver.cc +59 -65
  1557. data/src/core/resolver/dns/event_engine/event_engine_client_channel_resolver.h +3 -4
  1558. data/src/core/resolver/dns/event_engine/service_config_helper.cc +3 -5
  1559. data/src/core/resolver/dns/event_engine/service_config_helper.h +2 -2
  1560. data/src/core/resolver/dns/native/dns_resolver.cc +19 -26
  1561. data/src/core/resolver/dns/native/dns_resolver.h +1 -1
  1562. data/src/core/resolver/endpoint_addresses.cc +1 -4
  1563. data/src/core/resolver/endpoint_addresses.h +2 -3
  1564. data/src/core/resolver/fake/fake_resolver.cc +17 -20
  1565. data/src/core/resolver/fake/fake_resolver.h +9 -10
  1566. data/src/core/resolver/google_c2p/google_c2p_resolver.cc +20 -24
  1567. data/src/core/resolver/polling_resolver.cc +14 -28
  1568. data/src/core/resolver/polling_resolver.h +11 -12
  1569. data/src/core/resolver/resolver.h +4 -5
  1570. data/src/core/resolver/resolver_factory.h +4 -5
  1571. data/src/core/resolver/resolver_registry.cc +6 -5
  1572. data/src/core/resolver/resolver_registry.h +4 -5
  1573. data/src/core/resolver/sockaddr/sockaddr_resolver.cc +5 -6
  1574. data/src/core/resolver/xds/xds_config.cc +95 -0
  1575. data/src/core/resolver/xds/xds_config.h +108 -0
  1576. data/src/core/resolver/xds/xds_dependency_manager.cc +242 -333
  1577. data/src/core/resolver/xds/xds_dependency_manager.h +30 -89
  1578. data/src/core/resolver/xds/xds_resolver.cc +139 -186
  1579. data/src/core/resolver/xds/xds_resolver_attributes.h +2 -3
  1580. data/src/core/server/server.cc +372 -91
  1581. data/src/core/server/server.h +227 -81
  1582. data/src/core/server/server_call_tracer_filter.cc +14 -11
  1583. data/src/core/server/server_call_tracer_filter.h +1 -1
  1584. data/src/core/server/server_config_selector.h +5 -6
  1585. data/src/core/server/server_config_selector_filter.cc +16 -22
  1586. data/src/core/server/xds_channel_stack_modifier.cc +3 -3
  1587. data/src/core/server/xds_channel_stack_modifier.h +5 -6
  1588. data/src/core/server/xds_server_config_fetcher.cc +118 -187
  1589. data/src/core/service_config/service_config.h +3 -5
  1590. data/src/core/service_config/service_config_call_data.h +7 -9
  1591. data/src/core/service_config/service_config_channel_arg_filter.cc +15 -26
  1592. data/src/core/service_config/service_config_impl.cc +7 -9
  1593. data/src/core/service_config/service_config_impl.h +4 -7
  1594. data/src/core/service_config/service_config_parser.cc +1 -2
  1595. data/src/core/service_config/service_config_parser.h +2 -4
  1596. data/src/core/telemetry/call_tracer.cc +10 -12
  1597. data/src/core/telemetry/call_tracer.h +11 -11
  1598. data/src/core/telemetry/histogram_view.cc +3 -3
  1599. data/src/core/telemetry/histogram_view.h +1 -2
  1600. data/src/core/telemetry/metrics.cc +21 -19
  1601. data/src/core/telemetry/metrics.h +15 -19
  1602. data/src/core/telemetry/stats.cc +1 -2
  1603. data/src/core/telemetry/stats.h +2 -4
  1604. data/src/core/telemetry/stats_data.cc +181 -2
  1605. data/src/core/telemetry/stats_data.h +130 -4
  1606. data/src/core/telemetry/tcp_tracer.h +33 -34
  1607. data/src/core/tsi/alts/crypt/aes_gcm.cc +5 -8
  1608. data/src/core/tsi/alts/crypt/gsec.cc +2 -3
  1609. data/src/core/tsi/alts/crypt/gsec.h +3 -4
  1610. data/src/core/tsi/alts/frame_protector/alts_counter.cc +1 -2
  1611. data/src/core/tsi/alts/frame_protector/alts_counter.h +3 -4
  1612. data/src/core/tsi/alts/frame_protector/alts_crypter.cc +1 -2
  1613. data/src/core/tsi/alts/frame_protector/alts_crypter.h +2 -3
  1614. data/src/core/tsi/alts/frame_protector/alts_frame_protector.cc +4 -5
  1615. data/src/core/tsi/alts/frame_protector/alts_frame_protector.h +1 -2
  1616. data/src/core/tsi/alts/frame_protector/alts_seal_privacy_integrity_crypter.cc +1 -1
  1617. data/src/core/tsi/alts/frame_protector/alts_unseal_privacy_integrity_crypter.cc +1 -1
  1618. data/src/core/tsi/alts/frame_protector/frame_handler.cc +4 -6
  1619. data/src/core/tsi/alts/frame_protector/frame_handler.h +1 -2
  1620. data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +14 -15
  1621. data/src/core/tsi/alts/handshaker/alts_shared_resource.cc +2 -4
  1622. data/src/core/tsi/alts/handshaker/alts_shared_resource.h +1 -1
  1623. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +33 -31
  1624. data/src/core/tsi/alts/handshaker/alts_tsi_utils.cc +2 -3
  1625. data/src/core/tsi/alts/handshaker/transport_security_common_api.cc +2 -2
  1626. data/src/core/tsi/alts/handshaker/transport_security_common_api.h +3 -4
  1627. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.cc +3 -5
  1628. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.h +1 -2
  1629. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.cc +2 -3
  1630. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.h +1 -2
  1631. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc +3 -5
  1632. data/src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.cc +3 -5
  1633. data/src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.h +1 -2
  1634. data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +3 -5
  1635. data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.h +1 -2
  1636. data/src/core/tsi/fake_transport_security.cc +14 -11
  1637. data/src/core/tsi/local_transport_security.cc +4 -6
  1638. data/src/core/tsi/ssl/key_logging/ssl_key_logging.cc +4 -5
  1639. data/src/core/tsi/ssl/key_logging/ssl_key_logging.h +8 -10
  1640. data/src/core/tsi/ssl/session_cache/ssl_session.h +4 -5
  1641. data/src/core/tsi/ssl/session_cache/ssl_session_cache.cc +4 -6
  1642. data/src/core/tsi/ssl/session_cache/ssl_session_cache.h +7 -8
  1643. data/src/core/tsi/ssl/session_cache/ssl_session_openssl.cc +2 -4
  1644. data/src/core/tsi/ssl_transport_security.cc +29 -17
  1645. data/src/core/tsi/ssl_transport_security.h +6 -8
  1646. data/src/core/tsi/ssl_transport_security_utils.cc +1 -3
  1647. data/src/core/tsi/ssl_transport_security_utils.h +3 -5
  1648. data/src/core/tsi/ssl_types.h +1 -2
  1649. data/src/core/tsi/transport_security.cc +2 -3
  1650. data/src/core/tsi/transport_security.h +1 -2
  1651. data/src/core/tsi/transport_security_interface.h +3 -4
  1652. data/src/core/util/alloc.cc +2 -6
  1653. data/src/core/util/atomic_utils.h +47 -0
  1654. data/src/core/util/avl.h +324 -0
  1655. data/src/core/util/backoff.cc +57 -0
  1656. data/src/core/util/backoff.h +86 -0
  1657. data/src/core/util/bitset.h +224 -0
  1658. data/src/core/util/chunked_vector.h +256 -0
  1659. data/src/core/util/construct_destruct.h +41 -0
  1660. data/src/core/util/cpp_impl_of.h +49 -0
  1661. data/src/core/util/crash.cc +40 -0
  1662. data/src/core/util/crash.h +36 -0
  1663. data/src/core/util/debug_location.h +106 -0
  1664. data/src/core/util/directory_reader.h +48 -0
  1665. data/src/core/util/down_cast.h +48 -0
  1666. data/src/core/util/dual_ref_counted.h +376 -0
  1667. data/src/core/util/dump_args.cc +54 -0
  1668. data/src/core/util/dump_args.h +114 -0
  1669. data/src/core/util/env.h +52 -0
  1670. data/src/core/util/event_log.cc +87 -0
  1671. data/src/core/util/event_log.h +79 -0
  1672. data/src/core/util/examine_stack.cc +43 -0
  1673. data/src/core/util/examine_stack.h +44 -0
  1674. data/src/core/util/fork.cc +241 -0
  1675. data/src/core/util/fork.h +98 -0
  1676. data/src/core/util/gcp_metadata_query.cc +8 -12
  1677. data/src/core/util/gcp_metadata_query.h +2 -3
  1678. data/src/core/util/gethostname.h +26 -0
  1679. data/src/core/util/gethostname_fallback.cc +30 -0
  1680. data/src/core/util/gethostname_host_name_max.cc +39 -0
  1681. data/src/core/util/gethostname_sysconf.cc +39 -0
  1682. data/src/core/util/glob.h +29 -0
  1683. data/src/core/util/gpr_time.cc +266 -0
  1684. data/src/core/util/grpc_if_nametoindex.h +29 -0
  1685. data/src/core/util/grpc_if_nametoindex_posix.cc +41 -0
  1686. data/src/core/util/grpc_if_nametoindex_unsupported.cc +36 -0
  1687. data/src/core/util/host_port.cc +114 -0
  1688. data/src/core/util/host_port.h +57 -0
  1689. data/src/core/util/http_client/format_request.cc +2 -5
  1690. data/src/core/util/http_client/format_request.h +1 -2
  1691. data/src/core/util/http_client/httpcli.cc +95 -47
  1692. data/src/core/util/http_client/httpcli.h +40 -28
  1693. data/src/core/util/http_client/httpcli_security_connector.cc +11 -14
  1694. data/src/core/util/http_client/httpcli_ssl_credentials.h +2 -3
  1695. data/src/core/util/http_client/parser.cc +5 -8
  1696. data/src/core/util/http_client/parser.h +1 -3
  1697. data/src/core/util/if_list.h +4530 -0
  1698. data/src/core/util/iphone/cpu.cc +1 -2
  1699. data/src/core/util/json/json.h +1 -2
  1700. data/src/core/util/json/json_channel_args.h +2 -2
  1701. data/src/core/util/json/json_object_loader.cc +7 -8
  1702. data/src/core/util/json/json_object_loader.h +20 -21
  1703. data/src/core/util/json/json_reader.cc +6 -10
  1704. data/src/core/util/json/json_reader.h +0 -1
  1705. data/src/core/util/json/json_util.cc +4 -4
  1706. data/src/core/util/json/json_util.h +1 -2
  1707. data/src/core/util/json/json_writer.cc +4 -6
  1708. data/src/core/util/latent_see.cc +112 -62
  1709. data/src/core/util/latent_see.h +157 -37
  1710. data/src/core/util/linux/cpu.cc +4 -6
  1711. data/src/core/util/linux/env.cc +61 -0
  1712. data/src/core/util/load_file.cc +75 -0
  1713. data/src/core/util/load_file.h +33 -0
  1714. data/src/core/util/log.cc +46 -68
  1715. data/src/core/util/lru_cache.h +122 -0
  1716. data/src/core/util/manual_constructor.h +145 -0
  1717. data/src/core/util/match.h +74 -0
  1718. data/src/core/util/matchers.cc +336 -0
  1719. data/src/core/util/matchers.h +162 -0
  1720. data/src/core/util/memory.h +52 -0
  1721. data/src/core/util/mpscq.cc +108 -0
  1722. data/src/core/util/mpscq.h +98 -0
  1723. data/src/core/util/msys/tmpfile.cc +3 -5
  1724. data/src/core/util/no_destruct.h +95 -0
  1725. data/src/core/util/notification.h +66 -0
  1726. data/src/core/util/orphanable.h +153 -0
  1727. data/src/core/util/overload.h +59 -0
  1728. data/src/core/util/packed_table.h +40 -0
  1729. data/src/core/util/per_cpu.cc +34 -0
  1730. data/src/core/util/per_cpu.h +102 -0
  1731. data/src/core/util/posix/cpu.cc +3 -5
  1732. data/src/core/util/posix/directory_reader.cc +82 -0
  1733. data/src/core/util/posix/env.cc +47 -0
  1734. data/src/core/util/posix/stat.cc +54 -0
  1735. data/src/core/util/posix/string.cc +2 -3
  1736. data/src/core/util/posix/sync.cc +2 -6
  1737. data/src/core/util/posix/thd.cc +243 -0
  1738. data/src/core/util/posix/time.cc +3 -6
  1739. data/src/core/util/posix/tmpfile.cc +4 -6
  1740. data/src/core/util/random_early_detection.cc +33 -0
  1741. data/src/core/util/random_early_detection.h +61 -0
  1742. data/src/core/util/ref_counted.h +403 -0
  1743. data/src/core/util/ref_counted_ptr.h +443 -0
  1744. data/src/core/util/ref_counted_string.cc +42 -0
  1745. data/src/core/util/ref_counted_string.h +159 -0
  1746. data/src/core/util/ring_buffer.h +122 -0
  1747. data/src/core/util/single_set_ptr.h +89 -0
  1748. data/src/core/util/sorted_pack.h +89 -0
  1749. data/src/core/util/spinlock.h +2 -4
  1750. data/src/core/util/stat.h +35 -0
  1751. data/src/core/util/status_helper.cc +427 -0
  1752. data/src/core/util/status_helper.h +160 -0
  1753. data/src/core/util/strerror.cc +40 -0
  1754. data/src/core/util/strerror.h +29 -0
  1755. data/src/core/util/string.cc +13 -16
  1756. data/src/core/util/string.h +1 -3
  1757. data/src/core/util/sync.cc +3 -6
  1758. data/src/core/util/sync.h +199 -0
  1759. data/src/core/util/sync_abseil.cc +4 -8
  1760. data/src/core/util/table.h +471 -0
  1761. data/src/core/util/tchar.cc +49 -0
  1762. data/src/core/util/tchar.h +33 -0
  1763. data/src/core/util/thd.h +193 -0
  1764. data/src/core/util/time.cc +174 -205
  1765. data/src/core/util/time.h +385 -0
  1766. data/src/core/util/time_averaged_stats.cc +60 -0
  1767. data/src/core/util/time_averaged_stats.h +79 -0
  1768. data/src/core/util/time_precise.cc +2 -4
  1769. data/src/core/util/time_precise.h +0 -1
  1770. data/src/core/util/time_util.cc +80 -0
  1771. data/src/core/util/time_util.h +41 -0
  1772. data/src/core/util/tmpfile.h +0 -1
  1773. data/src/core/util/type_list.h +88 -0
  1774. data/src/core/util/unique_ptr_with_bitset.h +86 -0
  1775. data/src/core/util/unique_type_name.h +123 -0
  1776. data/src/core/util/uri.cc +378 -0
  1777. data/src/core/util/uri.h +112 -0
  1778. data/src/core/util/useful.h +13 -39
  1779. data/src/core/util/uuid_v4.cc +37 -0
  1780. data/src/core/util/uuid_v4.h +35 -0
  1781. data/src/core/util/validation_errors.cc +73 -0
  1782. data/src/core/util/validation_errors.h +144 -0
  1783. data/src/core/util/wait_for_single_owner.h +62 -0
  1784. data/src/core/util/windows/cpu.cc +1 -2
  1785. data/src/core/util/windows/directory_reader.cc +79 -0
  1786. data/src/core/util/windows/env.cc +56 -0
  1787. data/src/core/util/windows/stat.cc +50 -0
  1788. data/src/core/util/windows/string.cc +2 -3
  1789. data/src/core/util/windows/string_util.cc +5 -7
  1790. data/src/core/util/windows/sync.cc +1 -4
  1791. data/src/core/util/windows/thd.cc +182 -0
  1792. data/src/core/util/windows/time.cc +1 -5
  1793. data/src/core/util/windows/tmpfile.cc +4 -6
  1794. data/src/core/util/work_serializer.cc +298 -0
  1795. data/src/core/util/work_serializer.h +81 -0
  1796. data/src/core/util/xxhash_inline.h +29 -0
  1797. data/src/core/xds/grpc/certificate_provider_store.cc +15 -21
  1798. data/src/core/xds/grpc/certificate_provider_store.h +9 -10
  1799. data/src/core/xds/grpc/file_watcher_certificate_provider_factory.cc +5 -6
  1800. data/src/core/xds/grpc/file_watcher_certificate_provider_factory.h +6 -7
  1801. data/src/core/xds/grpc/xds_audit_logger_registry.cc +5 -6
  1802. data/src/core/xds/grpc/xds_audit_logger_registry.h +3 -4
  1803. data/src/core/xds/grpc/xds_bootstrap_grpc.cc +13 -49
  1804. data/src/core/xds/grpc/xds_bootstrap_grpc.h +6 -11
  1805. data/src/core/xds/grpc/xds_certificate_provider.cc +17 -19
  1806. data/src/core/xds/grpc/xds_certificate_provider.h +8 -9
  1807. data/src/core/xds/grpc/xds_client_grpc.cc +80 -62
  1808. data/src/core/xds/grpc/xds_client_grpc.h +14 -8
  1809. data/src/core/xds/grpc/xds_cluster.cc +11 -12
  1810. data/src/core/xds/grpc/xds_cluster.h +38 -12
  1811. data/src/core/xds/grpc/xds_cluster_parser.cc +188 -146
  1812. data/src/core/xds/grpc/xds_cluster_parser.h +6 -2
  1813. data/src/core/xds/grpc/xds_cluster_specifier_plugin.cc +9 -12
  1814. data/src/core/xds/grpc/xds_cluster_specifier_plugin.h +5 -6
  1815. data/src/core/xds/grpc/xds_common_types.cc +3 -4
  1816. data/src/core/xds/grpc/xds_common_types.h +6 -7
  1817. data/src/core/xds/grpc/xds_common_types_parser.cc +72 -38
  1818. data/src/core/xds/grpc/xds_common_types_parser.h +28 -5
  1819. data/src/core/xds/grpc/xds_endpoint.cc +3 -4
  1820. data/src/core/xds/grpc/xds_endpoint.h +7 -5
  1821. data/src/core/xds/grpc/xds_endpoint_parser.cc +106 -70
  1822. data/src/core/xds/grpc/xds_endpoint_parser.h +1 -2
  1823. data/src/core/xds/grpc/xds_health_status.cc +4 -4
  1824. data/src/core/xds/grpc/xds_health_status.h +4 -4
  1825. data/src/core/xds/grpc/xds_http_fault_filter.cc +38 -33
  1826. data/src/core/xds/grpc/xds_http_fault_filter.h +13 -9
  1827. data/src/core/xds/grpc/xds_http_filter.h +16 -7
  1828. data/src/core/xds/grpc/xds_http_filter_registry.cc +16 -11
  1829. data/src/core/xds/grpc/xds_http_filter_registry.h +13 -7
  1830. data/src/core/xds/grpc/xds_http_gcp_authn_filter.cc +141 -0
  1831. data/src/core/xds/grpc/xds_http_gcp_authn_filter.h +61 -0
  1832. data/src/core/xds/grpc/xds_http_rbac_filter.cc +85 -67
  1833. data/src/core/xds/grpc/xds_http_rbac_filter.h +13 -9
  1834. data/src/core/xds/grpc/xds_http_stateful_session_filter.cc +24 -17
  1835. data/src/core/xds/grpc/xds_http_stateful_session_filter.h +13 -9
  1836. data/src/core/xds/grpc/xds_lb_policy_registry.cc +23 -27
  1837. data/src/core/xds/grpc/xds_lb_policy_registry.h +4 -5
  1838. data/src/core/xds/grpc/xds_listener.cc +5 -8
  1839. data/src/core/xds/grpc/xds_listener.h +11 -12
  1840. data/src/core/xds/grpc/xds_listener_parser.cc +72 -69
  1841. data/src/core/xds/grpc/xds_listener_parser.h +3 -3
  1842. data/src/core/xds/grpc/xds_metadata.cc +62 -0
  1843. data/src/core/xds/grpc/xds_metadata.h +158 -0
  1844. data/src/core/xds/grpc/xds_metadata_parser.cc +197 -0
  1845. data/src/core/xds/grpc/xds_metadata_parser.h +35 -0
  1846. data/src/core/xds/grpc/xds_route_config.cc +12 -18
  1847. data/src/core/xds/grpc/xds_route_config.h +11 -12
  1848. data/src/core/xds/grpc/xds_route_config_parser.cc +135 -144
  1849. data/src/core/xds/grpc/xds_route_config_parser.h +7 -10
  1850. data/src/core/xds/grpc/xds_routing.cc +65 -32
  1851. data/src/core/xds/grpc/xds_routing.h +16 -10
  1852. data/src/core/xds/grpc/xds_server_grpc.cc +23 -3
  1853. data/src/core/xds/grpc/xds_server_grpc.h +7 -4
  1854. data/src/core/xds/grpc/xds_server_grpc_interface.h +33 -0
  1855. data/src/core/xds/grpc/xds_transport_grpc.cc +99 -56
  1856. data/src/core/xds/grpc/xds_transport_grpc.h +33 -22
  1857. data/src/core/xds/xds_client/lrs_client.cc +1280 -0
  1858. data/src/core/xds/xds_client/lrs_client.h +394 -0
  1859. data/src/core/xds/xds_client/xds_api.cc +28 -465
  1860. data/src/core/xds/xds_client/xds_api.h +6 -161
  1861. data/src/core/xds/xds_client/xds_backend_metric_propagation.cc +63 -0
  1862. data/src/core/xds/xds_client/xds_backend_metric_propagation.h +59 -0
  1863. data/src/core/xds/xds_client/xds_bootstrap.cc +12 -3
  1864. data/src/core/xds/xds_client/xds_bootstrap.h +9 -2
  1865. data/src/core/xds/xds_client/xds_client.cc +1109 -1362
  1866. data/src/core/xds/xds_client/xds_client.h +167 -114
  1867. data/src/core/xds/xds_client/xds_locality.h +102 -0
  1868. data/src/core/xds/xds_client/xds_metrics.h +2 -2
  1869. data/src/core/xds/xds_client/xds_resource_type.h +6 -8
  1870. data/src/core/xds/xds_client/xds_resource_type_impl.h +15 -11
  1871. data/src/core/xds/xds_client/xds_transport.h +29 -14
  1872. data/src/ruby/ext/grpc/extconf.rb +2 -1
  1873. data/src/ruby/ext/grpc/rb_byte_buffer.c +3 -3
  1874. data/src/ruby/ext/grpc/rb_call.c +6 -6
  1875. data/src/ruby/ext/grpc/rb_call_credentials.c +39 -33
  1876. data/src/ruby/ext/grpc/rb_channel.c +28 -23
  1877. data/src/ruby/ext/grpc/rb_channel_args.c +3 -3
  1878. data/src/ruby/ext/grpc/rb_channel_credentials.c +5 -6
  1879. data/src/ruby/ext/grpc/rb_channel_credentials.h +1 -2
  1880. data/src/ruby/ext/grpc/rb_completion_queue.c +3 -4
  1881. data/src/ruby/ext/grpc/rb_compression_options.c +6 -7
  1882. data/src/ruby/ext/grpc/rb_event_thread.c +7 -7
  1883. data/src/ruby/ext/grpc/rb_grpc.c +12 -12
  1884. data/src/ruby/ext/grpc/rb_grpc.h +2 -3
  1885. data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +6 -10
  1886. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +9 -15
  1887. data/src/ruby/ext/grpc/rb_server.c +16 -14
  1888. data/src/ruby/ext/grpc/rb_server_credentials.c +3 -3
  1889. data/src/ruby/ext/grpc/rb_server_credentials.h +1 -2
  1890. data/src/ruby/ext/grpc/rb_xds_channel_credentials.c +5 -6
  1891. data/src/ruby/ext/grpc/rb_xds_channel_credentials.h +1 -2
  1892. data/src/ruby/ext/grpc/rb_xds_server_credentials.c +4 -4
  1893. data/src/ruby/ext/grpc/rb_xds_server_credentials.h +1 -2
  1894. data/src/ruby/lib/grpc/generic/active_call.rb +8 -5
  1895. data/src/ruby/lib/grpc/version.rb +1 -1
  1896. data/src/ruby/spec/call_spec.rb +53 -40
  1897. data/src/ruby/spec/channel_spec.rb +4 -2
  1898. data/src/ruby/spec/client_server_spec.rb +148 -507
  1899. data/src/ruby/spec/generic/active_call_spec.rb +64 -86
  1900. data/src/ruby/spec/generic/client_stub_spec.rb +20 -20
  1901. data/src/ruby/spec/support/services.rb +3 -0
  1902. data/third_party/abseil-cpp/absl/algorithm/container.h +57 -18
  1903. data/third_party/abseil-cpp/absl/base/attributes.h +84 -0
  1904. data/third_party/abseil-cpp/absl/base/config.h +32 -51
  1905. data/third_party/abseil-cpp/absl/base/dynamic_annotations.h +0 -16
  1906. data/third_party/abseil-cpp/absl/base/internal/nullability_impl.h +3 -1
  1907. data/third_party/abseil-cpp/absl/base/internal/spinlock.h +13 -3
  1908. data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc +0 -12
  1909. data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock_config.h +4 -4
  1910. data/third_party/abseil-cpp/absl/base/macros.h +48 -0
  1911. data/third_party/abseil-cpp/absl/base/no_destructor.h +35 -40
  1912. data/third_party/abseil-cpp/absl/base/nullability.h +33 -7
  1913. data/third_party/abseil-cpp/absl/base/optimization.h +11 -0
  1914. data/third_party/abseil-cpp/absl/base/options.h +1 -1
  1915. data/third_party/abseil-cpp/absl/base/prefetch.h +1 -1
  1916. data/third_party/abseil-cpp/absl/container/flat_hash_map.h +68 -12
  1917. data/third_party/abseil-cpp/absl/container/flat_hash_set.h +60 -6
  1918. data/third_party/abseil-cpp/absl/container/hash_container_defaults.h +45 -0
  1919. data/third_party/abseil-cpp/absl/container/inlined_vector.h +13 -0
  1920. data/third_party/abseil-cpp/absl/container/internal/common_policy_traits.h +20 -11
  1921. data/third_party/abseil-cpp/absl/container/internal/compressed_tuple.h +15 -16
  1922. data/third_party/abseil-cpp/absl/container/internal/container_memory.h +34 -1
  1923. data/third_party/abseil-cpp/absl/container/internal/hash_function_defaults.h +68 -1
  1924. data/third_party/abseil-cpp/absl/container/internal/hash_policy_traits.h +50 -0
  1925. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +22 -7
  1926. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.h +26 -8
  1927. data/third_party/abseil-cpp/absl/container/internal/inlined_vector.h +39 -35
  1928. data/third_party/abseil-cpp/absl/container/internal/layout.h +190 -74
  1929. data/third_party/abseil-cpp/absl/container/internal/raw_hash_map.h +8 -6
  1930. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc +334 -71
  1931. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h +1299 -458
  1932. data/third_party/abseil-cpp/absl/crc/internal/crc32_x86_arm_combined_simd.h +19 -17
  1933. data/third_party/abseil-cpp/absl/crc/internal/crc_cord_state.cc +4 -3
  1934. data/third_party/abseil-cpp/absl/crc/internal/crc_memcpy_fallback.cc +2 -1
  1935. data/third_party/abseil-cpp/absl/crc/internal/crc_memcpy_x86_arm_combined.cc +12 -8
  1936. data/third_party/abseil-cpp/absl/crc/internal/crc_non_temporal_memcpy.cc +1 -1
  1937. data/third_party/abseil-cpp/absl/crc/internal/crc_x86_arm_combined.cc +11 -7
  1938. data/third_party/abseil-cpp/absl/crc/internal/non_temporal_memcpy.h +18 -17
  1939. data/third_party/abseil-cpp/absl/debugging/internal/bounded_utf8_length_sequence.h +126 -0
  1940. data/third_party/abseil-cpp/absl/debugging/internal/decode_rust_punycode.cc +258 -0
  1941. data/third_party/abseil-cpp/absl/debugging/internal/decode_rust_punycode.h +55 -0
  1942. data/third_party/abseil-cpp/absl/debugging/internal/demangle.cc +1057 -86
  1943. data/third_party/abseil-cpp/absl/debugging/internal/demangle.h +3 -0
  1944. data/third_party/abseil-cpp/absl/debugging/internal/demangle_rust.cc +925 -0
  1945. data/third_party/abseil-cpp/absl/debugging/internal/demangle_rust.h +42 -0
  1946. data/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.cc +43 -16
  1947. data/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h +8 -7
  1948. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +10 -7
  1949. data/third_party/abseil-cpp/absl/debugging/internal/utf8_for_code_point.cc +70 -0
  1950. data/third_party/abseil-cpp/absl/debugging/internal/utf8_for_code_point.h +47 -0
  1951. data/third_party/abseil-cpp/absl/flags/commandlineflag.h +11 -0
  1952. data/third_party/abseil-cpp/absl/flags/flag.h +2 -0
  1953. data/third_party/abseil-cpp/absl/flags/internal/flag.cc +117 -30
  1954. data/third_party/abseil-cpp/absl/flags/internal/flag.h +192 -30
  1955. data/third_party/abseil-cpp/absl/flags/reflection.cc +10 -0
  1956. data/third_party/abseil-cpp/absl/functional/any_invocable.h +13 -3
  1957. data/third_party/abseil-cpp/absl/functional/bind_front.h +3 -2
  1958. data/third_party/abseil-cpp/absl/functional/internal/any_invocable.h +7 -7
  1959. data/third_party/abseil-cpp/absl/functional/internal/front_binder.h +9 -9
  1960. data/third_party/abseil-cpp/absl/hash/internal/hash.cc +1 -1
  1961. data/third_party/abseil-cpp/absl/hash/internal/hash.h +13 -3
  1962. data/third_party/abseil-cpp/absl/hash/internal/low_level_hash.cc +60 -28
  1963. data/third_party/abseil-cpp/absl/hash/internal/low_level_hash.h +4 -0
  1964. data/third_party/abseil-cpp/absl/log/absl_vlog_is_on.h +3 -3
  1965. data/third_party/abseil-cpp/absl/log/globals.h +28 -15
  1966. data/third_party/abseil-cpp/absl/log/internal/check_op.cc +20 -0
  1967. data/third_party/abseil-cpp/absl/log/internal/check_op.h +63 -21
  1968. data/third_party/abseil-cpp/absl/log/internal/conditions.h +2 -2
  1969. data/third_party/abseil-cpp/absl/log/internal/log_impl.h +23 -23
  1970. data/third_party/abseil-cpp/absl/log/internal/log_message.cc +104 -47
  1971. data/third_party/abseil-cpp/absl/log/internal/log_message.h +23 -4
  1972. data/third_party/abseil-cpp/absl/log/internal/nullstream.h +1 -10
  1973. data/third_party/abseil-cpp/absl/log/internal/strip.h +36 -0
  1974. data/third_party/abseil-cpp/absl/log/log.h +5 -1
  1975. data/third_party/abseil-cpp/absl/log/log_sink.h +11 -4
  1976. data/third_party/abseil-cpp/absl/log/vlog_is_on.h +3 -3
  1977. data/third_party/abseil-cpp/absl/meta/type_traits.h +138 -42
  1978. data/third_party/abseil-cpp/absl/numeric/int128.cc +0 -3
  1979. data/third_party/abseil-cpp/absl/numeric/int128.h +35 -5
  1980. data/third_party/abseil-cpp/absl/numeric/int128_have_intrinsic.inc +14 -0
  1981. data/third_party/abseil-cpp/absl/numeric/int128_no_intrinsic.inc +18 -0
  1982. data/third_party/abseil-cpp/absl/numeric/internal/bits.h +6 -2
  1983. data/third_party/abseil-cpp/absl/random/beta_distribution.h +8 -8
  1984. data/third_party/abseil-cpp/absl/random/bit_gen_ref.h +9 -7
  1985. data/third_party/abseil-cpp/absl/random/distributions.h +11 -11
  1986. data/third_party/abseil-cpp/absl/random/seed_sequences.h +2 -0
  1987. data/third_party/abseil-cpp/absl/status/internal/statusor_internal.h +61 -2
  1988. data/third_party/abseil-cpp/absl/status/status.cc +0 -4
  1989. data/third_party/abseil-cpp/absl/status/status.h +4 -4
  1990. data/third_party/abseil-cpp/absl/status/statusor.h +108 -142
  1991. data/third_party/abseil-cpp/absl/strings/ascii.cc +32 -71
  1992. data/third_party/abseil-cpp/absl/strings/cord.cc +20 -15
  1993. data/third_party/abseil-cpp/absl/strings/cord.h +68 -7
  1994. data/third_party/abseil-cpp/absl/strings/escaping.cc +96 -21
  1995. data/third_party/abseil-cpp/absl/strings/escaping.h +25 -8
  1996. data/third_party/abseil-cpp/absl/strings/has_absl_stringify.h +1 -0
  1997. data/third_party/abseil-cpp/absl/strings/internal/charconv_bigint.h +10 -0
  1998. data/third_party/abseil-cpp/absl/strings/internal/cord_internal.h +29 -9
  1999. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.h +2 -2
  2000. data/third_party/abseil-cpp/absl/strings/internal/cordz_functions.cc +19 -13
  2001. data/third_party/abseil-cpp/absl/strings/internal/cordz_functions.h +23 -13
  2002. data/third_party/abseil-cpp/absl/strings/internal/cordz_handle.cc +24 -24
  2003. data/third_party/abseil-cpp/absl/strings/internal/cordz_info.cc +12 -7
  2004. data/third_party/abseil-cpp/absl/strings/internal/cordz_info.h +9 -4
  2005. data/third_party/abseil-cpp/absl/strings/internal/escaping.cc +5 -2
  2006. data/third_party/abseil-cpp/absl/strings/internal/str_join_internal.h +23 -2
  2007. data/third_party/abseil-cpp/absl/strings/internal/str_split_internal.h +5 -1
  2008. data/third_party/abseil-cpp/absl/strings/numbers.cc +107 -333
  2009. data/third_party/abseil-cpp/absl/strings/numbers.h +12 -151
  2010. data/third_party/abseil-cpp/absl/strings/str_cat.cc +49 -142
  2011. data/third_party/abseil-cpp/absl/strings/str_cat.h +70 -85
  2012. data/third_party/abseil-cpp/absl/strings/str_format.h +1 -1
  2013. data/third_party/abseil-cpp/absl/strings/str_join.h +19 -5
  2014. data/third_party/abseil-cpp/absl/strings/str_split.h +2 -2
  2015. data/third_party/abseil-cpp/absl/strings/string_view.h +3 -2
  2016. data/third_party/abseil-cpp/absl/strings/substitute.cc +4 -0
  2017. data/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc +11 -2
  2018. data/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.h +5 -0
  2019. data/third_party/abseil-cpp/absl/synchronization/mutex.h +5 -4
  2020. data/third_party/abseil-cpp/absl/time/civil_time.h +2 -2
  2021. data/third_party/abseil-cpp/absl/time/clock.cc +15 -1
  2022. data/third_party/abseil-cpp/absl/time/duration.cc +58 -53
  2023. data/third_party/abseil-cpp/absl/time/format.cc +2 -1
  2024. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.cc +1 -1
  2025. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc +0 -29
  2026. data/third_party/abseil-cpp/absl/time/internal/cctz/src/tzfile.h +3 -3
  2027. data/third_party/abseil-cpp/absl/time/time.h +73 -29
  2028. data/third_party/abseil-cpp/absl/types/compare.h +505 -0
  2029. data/third_party/abseil-cpp/absl/types/internal/optional.h +2 -2
  2030. data/third_party/abseil-cpp/absl/types/internal/variant.h +55 -67
  2031. data/third_party/abseil-cpp/absl/types/optional.h +15 -18
  2032. data/third_party/abseil-cpp/absl/types/span.h +3 -2
  2033. data/third_party/abseil-cpp/absl/types/variant.h +19 -24
  2034. data/third_party/abseil-cpp/absl/utility/utility.h +3 -41
  2035. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bitstr.cc +243 -0
  2036. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bool.cc +53 -0
  2037. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_d2i_fp.cc +47 -0
  2038. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_dup.cc +42 -0
  2039. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_gentm.cc +109 -0
  2040. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_i2d_fp.cc +43 -0
  2041. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_int.cc +424 -0
  2042. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_mbstr.cc +239 -0
  2043. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_object.cc +193 -0
  2044. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_octet.cc +32 -0
  2045. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_strex.cc +415 -0
  2046. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_strnid.cc +206 -0
  2047. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_time.cc +224 -0
  2048. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_type.cc +172 -0
  2049. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_utctm.cc +109 -0
  2050. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_lib.cc +355 -0
  2051. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_par.cc +61 -0
  2052. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn_pack.cc +56 -0
  2053. data/third_party/boringssl-with-bazel/src/crypto/asn1/f_int.cc +63 -0
  2054. data/third_party/boringssl-with-bazel/src/crypto/asn1/f_string.cc +52 -0
  2055. data/third_party/boringssl-with-bazel/src/crypto/asn1/internal.h +13 -57
  2056. data/third_party/boringssl-with-bazel/src/crypto/asn1/posix_time.cc +241 -0
  2057. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_dec.cc +932 -0
  2058. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_enc.cc +669 -0
  2059. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_fre.cc +164 -0
  2060. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_new.cc +276 -0
  2061. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_typ.cc +84 -0
  2062. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_utl.cc +229 -0
  2063. data/third_party/boringssl-with-bazel/src/crypto/base64/base64.cc +434 -0
  2064. data/third_party/boringssl-with-bazel/src/crypto/bcm_support.h +119 -0
  2065. data/third_party/boringssl-with-bazel/src/crypto/bio/bio.cc +658 -0
  2066. data/third_party/boringssl-with-bazel/src/crypto/bio/bio_mem.cc +268 -0
  2067. data/third_party/boringssl-with-bazel/src/crypto/bio/connect.cc +511 -0
  2068. data/third_party/boringssl-with-bazel/src/crypto/bio/errno.cc +50 -0
  2069. data/third_party/boringssl-with-bazel/src/crypto/bio/fd.cc +193 -0
  2070. data/third_party/boringssl-with-bazel/src/crypto/bio/file.cc +292 -0
  2071. data/third_party/boringssl-with-bazel/src/crypto/bio/hexdump.cc +152 -0
  2072. data/third_party/boringssl-with-bazel/src/crypto/bio/internal.h +13 -55
  2073. data/third_party/boringssl-with-bazel/src/crypto/bio/pair.cc +446 -0
  2074. data/third_party/boringssl-with-bazel/src/crypto/bio/printf.cc +59 -0
  2075. data/third_party/boringssl-with-bazel/src/crypto/bio/socket.cc +147 -0
  2076. data/third_party/boringssl-with-bazel/src/crypto/bio/socket_helper.cc +133 -0
  2077. data/third_party/boringssl-with-bazel/src/crypto/blake2/blake2.cc +169 -0
  2078. data/third_party/boringssl-with-bazel/src/crypto/bn/bn_asn1.cc +57 -0
  2079. data/third_party/boringssl-with-bazel/src/crypto/bn/convert.cc +423 -0
  2080. data/third_party/boringssl-with-bazel/src/crypto/buf/buf.cc +118 -0
  2081. data/third_party/boringssl-with-bazel/src/crypto/bytestring/asn1_compat.cc +53 -0
  2082. data/third_party/boringssl-with-bazel/src/crypto/bytestring/ber.cc +266 -0
  2083. data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbb.cc +702 -0
  2084. data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbs.cc +912 -0
  2085. data/third_party/boringssl-with-bazel/src/crypto/bytestring/internal.h +13 -13
  2086. data/third_party/boringssl-with-bazel/src/crypto/bytestring/unicode.cc +156 -0
  2087. data/third_party/boringssl-with-bazel/src/crypto/chacha/chacha.cc +224 -0
  2088. data/third_party/boringssl-with-bazel/src/crypto/chacha/internal.h +18 -18
  2089. data/third_party/boringssl-with-bazel/src/crypto/cipher/derive_key.cc +110 -0
  2090. data/third_party/boringssl-with-bazel/src/crypto/cipher/e_aesctrhmac.cc +279 -0
  2091. data/third_party/boringssl-with-bazel/src/crypto/cipher/e_aesgcmsiv.cc +845 -0
  2092. data/third_party/boringssl-with-bazel/src/crypto/cipher/e_chacha20poly1305.cc +341 -0
  2093. data/third_party/boringssl-with-bazel/src/crypto/cipher/e_des.cc +198 -0
  2094. data/third_party/boringssl-with-bazel/src/crypto/cipher/e_null.cc +51 -0
  2095. data/third_party/boringssl-with-bazel/src/crypto/cipher/e_rc2.cc +417 -0
  2096. data/third_party/boringssl-with-bazel/src/crypto/cipher/e_rc4.cc +54 -0
  2097. data/third_party/boringssl-with-bazel/src/crypto/cipher/e_tls.cc +599 -0
  2098. data/third_party/boringssl-with-bazel/src/crypto/cipher/get_cipher.cc +85 -0
  2099. data/third_party/boringssl-with-bazel/src/crypto/cipher/internal.h +240 -0
  2100. data/third_party/boringssl-with-bazel/src/crypto/cipher/tls_cbc.cc +476 -0
  2101. data/third_party/boringssl-with-bazel/src/crypto/conf/conf.cc +631 -0
  2102. data/third_party/boringssl-with-bazel/src/crypto/conf/internal.h +13 -13
  2103. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_apple.cc +75 -0
  2104. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_fuchsia.cc +55 -0
  2105. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_linux.cc +62 -0
  2106. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_openbsd.cc +61 -0
  2107. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_sysreg.cc +94 -0
  2108. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_win.cc +41 -0
  2109. data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_freebsd.cc +54 -0
  2110. data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_linux.cc +151 -0
  2111. data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_linux.h +13 -13
  2112. data/third_party/boringssl-with-bazel/src/crypto/cpu_intel.cc +287 -0
  2113. data/third_party/boringssl-with-bazel/src/crypto/crypto.cc +183 -0
  2114. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519.cc +2154 -0
  2115. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519_64_adx.cc +18 -0
  2116. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519_tables.h +13 -13
  2117. data/third_party/boringssl-with-bazel/src/crypto/curve25519/internal.h +13 -13
  2118. data/third_party/boringssl-with-bazel/src/crypto/curve25519/spake25519.cc +529 -0
  2119. data/third_party/boringssl-with-bazel/src/crypto/des/des.cc +829 -0
  2120. data/third_party/boringssl-with-bazel/src/crypto/des/internal.h +27 -69
  2121. data/third_party/boringssl-with-bazel/src/crypto/dh/dh_asn1.cc +124 -0
  2122. data/third_party/boringssl-with-bazel/src/crypto/dh/params.cc +442 -0
  2123. data/third_party/boringssl-with-bazel/src/crypto/digest/digest_extra.cc +306 -0
  2124. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa.cc +951 -0
  2125. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa_asn1.cc +379 -0
  2126. data/third_party/boringssl-with-bazel/src/crypto/dsa/internal.h +13 -15
  2127. data/third_party/boringssl-with-bazel/src/crypto/ec/ec_asn1.cc +570 -0
  2128. data/third_party/boringssl-with-bazel/src/crypto/ec/ec_derive.cc +96 -0
  2129. data/third_party/boringssl-with-bazel/src/crypto/ec/hash_to_curve.cc +510 -0
  2130. data/third_party/boringssl-with-bazel/src/crypto/ec/internal.h +78 -0
  2131. data/third_party/boringssl-with-bazel/src/crypto/ecdh/ecdh.cc +73 -0
  2132. data/third_party/boringssl-with-bazel/src/crypto/ecdsa/ecdsa_asn1.cc +357 -0
  2133. data/third_party/boringssl-with-bazel/src/crypto/engine/engine.cc +95 -0
  2134. data/third_party/boringssl-with-bazel/src/crypto/err/err.cc +810 -0
  2135. data/third_party/boringssl-with-bazel/src/crypto/err/internal.h +13 -13
  2136. data/third_party/boringssl-with-bazel/src/crypto/evp/evp.cc +379 -0
  2137. data/third_party/boringssl-with-bazel/src/crypto/evp/evp_asn1.cc +471 -0
  2138. data/third_party/boringssl-with-bazel/src/crypto/evp/evp_ctx.cc +440 -0
  2139. data/third_party/boringssl-with-bazel/src/crypto/evp/internal.h +13 -55
  2140. data/third_party/boringssl-with-bazel/src/crypto/evp/p_dh.cc +153 -0
  2141. data/third_party/boringssl-with-bazel/src/crypto/evp/p_dh_asn1.cc +142 -0
  2142. data/third_party/boringssl-with-bazel/src/crypto/evp/p_dsa_asn1.cc +279 -0
  2143. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec.cc +230 -0
  2144. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec_asn1.cc +286 -0
  2145. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519.cc +103 -0
  2146. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519_asn1.cc +225 -0
  2147. data/third_party/boringssl-with-bazel/src/crypto/evp/p_hkdf.cc +236 -0
  2148. data/third_party/boringssl-with-bazel/src/crypto/evp/p_rsa.cc +609 -0
  2149. data/third_party/boringssl-with-bazel/src/crypto/evp/p_rsa_asn1.cc +198 -0
  2150. data/third_party/boringssl-with-bazel/src/crypto/evp/p_x25519.cc +109 -0
  2151. data/third_party/boringssl-with-bazel/src/crypto/evp/p_x25519_asn1.cc +237 -0
  2152. data/third_party/boringssl-with-bazel/src/crypto/evp/pbkdf.cc +98 -0
  2153. data/third_party/boringssl-with-bazel/src/crypto/evp/print.cc +342 -0
  2154. data/third_party/boringssl-with-bazel/src/crypto/evp/scrypt.cc +216 -0
  2155. data/third_party/boringssl-with-bazel/src/crypto/evp/sign.cc +114 -0
  2156. data/third_party/boringssl-with-bazel/src/crypto/ex_data.cc +141 -0
  2157. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/aes.cc.inc +191 -0
  2158. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/aes_nohw.cc.inc +1281 -0
  2159. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/cbc.cc.inc +130 -0
  2160. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/cfb.cc.inc +166 -0
  2161. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/ctr.cc.inc +100 -0
  2162. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/gcm.cc.inc +604 -0
  2163. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/gcm_nohw.cc.inc +302 -0
  2164. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/internal.h +421 -70
  2165. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/key_wrap.cc.inc +208 -0
  2166. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/mode_wrappers.cc.inc +84 -0
  2167. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/ofb.cc.inc +53 -0
  2168. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/polyval.cc.inc +89 -0
  2169. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.cc +282 -0
  2170. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm_interface.h +729 -0
  2171. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/add.cc.inc +269 -0
  2172. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/asm/x86_64-gcc.cc.inc +554 -0
  2173. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/bn.cc.inc +374 -0
  2174. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/bytes.cc.inc +225 -0
  2175. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/cmp.cc.inc +159 -0
  2176. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/ctx.cc.inc +191 -0
  2177. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div.cc.inc +825 -0
  2178. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div_extra.cc.inc +87 -0
  2179. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/exponentiation.cc.inc +1227 -0
  2180. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd.cc.inc +300 -0
  2181. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd_extra.cc.inc +339 -0
  2182. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/generic.cc.inc +582 -0
  2183. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/internal.h +25 -134
  2184. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/jacobi.cc.inc +108 -0
  2185. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery.cc.inc +430 -0
  2186. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery_inv.cc.inc +222 -0
  2187. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/mul.cc.inc +698 -0
  2188. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/prime.cc.inc +980 -0
  2189. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/random.cc.inc +260 -0
  2190. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/rsaz_exp.cc.inc +142 -0
  2191. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/rsaz_exp.h +20 -17
  2192. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/shift.cc.inc +320 -0
  2193. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/sqrt.cc.inc +459 -0
  2194. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/aead.cc.inc +295 -0
  2195. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/cipher.cc.inc +672 -0
  2196. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_aes.cc.inc +1242 -0
  2197. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_aesccm.cc.inc +409 -0
  2198. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/internal.h +14 -65
  2199. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cmac/cmac.cc.inc +288 -0
  2200. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/delocate.h +26 -22
  2201. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/check.cc.inc +203 -0
  2202. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/dh.cc.inc +443 -0
  2203. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/internal.h +13 -15
  2204. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digest.cc.inc +250 -0
  2205. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digests.cc.inc +178 -0
  2206. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/internal.h +13 -55
  2207. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/md32_common.h +13 -47
  2208. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digestsign/digestsign.cc.inc +226 -0
  2209. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/builtin_curves.h +91 -91
  2210. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec.cc.inc +986 -0
  2211. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_key.cc.inc +501 -0
  2212. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_montgomery.cc.inc +439 -0
  2213. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/felem.cc.inc +104 -0
  2214. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/internal.h +19 -66
  2215. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/oct.cc.inc +306 -0
  2216. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p224-64.cc.inc +1163 -0
  2217. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-nistz-table.h +15 -10
  2218. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-nistz.cc.inc +741 -0
  2219. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-nistz.h +87 -25
  2220. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256.cc.inc +749 -0
  2221. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256_table.h +13 -13
  2222. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/scalar.cc.inc +179 -0
  2223. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple.cc.inc +284 -0
  2224. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple_mul.cc.inc +269 -0
  2225. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/util.cc.inc +255 -0
  2226. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/wnaf.cc.inc +221 -0
  2227. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdh/ecdh.cc.inc +88 -0
  2228. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/ecdsa.cc.inc +278 -0
  2229. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/internal.h +41 -24
  2230. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/fips_shared_support.cc +28 -0
  2231. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/hkdf/hkdf.cc.inc +112 -0
  2232. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/hmac/hmac.cc.inc +215 -0
  2233. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/keccak/internal.h +70 -0
  2234. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/keccak/keccak.cc.inc +279 -0
  2235. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/mldsa/mldsa.cc.inc +1993 -0
  2236. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/mlkem/mlkem.cc.inc +1165 -0
  2237. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/ctrdrbg.cc.inc +214 -0
  2238. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/internal.h +19 -104
  2239. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/rand.cc.inc +483 -0
  2240. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/blinding.cc.inc +147 -0
  2241. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/internal.h +13 -56
  2242. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/padding.cc.inc +379 -0
  2243. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa.cc.inc +983 -0
  2244. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa_impl.cc.inc +1296 -0
  2245. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/fips.cc.inc +129 -0
  2246. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/self_check.cc.inc +1042 -0
  2247. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/service_indicator/internal.h +36 -36
  2248. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/service_indicator/service_indicator.cc.inc +327 -0
  2249. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/internal.h +43 -57
  2250. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha1.cc.inc +390 -0
  2251. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha256.cc.inc +299 -0
  2252. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha512.cc.inc +473 -0
  2253. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/address.h +119 -0
  2254. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/fors.cc.inc +169 -0
  2255. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/fors.h +58 -0
  2256. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/merkle.cc.inc +161 -0
  2257. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/merkle.h +70 -0
  2258. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/params.h +78 -0
  2259. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/slhdsa.cc.inc +329 -0
  2260. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/thash.cc.inc +173 -0
  2261. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/thash.h +85 -0
  2262. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/wots.cc.inc +171 -0
  2263. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/wots.h +50 -0
  2264. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/internal.h +13 -13
  2265. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/kdf.cc.inc +180 -0
  2266. data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.cc +1095 -0
  2267. data/third_party/boringssl-with-bazel/src/crypto/hrss/hrss.cc +2185 -0
  2268. data/third_party/boringssl-with-bazel/src/crypto/hrss/internal.h +13 -13
  2269. data/third_party/boringssl-with-bazel/src/crypto/internal.h +302 -447
  2270. data/third_party/boringssl-with-bazel/src/crypto/kyber/internal.h +13 -13
  2271. data/third_party/boringssl-with-bazel/src/crypto/kyber/kyber.cc +869 -0
  2272. data/third_party/boringssl-with-bazel/src/crypto/lhash/internal.h +31 -75
  2273. data/third_party/boringssl-with-bazel/src/crypto/lhash/lhash.cc +309 -0
  2274. data/third_party/boringssl-with-bazel/src/crypto/md4/md4.cc +194 -0
  2275. data/third_party/boringssl-with-bazel/src/crypto/md5/internal.h +37 -0
  2276. data/third_party/boringssl-with-bazel/src/crypto/md5/md5.cc +243 -0
  2277. data/third_party/boringssl-with-bazel/src/crypto/mem.cc +583 -0
  2278. data/third_party/boringssl-with-bazel/src/crypto/mldsa/mldsa.cc +90 -0
  2279. data/third_party/boringssl-with-bazel/src/crypto/mlkem/mlkem.cc +152 -0
  2280. data/third_party/boringssl-with-bazel/src/crypto/obj/obj.cc +519 -0
  2281. data/third_party/boringssl-with-bazel/src/crypto/obj/obj_dat.h +18 -57
  2282. data/third_party/boringssl-with-bazel/src/crypto/obj/obj_xref.cc +80 -0
  2283. data/third_party/boringssl-with-bazel/src/crypto/pem/internal.h +44 -0
  2284. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_all.cc +149 -0
  2285. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_info.cc +254 -0
  2286. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_lib.cc +741 -0
  2287. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_oth.cc +45 -0
  2288. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pk8.cc +208 -0
  2289. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pkey.cc +141 -0
  2290. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_x509.cc +22 -0
  2291. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_xaux.cc +22 -0
  2292. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/internal.h +13 -13
  2293. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7.cc +193 -0
  2294. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7_x509.cc +526 -0
  2295. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/internal.h +14 -54
  2296. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/p5_pbev2.cc +275 -0
  2297. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8.cc +487 -0
  2298. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8_x509.cc +1304 -0
  2299. data/third_party/boringssl-with-bazel/src/crypto/poly1305/internal.h +13 -13
  2300. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305.cc +314 -0
  2301. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_arm.cc +310 -0
  2302. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_vec.cc +850 -0
  2303. data/third_party/boringssl-with-bazel/src/crypto/pool/internal.h +13 -13
  2304. data/third_party/boringssl-with-bazel/src/crypto/pool/pool.cc +262 -0
  2305. data/third_party/boringssl-with-bazel/src/crypto/rand/deterministic.cc +65 -0
  2306. data/third_party/boringssl-with-bazel/src/crypto/rand/fork_detect.cc +194 -0
  2307. data/third_party/boringssl-with-bazel/src/crypto/rand/forkunsafe.cc +44 -0
  2308. data/third_party/boringssl-with-bazel/src/crypto/rand/getentropy.cc +60 -0
  2309. data/third_party/boringssl-with-bazel/src/crypto/rand/getrandom_fillin.h +64 -0
  2310. data/third_party/boringssl-with-bazel/src/crypto/rand/ios.cc +42 -0
  2311. data/third_party/boringssl-with-bazel/src/crypto/rand/passive.cc +178 -0
  2312. data/third_party/boringssl-with-bazel/src/crypto/rand/rand.cc +77 -0
  2313. data/third_party/boringssl-with-bazel/src/crypto/rand/sysrand_internal.h +37 -0
  2314. data/third_party/boringssl-with-bazel/src/crypto/rand/trusty.cc +46 -0
  2315. data/third_party/boringssl-with-bazel/src/crypto/rand/urandom.cc +328 -0
  2316. data/third_party/boringssl-with-bazel/src/crypto/rand/windows.cc +102 -0
  2317. data/third_party/boringssl-with-bazel/src/crypto/rc4/rc4.cc +56 -0
  2318. data/third_party/boringssl-with-bazel/src/crypto/refcount.cc +59 -0
  2319. data/third_party/boringssl-with-bazel/src/crypto/rsa/internal.h +36 -0
  2320. data/third_party/boringssl-with-bazel/src/crypto/rsa/rsa_asn1.cc +283 -0
  2321. data/third_party/boringssl-with-bazel/src/crypto/rsa/rsa_crypt.cc +531 -0
  2322. data/third_party/boringssl-with-bazel/src/crypto/rsa/rsa_extra.cc +19 -0
  2323. data/third_party/boringssl-with-bazel/src/crypto/rsa/rsa_print.cc +27 -0
  2324. data/third_party/boringssl-with-bazel/src/crypto/sha/sha1.cc +52 -0
  2325. data/third_party/boringssl-with-bazel/src/crypto/sha/sha256.cc +87 -0
  2326. data/third_party/boringssl-with-bazel/src/crypto/sha/sha512.cc +104 -0
  2327. data/third_party/boringssl-with-bazel/src/crypto/siphash/siphash.cc +79 -0
  2328. data/third_party/boringssl-with-bazel/src/crypto/slhdsa/slhdsa.cc +113 -0
  2329. data/third_party/boringssl-with-bazel/src/crypto/spake2plus/internal.h +204 -0
  2330. data/third_party/boringssl-with-bazel/src/crypto/spake2plus/spake2plus.cc +501 -0
  2331. data/third_party/boringssl-with-bazel/src/crypto/stack/stack.cc +496 -0
  2332. data/third_party/boringssl-with-bazel/src/crypto/thread.cc +68 -0
  2333. data/third_party/boringssl-with-bazel/src/crypto/thread_none.cc +51 -0
  2334. data/third_party/boringssl-with-bazel/src/crypto/thread_pthread.cc +151 -0
  2335. data/third_party/boringssl-with-bazel/src/crypto/thread_win.cc +240 -0
  2336. data/third_party/boringssl-with-bazel/src/crypto/trust_token/internal.h +13 -13
  2337. data/third_party/boringssl-with-bazel/src/crypto/trust_token/pmbtoken.cc +1656 -0
  2338. data/third_party/boringssl-with-bazel/src/crypto/trust_token/trust_token.cc +685 -0
  2339. data/third_party/boringssl-with-bazel/src/crypto/trust_token/voprf.cc +1263 -0
  2340. data/third_party/boringssl-with-bazel/src/crypto/x509/a_digest.cc +52 -0
  2341. data/third_party/boringssl-with-bazel/src/crypto/x509/a_sign.cc +97 -0
  2342. data/third_party/boringssl-with-bazel/src/crypto/x509/a_verify.cc +74 -0
  2343. data/third_party/boringssl-with-bazel/src/crypto/x509/algorithm.cc +136 -0
  2344. data/third_party/boringssl-with-bazel/src/crypto/x509/asn1_gen.cc +542 -0
  2345. data/third_party/boringssl-with-bazel/src/crypto/x509/by_dir.cc +355 -0
  2346. data/third_party/boringssl-with-bazel/src/crypto/x509/by_file.cc +227 -0
  2347. data/third_party/boringssl-with-bazel/src/crypto/x509/ext_dat.h +13 -55
  2348. data/third_party/boringssl-with-bazel/src/crypto/x509/i2d_pr.cc +37 -0
  2349. data/third_party/boringssl-with-bazel/src/crypto/x509/internal.h +13 -57
  2350. data/third_party/boringssl-with-bazel/src/crypto/x509/name_print.cc +185 -0
  2351. data/third_party/boringssl-with-bazel/src/crypto/x509/policy.cc +796 -0
  2352. data/third_party/boringssl-with-bazel/src/crypto/x509/rsa_pss.cc +364 -0
  2353. data/third_party/boringssl-with-bazel/src/crypto/x509/t_crl.cc +103 -0
  2354. data/third_party/boringssl-with-bazel/src/crypto/x509/t_req.cc +203 -0
  2355. data/third_party/boringssl-with-bazel/src/crypto/x509/t_x509.cc +287 -0
  2356. data/third_party/boringssl-with-bazel/src/crypto/x509/t_x509a.cc +79 -0
  2357. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_akey.cc +181 -0
  2358. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_akeya.cc +31 -0
  2359. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_alt.cc +593 -0
  2360. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_bcons.cc +95 -0
  2361. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_bitst.cc +102 -0
  2362. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_conf.cc +374 -0
  2363. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_cpols.cc +444 -0
  2364. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_crld.cc +557 -0
  2365. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_enum.cc +73 -0
  2366. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_extku.cc +114 -0
  2367. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_genn.cc +228 -0
  2368. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_ia5.cc +79 -0
  2369. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_info.cc +164 -0
  2370. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_int.cc +81 -0
  2371. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_lib.cc +304 -0
  2372. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_ncons.cc +514 -0
  2373. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_ocsp.cc +89 -0
  2374. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_pcons.cc +101 -0
  2375. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_pmaps.cc +109 -0
  2376. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_prn.cc +183 -0
  2377. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_purp.cc +590 -0
  2378. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_skey.cc +131 -0
  2379. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_utl.cc +1342 -0
  2380. data/third_party/boringssl-with-bazel/src/crypto/x509/x509.cc +47 -0
  2381. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_att.cc +186 -0
  2382. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_cmp.cc +238 -0
  2383. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_d2.cc +66 -0
  2384. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_def.cc +44 -0
  2385. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_ext.cc +139 -0
  2386. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_lu.cc +554 -0
  2387. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_obj.cc +164 -0
  2388. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_req.cc +257 -0
  2389. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_set.cc +198 -0
  2390. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_trs.cc +118 -0
  2391. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_txt.cc +147 -0
  2392. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_v3.cc +249 -0
  2393. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.cc +1600 -0
  2394. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vpm.cc +440 -0
  2395. data/third_party/boringssl-with-bazel/src/crypto/x509/x509cset.cc +235 -0
  2396. data/third_party/boringssl-with-bazel/src/crypto/x509/x509name.cc +365 -0
  2397. data/third_party/boringssl-with-bazel/src/crypto/x509/x509rset.cc +67 -0
  2398. data/third_party/boringssl-with-bazel/src/crypto/x509/x509spki.cc +91 -0
  2399. data/third_party/boringssl-with-bazel/src/crypto/x509/x_algor.cc +107 -0
  2400. data/third_party/boringssl-with-bazel/src/crypto/x509/x_all.cc +318 -0
  2401. data/third_party/boringssl-with-bazel/src/crypto/x509/x_attrib.cc +55 -0
  2402. data/third_party/boringssl-with-bazel/src/crypto/x509/x_crl.cc +342 -0
  2403. data/third_party/boringssl-with-bazel/src/crypto/x509/x_exten.cc +36 -0
  2404. data/third_party/boringssl-with-bazel/src/crypto/x509/x_name.cc +492 -0
  2405. data/third_party/boringssl-with-bazel/src/crypto/x509/x_pubkey.cc +170 -0
  2406. data/third_party/boringssl-with-bazel/src/crypto/x509/x_req.cc +74 -0
  2407. data/third_party/boringssl-with-bazel/src/crypto/x509/x_sig.cc +51 -0
  2408. data/third_party/boringssl-with-bazel/src/crypto/x509/x_spki.cc +34 -0
  2409. data/third_party/boringssl-with-bazel/src/crypto/x509/x_val.cc +28 -0
  2410. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509.cc +506 -0
  2411. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509a.cc +169 -0
  2412. data/third_party/boringssl-with-bazel/src/gen/crypto/err_data.cc +1529 -0
  2413. data/third_party/boringssl-with-bazel/src/include/openssl/aead.h +13 -13
  2414. data/third_party/boringssl-with-bazel/src/include/openssl/aes.h +13 -47
  2415. data/third_party/boringssl-with-bazel/src/include/openssl/arm_arch.h +13 -51
  2416. data/third_party/boringssl-with-bazel/src/include/openssl/asm_base.h +14 -14
  2417. data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +37 -63
  2418. data/third_party/boringssl-with-bazel/src/include/openssl/asn1_mac.h +13 -13
  2419. data/third_party/boringssl-with-bazel/src/include/openssl/asn1t.h +248 -328
  2420. data/third_party/boringssl-with-bazel/src/include/openssl/base.h +24 -55
  2421. data/third_party/boringssl-with-bazel/src/include/openssl/base64.h +13 -55
  2422. data/third_party/boringssl-with-bazel/src/include/openssl/bcm_public.h +82 -0
  2423. data/third_party/boringssl-with-bazel/src/include/openssl/bio.h +13 -55
  2424. data/third_party/boringssl-with-bazel/src/include/openssl/blake2.h +13 -13
  2425. data/third_party/boringssl-with-bazel/src/include/openssl/blowfish.h +13 -55
  2426. data/third_party/boringssl-with-bazel/src/include/openssl/bn.h +28 -130
  2427. data/third_party/boringssl-with-bazel/src/include/openssl/buf.h +13 -55
  2428. data/third_party/boringssl-with-bazel/src/include/openssl/buffer.h +13 -13
  2429. data/third_party/boringssl-with-bazel/src/include/openssl/bytestring.h +31 -16
  2430. data/third_party/boringssl-with-bazel/src/include/openssl/cast.h +13 -55
  2431. data/third_party/boringssl-with-bazel/src/include/openssl/chacha.h +13 -13
  2432. data/third_party/boringssl-with-bazel/src/include/openssl/cipher.h +31 -59
  2433. data/third_party/boringssl-with-bazel/src/include/openssl/cmac.h +13 -13
  2434. data/third_party/boringssl-with-bazel/src/include/openssl/conf.h +13 -55
  2435. data/third_party/boringssl-with-bazel/src/include/openssl/cpu.h +13 -13
  2436. data/third_party/boringssl-with-bazel/src/include/openssl/crypto.h +25 -14
  2437. data/third_party/boringssl-with-bazel/src/include/openssl/ctrdrbg.h +13 -13
  2438. data/third_party/boringssl-with-bazel/src/include/openssl/curve25519.h +13 -13
  2439. data/third_party/boringssl-with-bazel/src/include/openssl/des.h +13 -55
  2440. data/third_party/boringssl-with-bazel/src/include/openssl/dh.h +17 -55
  2441. data/third_party/boringssl-with-bazel/src/include/openssl/digest.h +19 -56
  2442. data/third_party/boringssl-with-bazel/src/include/openssl/dsa.h +17 -58
  2443. data/third_party/boringssl-with-bazel/src/include/openssl/dtls1.h +13 -13
  2444. data/third_party/boringssl-with-bazel/src/include/openssl/e_os2.h +13 -13
  2445. data/third_party/boringssl-with-bazel/src/include/openssl/ec.h +14 -66
  2446. data/third_party/boringssl-with-bazel/src/include/openssl/ec_key.h +31 -72
  2447. data/third_party/boringssl-with-bazel/src/include/openssl/ecdh.h +14 -65
  2448. data/third_party/boringssl-with-bazel/src/include/openssl/ecdsa.h +13 -51
  2449. data/third_party/boringssl-with-bazel/src/include/openssl/engine.h +13 -13
  2450. data/third_party/boringssl-with-bazel/src/include/openssl/err.h +13 -107
  2451. data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +14 -56
  2452. data/third_party/boringssl-with-bazel/src/include/openssl/evp_errors.h +13 -55
  2453. data/third_party/boringssl-with-bazel/src/include/openssl/ex_data.h +13 -107
  2454. data/third_party/boringssl-with-bazel/src/include/openssl/experimental/kyber.h +13 -13
  2455. data/third_party/boringssl-with-bazel/src/include/openssl/hkdf.h +13 -13
  2456. data/third_party/boringssl-with-bazel/src/include/openssl/hmac.h +13 -55
  2457. data/third_party/boringssl-with-bazel/src/include/openssl/hpke.h +21 -19
  2458. data/third_party/boringssl-with-bazel/src/include/openssl/hrss.h +13 -13
  2459. data/third_party/boringssl-with-bazel/src/include/openssl/is_boringssl.h +13 -13
  2460. data/third_party/boringssl-with-bazel/src/include/openssl/kdf.h +13 -13
  2461. data/third_party/boringssl-with-bazel/src/include/openssl/lhash.h +13 -55
  2462. data/third_party/boringssl-with-bazel/src/include/openssl/md4.h +13 -55
  2463. data/third_party/boringssl-with-bazel/src/include/openssl/md5.h +13 -55
  2464. data/third_party/boringssl-with-bazel/src/include/openssl/mem.h +13 -55
  2465. data/third_party/boringssl-with-bazel/src/include/openssl/mldsa.h +130 -0
  2466. data/third_party/boringssl-with-bazel/src/include/openssl/mlkem.h +222 -0
  2467. data/third_party/boringssl-with-bazel/src/include/openssl/nid.h +30 -69
  2468. data/third_party/boringssl-with-bazel/src/include/openssl/obj.h +13 -55
  2469. data/third_party/boringssl-with-bazel/src/include/openssl/obj_mac.h +13 -13
  2470. data/third_party/boringssl-with-bazel/src/include/openssl/objects.h +13 -13
  2471. data/third_party/boringssl-with-bazel/src/include/openssl/opensslconf.h +13 -13
  2472. data/third_party/boringssl-with-bazel/src/include/openssl/opensslv.h +13 -13
  2473. data/third_party/boringssl-with-bazel/src/include/openssl/ossl_typ.h +13 -13
  2474. data/third_party/boringssl-with-bazel/src/include/openssl/pem.h +25 -64
  2475. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs12.h +13 -13
  2476. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs7.h +13 -13
  2477. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs8.h +13 -55
  2478. data/third_party/boringssl-with-bazel/src/include/openssl/poly1305.h +13 -13
  2479. data/third_party/boringssl-with-bazel/src/include/openssl/pool.h +13 -13
  2480. data/third_party/boringssl-with-bazel/src/include/openssl/posix_time.h +13 -13
  2481. data/third_party/boringssl-with-bazel/src/include/openssl/rand.h +13 -13
  2482. data/third_party/boringssl-with-bazel/src/include/openssl/rc4.h +13 -55
  2483. data/third_party/boringssl-with-bazel/src/include/openssl/ripemd.h +13 -55
  2484. data/third_party/boringssl-with-bazel/src/include/openssl/rsa.h +23 -63
  2485. data/third_party/boringssl-with-bazel/src/include/openssl/safestack.h +13 -13
  2486. data/third_party/boringssl-with-bazel/src/include/openssl/service_indicator.h +15 -15
  2487. data/third_party/boringssl-with-bazel/src/include/openssl/sha.h +15 -95
  2488. data/third_party/boringssl-with-bazel/src/include/openssl/siphash.h +13 -13
  2489. data/third_party/boringssl-with-bazel/src/include/openssl/slhdsa.h +174 -0
  2490. data/third_party/boringssl-with-bazel/src/include/openssl/span.h +42 -28
  2491. data/third_party/boringssl-with-bazel/src/include/openssl/srtp.h +13 -13
  2492. data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +382 -284
  2493. data/third_party/boringssl-with-bazel/src/include/openssl/ssl3.h +15 -114
  2494. data/third_party/boringssl-with-bazel/src/include/openssl/stack.h +13 -55
  2495. data/third_party/boringssl-with-bazel/src/include/openssl/target.h +23 -13
  2496. data/third_party/boringssl-with-bazel/src/include/openssl/thread.h +15 -57
  2497. data/third_party/boringssl-with-bazel/src/include/openssl/time.h +13 -13
  2498. data/third_party/boringssl-with-bazel/src/include/openssl/tls1.h +27 -156
  2499. data/third_party/boringssl-with-bazel/src/include/openssl/trust_token.h +15 -15
  2500. data/third_party/boringssl-with-bazel/src/include/openssl/type_check.h +13 -55
  2501. data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +14 -61
  2502. data/third_party/boringssl-with-bazel/src/include/openssl/x509_vfy.h +13 -13
  2503. data/third_party/boringssl-with-bazel/src/include/openssl/x509v3.h +13 -13
  2504. data/third_party/boringssl-with-bazel/src/include/openssl/x509v3_errors.h +13 -53
  2505. data/third_party/boringssl-with-bazel/src/ssl/bio_ssl.cc +15 -14
  2506. data/third_party/boringssl-with-bazel/src/ssl/d1_both.cc +684 -439
  2507. data/third_party/boringssl-with-bazel/src/ssl/d1_lib.cc +129 -168
  2508. data/third_party/boringssl-with-bazel/src/ssl/d1_pkt.cc +176 -126
  2509. data/third_party/boringssl-with-bazel/src/ssl/d1_srtp.cc +21 -127
  2510. data/third_party/boringssl-with-bazel/src/ssl/dtls_method.cc +112 -97
  2511. data/third_party/boringssl-with-bazel/src/ssl/dtls_record.cc +454 -221
  2512. data/third_party/boringssl-with-bazel/src/ssl/encrypted_client_hello.cc +54 -47
  2513. data/third_party/boringssl-with-bazel/src/ssl/extensions.cc +679 -475
  2514. data/third_party/boringssl-with-bazel/src/ssl/handoff.cc +66 -73
  2515. data/third_party/boringssl-with-bazel/src/ssl/handshake.cc +61 -153
  2516. data/third_party/boringssl-with-bazel/src/ssl/handshake_client.cc +232 -334
  2517. data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +102 -215
  2518. data/third_party/boringssl-with-bazel/src/ssl/internal.h +993 -482
  2519. data/third_party/boringssl-with-bazel/src/ssl/s3_both.cc +87 -169
  2520. data/third_party/boringssl-with-bazel/src/ssl/s3_lib.cc +29 -159
  2521. data/third_party/boringssl-with-bazel/src/ssl/s3_pkt.cc +39 -113
  2522. data/third_party/boringssl-with-bazel/src/ssl/ssl_aead_ctx.cc +103 -111
  2523. data/third_party/boringssl-with-bazel/src/ssl/ssl_asn1.cc +52 -145
  2524. data/third_party/boringssl-with-bazel/src/ssl/ssl_buffer.cc +22 -24
  2525. data/third_party/boringssl-with-bazel/src/ssl/ssl_cert.cc +117 -157
  2526. data/third_party/boringssl-with-bazel/src/ssl/ssl_cipher.cc +229 -365
  2527. data/third_party/boringssl-with-bazel/src/ssl/ssl_credential.cc +216 -31
  2528. data/third_party/boringssl-with-bazel/src/ssl/ssl_file.cc +13 -109
  2529. data/third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc +127 -32
  2530. data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +209 -336
  2531. data/third_party/boringssl-with-bazel/src/ssl/ssl_privkey.cc +38 -83
  2532. data/third_party/boringssl-with-bazel/src/ssl/ssl_session.cc +101 -236
  2533. data/third_party/boringssl-with-bazel/src/ssl/ssl_stat.cc +17 -91
  2534. data/third_party/boringssl-with-bazel/src/ssl/ssl_transcript.cc +109 -157
  2535. data/third_party/boringssl-with-bazel/src/ssl/ssl_versions.cc +47 -27
  2536. data/third_party/boringssl-with-bazel/src/ssl/ssl_x509.cc +66 -195
  2537. data/third_party/boringssl-with-bazel/src/ssl/t1_enc.cc +45 -176
  2538. data/third_party/boringssl-with-bazel/src/ssl/tls13_both.cc +58 -42
  2539. data/third_party/boringssl-with-bazel/src/ssl/tls13_client.cc +152 -86
  2540. data/third_party/boringssl-with-bazel/src/ssl/tls13_enc.cc +296 -163
  2541. data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +247 -108
  2542. data/third_party/boringssl-with-bazel/src/ssl/tls_method.cc +64 -117
  2543. data/third_party/boringssl-with-bazel/src/ssl/tls_record.cc +55 -157
  2544. data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_32.h +6 -0
  2545. data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_64.h +6 -0
  2546. data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_64_adx.h +4 -1
  2547. data/third_party/boringssl-with-bazel/src/third_party/fiat/p256_32.h +1 -1
  2548. data/third_party/boringssl-with-bazel/src/third_party/fiat/p256_64.h +3 -0
  2549. data/third_party/upb/upb/json/decode.c +59 -13
  2550. data/third_party/upb/upb/json/decode.h +26 -3
  2551. data/third_party/upb/upb/json/encode.c +2 -2
  2552. data/third_party/upb/upb/lex/round_trip.c +10 -0
  2553. data/third_party/upb/upb/mem/arena.c +13 -2
  2554. data/third_party/upb/upb/mem/arena.h +9 -0
  2555. data/third_party/upb/upb/mem/arena.hpp +5 -1
  2556. data/third_party/upb/upb/message/accessors.c +2 -4
  2557. data/third_party/upb/upb/message/accessors.h +178 -379
  2558. data/third_party/upb/upb/message/copy.c +11 -7
  2559. data/third_party/upb/upb/message/internal/accessors.h +578 -26
  2560. data/third_party/upb/upb/message/internal/extension.c +1 -0
  2561. data/third_party/upb/upb/message/internal/message.c +13 -14
  2562. data/third_party/upb/upb/message/internal/message.h +8 -7
  2563. data/third_party/upb/upb/message/merge.c +38 -0
  2564. data/third_party/upb/upb/message/merge.h +26 -0
  2565. data/third_party/upb/upb/message/message.h +6 -10
  2566. data/third_party/upb/upb/message/value.h +26 -0
  2567. data/third_party/upb/upb/mini_descriptor/decode.c +7 -2
  2568. data/third_party/upb/upb/mini_descriptor/link.c +7 -3
  2569. data/third_party/upb/upb/mini_table/extension_registry.c +18 -0
  2570. data/third_party/upb/upb/mini_table/extension_registry.h +17 -0
  2571. data/third_party/upb/upb/mini_table/internal/extension.h +9 -0
  2572. data/third_party/upb/upb/mini_table/internal/message.c +21 -1
  2573. data/third_party/upb/upb/mini_table/internal/message.h +40 -20
  2574. data/third_party/upb/upb/mini_table/internal/sub.h +5 -0
  2575. data/third_party/upb/upb/mini_table/message.h +11 -1
  2576. data/third_party/upb/upb/port/def.inc +99 -9
  2577. data/third_party/upb/upb/port/undef.inc +7 -0
  2578. data/third_party/upb/upb/reflection/common.h +1 -11
  2579. data/third_party/upb/upb/reflection/def.hpp +8 -0
  2580. data/third_party/upb/upb/reflection/descriptor_bootstrap.h +19 -0
  2581. data/third_party/upb/upb/reflection/field_def.c +11 -22
  2582. data/third_party/upb/upb/reflection/field_def.h +1 -0
  2583. data/third_party/upb/upb/reflection/internal/upb_edition_defaults.h +1 -1
  2584. data/third_party/upb/upb/reflection/message.c +8 -3
  2585. data/third_party/upb/upb/reflection/message.h +2 -2
  2586. data/third_party/upb/upb/text/encode.c +51 -394
  2587. data/third_party/upb/upb/text/encode.h +1 -11
  2588. data/third_party/upb/upb/text/internal/encode.c +180 -0
  2589. data/third_party/upb/upb/text/internal/encode.h +240 -0
  2590. data/third_party/upb/upb/text/options.h +22 -0
  2591. data/third_party/upb/upb/wire/decode.c +71 -39
  2592. data/third_party/upb/upb/wire/decode.h +4 -1
  2593. data/third_party/upb/upb/wire/encode.c +41 -18
  2594. data/third_party/upb/upb/wire/encode.h +3 -0
  2595. data/third_party/upb/upb/wire/internal/decode_fast.c +3 -0
  2596. metadata +525 -460
  2597. data/src/core/ext/transport/chttp2/transport/max_concurrent_streams_policy.cc +0 -45
  2598. data/src/core/ext/transport/chttp2/transport/max_concurrent_streams_policy.h +0 -67
  2599. data/src/core/ext/upb-gen/envoy/config/trace/v3/opencensus.upb.h +0 -419
  2600. data/src/core/ext/upb-gen/envoy/config/trace/v3/opencensus.upb_minitable.c +0 -84
  2601. data/src/core/ext/upb-gen/envoy/config/trace/v3/opencensus.upb_minitable.h +0 -30
  2602. data/src/core/ext/upb-gen/opencensus/proto/trace/v1/trace_config.upb.h +0 -400
  2603. data/src/core/ext/upb-gen/opencensus/proto/trace/v1/trace_config.upb_minitable.c +0 -118
  2604. data/src/core/ext/upb-gen/opencensus/proto/trace/v1/trace_config.upb_minitable.h +0 -33
  2605. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/opencensus.upbdefs.c +0 -107
  2606. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/opencensus.upbdefs.h +0 -32
  2607. data/src/core/ext/upbdefs-gen/opencensus/proto/trace/v1/trace_config.upbdefs.c +0 -66
  2608. data/src/core/ext/upbdefs-gen/opencensus/proto/trace/v1/trace_config.upbdefs.h +0 -47
  2609. data/src/core/lib/avl/avl.h +0 -325
  2610. data/src/core/lib/backoff/backoff.cc +0 -47
  2611. data/src/core/lib/backoff/backoff.h +0 -89
  2612. data/src/core/lib/backoff/random_early_detection.cc +0 -33
  2613. data/src/core/lib/backoff/random_early_detection.h +0 -62
  2614. data/src/core/lib/config/config_vars.cc +0 -142
  2615. data/src/core/lib/config/config_vars.h +0 -121
  2616. data/src/core/lib/config/config_vars_non_generated.cc +0 -49
  2617. data/src/core/lib/config/core_configuration.cc +0 -112
  2618. data/src/core/lib/config/core_configuration.h +0 -244
  2619. data/src/core/lib/config/load_config.cc +0 -79
  2620. data/src/core/lib/config/load_config.h +0 -55
  2621. data/src/core/lib/debug/event_log.cc +0 -88
  2622. data/src/core/lib/debug/event_log.h +0 -81
  2623. data/src/core/lib/gprpp/atomic_utils.h +0 -47
  2624. data/src/core/lib/gprpp/bitset.h +0 -225
  2625. data/src/core/lib/gprpp/chunked_vector.h +0 -258
  2626. data/src/core/lib/gprpp/construct_destruct.h +0 -40
  2627. data/src/core/lib/gprpp/cpp_impl_of.h +0 -49
  2628. data/src/core/lib/gprpp/crash.cc +0 -41
  2629. data/src/core/lib/gprpp/crash.h +0 -37
  2630. data/src/core/lib/gprpp/debug_location.h +0 -106
  2631. data/src/core/lib/gprpp/directory_reader.h +0 -48
  2632. data/src/core/lib/gprpp/down_cast.h +0 -49
  2633. data/src/core/lib/gprpp/dual_ref_counted.h +0 -377
  2634. data/src/core/lib/gprpp/dump_args.cc +0 -54
  2635. data/src/core/lib/gprpp/dump_args.h +0 -117
  2636. data/src/core/lib/gprpp/env.h +0 -53
  2637. data/src/core/lib/gprpp/examine_stack.cc +0 -43
  2638. data/src/core/lib/gprpp/examine_stack.h +0 -45
  2639. data/src/core/lib/gprpp/fork.cc +0 -241
  2640. data/src/core/lib/gprpp/fork.h +0 -98
  2641. data/src/core/lib/gprpp/glob.h +0 -29
  2642. data/src/core/lib/gprpp/host_port.cc +0 -116
  2643. data/src/core/lib/gprpp/host_port.h +0 -57
  2644. data/src/core/lib/gprpp/if_list.h +0 -4530
  2645. data/src/core/lib/gprpp/linux/env.cc +0 -62
  2646. data/src/core/lib/gprpp/load_file.cc +0 -77
  2647. data/src/core/lib/gprpp/load_file.h +0 -34
  2648. data/src/core/lib/gprpp/manual_constructor.h +0 -146
  2649. data/src/core/lib/gprpp/match.h +0 -75
  2650. data/src/core/lib/gprpp/memory.h +0 -52
  2651. data/src/core/lib/gprpp/mpscq.cc +0 -108
  2652. data/src/core/lib/gprpp/mpscq.h +0 -100
  2653. data/src/core/lib/gprpp/no_destruct.h +0 -95
  2654. data/src/core/lib/gprpp/notification.h +0 -67
  2655. data/src/core/lib/gprpp/orphanable.h +0 -153
  2656. data/src/core/lib/gprpp/overload.h +0 -59
  2657. data/src/core/lib/gprpp/packed_table.h +0 -40
  2658. data/src/core/lib/gprpp/per_cpu.cc +0 -34
  2659. data/src/core/lib/gprpp/per_cpu.h +0 -103
  2660. data/src/core/lib/gprpp/posix/directory_reader.cc +0 -82
  2661. data/src/core/lib/gprpp/posix/env.cc +0 -47
  2662. data/src/core/lib/gprpp/posix/stat.cc +0 -55
  2663. data/src/core/lib/gprpp/posix/thd.cc +0 -246
  2664. data/src/core/lib/gprpp/ref_counted.h +0 -403
  2665. data/src/core/lib/gprpp/ref_counted_ptr.h +0 -445
  2666. data/src/core/lib/gprpp/ref_counted_string.cc +0 -43
  2667. data/src/core/lib/gprpp/ref_counted_string.h +0 -161
  2668. data/src/core/lib/gprpp/single_set_ptr.h +0 -90
  2669. data/src/core/lib/gprpp/sorted_pack.h +0 -89
  2670. data/src/core/lib/gprpp/stat.h +0 -36
  2671. data/src/core/lib/gprpp/status_helper.cc +0 -434
  2672. data/src/core/lib/gprpp/status_helper.h +0 -162
  2673. data/src/core/lib/gprpp/strerror.cc +0 -41
  2674. data/src/core/lib/gprpp/strerror.h +0 -29
  2675. data/src/core/lib/gprpp/sync.h +0 -200
  2676. data/src/core/lib/gprpp/table.h +0 -460
  2677. data/src/core/lib/gprpp/tchar.cc +0 -49
  2678. data/src/core/lib/gprpp/tchar.h +0 -33
  2679. data/src/core/lib/gprpp/thd.h +0 -195
  2680. data/src/core/lib/gprpp/time.cc +0 -241
  2681. data/src/core/lib/gprpp/time.h +0 -380
  2682. data/src/core/lib/gprpp/time_averaged_stats.cc +0 -60
  2683. data/src/core/lib/gprpp/time_averaged_stats.h +0 -79
  2684. data/src/core/lib/gprpp/time_util.cc +0 -82
  2685. data/src/core/lib/gprpp/time_util.h +0 -41
  2686. data/src/core/lib/gprpp/type_list.h +0 -32
  2687. data/src/core/lib/gprpp/unique_type_name.h +0 -124
  2688. data/src/core/lib/gprpp/uuid_v4.cc +0 -37
  2689. data/src/core/lib/gprpp/uuid_v4.h +0 -36
  2690. data/src/core/lib/gprpp/validation_errors.cc +0 -74
  2691. data/src/core/lib/gprpp/validation_errors.h +0 -145
  2692. data/src/core/lib/gprpp/windows/directory_reader.cc +0 -81
  2693. data/src/core/lib/gprpp/windows/env.cc +0 -56
  2694. data/src/core/lib/gprpp/windows/stat.cc +0 -51
  2695. data/src/core/lib/gprpp/windows/thd.cc +0 -185
  2696. data/src/core/lib/gprpp/work_serializer.cc +0 -554
  2697. data/src/core/lib/gprpp/work_serializer.h +0 -106
  2698. data/src/core/lib/gprpp/xxhash_inline.h +0 -29
  2699. data/src/core/lib/iomgr/gethostname.h +0 -26
  2700. data/src/core/lib/iomgr/gethostname_fallback.cc +0 -30
  2701. data/src/core/lib/iomgr/gethostname_host_name_max.cc +0 -40
  2702. data/src/core/lib/iomgr/gethostname_sysconf.cc +0 -40
  2703. data/src/core/lib/iomgr/grpc_if_nametoindex.h +0 -30
  2704. data/src/core/lib/iomgr/grpc_if_nametoindex_posix.cc +0 -42
  2705. data/src/core/lib/iomgr/grpc_if_nametoindex_unsupported.cc +0 -37
  2706. data/src/core/lib/matchers/matchers.cc +0 -330
  2707. data/src/core/lib/matchers/matchers.h +0 -163
  2708. data/src/core/lib/uri/uri_parser.cc +0 -372
  2709. data/src/core/lib/uri/uri_parser.h +0 -101
  2710. data/src/core/resolver/binder/binder_resolver.cc +0 -155
  2711. data/src/core/util/android/log.cc +0 -48
  2712. data/src/core/util/atm.cc +0 -35
  2713. data/src/core/util/linux/log.cc +0 -69
  2714. data/src/core/util/posix/log.cc +0 -69
  2715. data/src/core/util/windows/log.cc +0 -73
  2716. data/src/core/xds/xds_client/xds_client_stats.cc +0 -171
  2717. data/src/core/xds/xds_client/xds_client_stats.h +0 -258
  2718. data/third_party/abseil-cpp/absl/strings/internal/has_absl_stringify.h +0 -44
  2719. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bitstr.c +0 -284
  2720. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bool.c +0 -95
  2721. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_d2i_fp.c +0 -89
  2722. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_dup.c +0 -84
  2723. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_gentm.c +0 -151
  2724. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_i2d_fp.c +0 -85
  2725. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_int.c +0 -465
  2726. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_mbstr.c +0 -279
  2727. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_object.c +0 -235
  2728. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_octet.c +0 -74
  2729. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_strex.c +0 -457
  2730. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_strnid.c +0 -245
  2731. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_time.c +0 -259
  2732. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_type.c +0 -214
  2733. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_utctm.c +0 -183
  2734. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_lib.c +0 -397
  2735. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_par.c +0 -103
  2736. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn_pack.c +0 -98
  2737. data/third_party/boringssl-with-bazel/src/crypto/asn1/f_int.c +0 -105
  2738. data/third_party/boringssl-with-bazel/src/crypto/asn1/f_string.c +0 -94
  2739. data/third_party/boringssl-with-bazel/src/crypto/asn1/posix_time.c +0 -241
  2740. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_dec.c +0 -973
  2741. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_enc.c +0 -708
  2742. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_fre.c +0 -212
  2743. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_new.c +0 -317
  2744. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_typ.c +0 -126
  2745. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_utl.c +0 -268
  2746. data/third_party/boringssl-with-bazel/src/crypto/base64/base64.c +0 -479
  2747. data/third_party/boringssl-with-bazel/src/crypto/bio/bio.c +0 -726
  2748. data/third_party/boringssl-with-bazel/src/crypto/bio/bio_mem.c +0 -309
  2749. data/third_party/boringssl-with-bazel/src/crypto/bio/connect.c +0 -544
  2750. data/third_party/boringssl-with-bazel/src/crypto/bio/errno.c +0 -92
  2751. data/third_party/boringssl-with-bazel/src/crypto/bio/fd.c +0 -235
  2752. data/third_party/boringssl-with-bazel/src/crypto/bio/file.c +0 -334
  2753. data/third_party/boringssl-with-bazel/src/crypto/bio/hexdump.c +0 -192
  2754. data/third_party/boringssl-with-bazel/src/crypto/bio/pair.c +0 -480
  2755. data/third_party/boringssl-with-bazel/src/crypto/bio/printf.c +0 -102
  2756. data/third_party/boringssl-with-bazel/src/crypto/bio/socket.c +0 -189
  2757. data/third_party/boringssl-with-bazel/src/crypto/bio/socket_helper.c +0 -133
  2758. data/third_party/boringssl-with-bazel/src/crypto/blake2/blake2.c +0 -169
  2759. data/third_party/boringssl-with-bazel/src/crypto/bn_extra/bn_asn1.c +0 -57
  2760. data/third_party/boringssl-with-bazel/src/crypto/bn_extra/convert.c +0 -465
  2761. data/third_party/boringssl-with-bazel/src/crypto/buf/buf.c +0 -158
  2762. data/third_party/boringssl-with-bazel/src/crypto/bytestring/asn1_compat.c +0 -53
  2763. data/third_party/boringssl-with-bazel/src/crypto/bytestring/ber.c +0 -266
  2764. data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbb.c +0 -718
  2765. data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbs.c +0 -911
  2766. data/third_party/boringssl-with-bazel/src/crypto/bytestring/unicode.c +0 -156
  2767. data/third_party/boringssl-with-bazel/src/crypto/chacha/chacha.c +0 -224
  2768. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/cipher_extra.c +0 -127
  2769. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/derive_key.c +0 -152
  2770. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_aesctrhmac.c +0 -284
  2771. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_aesgcmsiv.c +0 -841
  2772. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_chacha20poly1305.c +0 -348
  2773. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_des.c +0 -228
  2774. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_null.c +0 -90
  2775. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_rc2.c +0 -455
  2776. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_rc4.c +0 -94
  2777. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_tls.c +0 -598
  2778. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/internal.h +0 -237
  2779. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/tls_cbc.c +0 -514
  2780. data/third_party/boringssl-with-bazel/src/crypto/conf/conf.c +0 -672
  2781. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_apple.c +0 -75
  2782. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_fuchsia.c +0 -55
  2783. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_linux.c +0 -62
  2784. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_openbsd.c +0 -61
  2785. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_sysreg.c +0 -93
  2786. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_win.c +0 -41
  2787. data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_freebsd.c +0 -54
  2788. data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_linux.c +0 -151
  2789. data/third_party/boringssl-with-bazel/src/crypto/cpu_intel.c +0 -277
  2790. data/third_party/boringssl-with-bazel/src/crypto/crypto.c +0 -188
  2791. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519.c +0 -2157
  2792. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519_64_adx.c +0 -18
  2793. data/third_party/boringssl-with-bazel/src/crypto/curve25519/spake25519.c +0 -523
  2794. data/third_party/boringssl-with-bazel/src/crypto/des/des.c +0 -871
  2795. data/third_party/boringssl-with-bazel/src/crypto/dh_extra/dh_asn1.c +0 -165
  2796. data/third_party/boringssl-with-bazel/src/crypto/dh_extra/params.c +0 -480
  2797. data/third_party/boringssl-with-bazel/src/crypto/digest_extra/digest_extra.c +0 -266
  2798. data/third_party/boringssl-with-bazel/src/crypto/dilithium/dilithium.c +0 -1539
  2799. data/third_party/boringssl-with-bazel/src/crypto/dilithium/internal.h +0 -58
  2800. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa.c +0 -997
  2801. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa_asn1.c +0 -419
  2802. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/ec_asn1.c +0 -572
  2803. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/ec_derive.c +0 -96
  2804. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/hash_to_curve.c +0 -508
  2805. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/internal.h +0 -78
  2806. data/third_party/boringssl-with-bazel/src/crypto/ecdh_extra/ecdh_extra.c +0 -124
  2807. data/third_party/boringssl-with-bazel/src/crypto/ecdsa_extra/ecdsa_asn1.c +0 -265
  2808. data/third_party/boringssl-with-bazel/src/crypto/engine/engine.c +0 -91
  2809. data/third_party/boringssl-with-bazel/src/crypto/err/err.c +0 -903
  2810. data/third_party/boringssl-with-bazel/src/crypto/evp/evp.c +0 -430
  2811. data/third_party/boringssl-with-bazel/src/crypto/evp/evp_asn1.c +0 -547
  2812. data/third_party/boringssl-with-bazel/src/crypto/evp/evp_ctx.c +0 -483
  2813. data/third_party/boringssl-with-bazel/src/crypto/evp/p_dh.c +0 -137
  2814. data/third_party/boringssl-with-bazel/src/crypto/evp/p_dh_asn1.c +0 -120
  2815. data/third_party/boringssl-with-bazel/src/crypto/evp/p_dsa_asn1.c +0 -338
  2816. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec.c +0 -274
  2817. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec_asn1.c +0 -332
  2818. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519.c +0 -100
  2819. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519_asn1.c +0 -224
  2820. data/third_party/boringssl-with-bazel/src/crypto/evp/p_hkdf.c +0 -232
  2821. data/third_party/boringssl-with-bazel/src/crypto/evp/p_rsa.c +0 -646
  2822. data/third_party/boringssl-with-bazel/src/crypto/evp/p_rsa_asn1.c +0 -241
  2823. data/third_party/boringssl-with-bazel/src/crypto/evp/p_x25519.c +0 -106
  2824. data/third_party/boringssl-with-bazel/src/crypto/evp/p_x25519_asn1.c +0 -236
  2825. data/third_party/boringssl-with-bazel/src/crypto/evp/pbkdf.c +0 -146
  2826. data/third_party/boringssl-with-bazel/src/crypto/evp/print.c +0 -381
  2827. data/third_party/boringssl-with-bazel/src/crypto/evp/scrypt.c +0 -209
  2828. data/third_party/boringssl-with-bazel/src/crypto/evp/sign.c +0 -156
  2829. data/third_party/boringssl-with-bazel/src/crypto/ex_data.c +0 -236
  2830. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/aes.c +0 -127
  2831. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/aes_nohw.c +0 -1281
  2832. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/key_wrap.c +0 -242
  2833. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/mode_wrappers.c +0 -124
  2834. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.c +0 -278
  2835. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/add.c +0 -310
  2836. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/asm/x86_64-gcc.c +0 -541
  2837. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/bn.c +0 -428
  2838. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/bytes.c +0 -267
  2839. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/cmp.c +0 -201
  2840. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/ctx.c +0 -234
  2841. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div.c +0 -909
  2842. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div_extra.c +0 -87
  2843. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/exponentiation.c +0 -1320
  2844. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd.c +0 -397
  2845. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd_extra.c +0 -331
  2846. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/generic.c +0 -624
  2847. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/jacobi.c +0 -146
  2848. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery.c +0 -532
  2849. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery_inv.c +0 -222
  2850. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/mul.c +0 -744
  2851. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/prime.c +0 -1077
  2852. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/random.c +0 -356
  2853. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/rsaz_exp.c +0 -137
  2854. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/shift.c +0 -363
  2855. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/sqrt.c +0 -499
  2856. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/aead.c +0 -287
  2857. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/cipher.c +0 -717
  2858. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_aes.c +0 -1463
  2859. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_aesccm.c +0 -446
  2860. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cmac/cmac.c +0 -322
  2861. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/check.c +0 -245
  2862. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/dh.c +0 -489
  2863. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digest.c +0 -288
  2864. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digests.c +0 -304
  2865. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digestsign/digestsign.c +0 -267
  2866. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec.c +0 -1043
  2867. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_key.c +0 -557
  2868. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_montgomery.c +0 -491
  2869. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/felem.c +0 -104
  2870. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/oct.c +0 -359
  2871. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p224-64.c +0 -1163
  2872. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-nistz.c +0 -642
  2873. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256.c +0 -749
  2874. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/scalar.c +0 -173
  2875. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple.c +0 -336
  2876. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple_mul.c +0 -269
  2877. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/util.c +0 -255
  2878. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/wnaf.c +0 -264
  2879. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdh/ecdh.c +0 -130
  2880. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/ecdsa.c +0 -372
  2881. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/fips_shared_support.c +0 -29
  2882. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/hkdf/hkdf.c +0 -112
  2883. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/hmac/hmac.c +0 -256
  2884. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md4/md4.c +0 -240
  2885. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md5/internal.h +0 -37
  2886. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md5/md5.c +0 -284
  2887. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/cbc.c +0 -164
  2888. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/cfb.c +0 -200
  2889. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ctr.c +0 -196
  2890. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/gcm.c +0 -743
  2891. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/gcm_nohw.c +0 -302
  2892. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/internal.h +0 -428
  2893. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ofb.c +0 -87
  2894. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/polyval.c +0 -90
  2895. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/ctrdrbg.c +0 -220
  2896. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/fork_detect.c +0 -197
  2897. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/fork_detect.h +0 -68
  2898. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/getrandom_fillin.h +0 -64
  2899. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/rand.c +0 -493
  2900. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/urandom.c +0 -328
  2901. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/blinding.c +0 -241
  2902. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/padding.c +0 -423
  2903. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa.c +0 -1038
  2904. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa_impl.c +0 -1351
  2905. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/fips.c +0 -121
  2906. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/self_check.c +0 -1064
  2907. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/service_indicator/service_indicator.c +0 -328
  2908. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha1.c +0 -439
  2909. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha256.c +0 -359
  2910. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha512.c +0 -543
  2911. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/kdf.c +0 -218
  2912. data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c +0 -801
  2913. data/third_party/boringssl-with-bazel/src/crypto/hrss/hrss.c +0 -2234
  2914. data/third_party/boringssl-with-bazel/src/crypto/keccak/internal.h +0 -70
  2915. data/third_party/boringssl-with-bazel/src/crypto/keccak/keccak.c +0 -279
  2916. data/third_party/boringssl-with-bazel/src/crypto/kyber/kyber.c +0 -845
  2917. data/third_party/boringssl-with-bazel/src/crypto/lhash/lhash.c +0 -350
  2918. data/third_party/boringssl-with-bazel/src/crypto/mem.c +0 -609
  2919. data/third_party/boringssl-with-bazel/src/crypto/obj/obj.c +0 -564
  2920. data/third_party/boringssl-with-bazel/src/crypto/obj/obj_xref.c +0 -122
  2921. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_all.c +0 -243
  2922. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_info.c +0 -294
  2923. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_lib.c +0 -790
  2924. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_oth.c +0 -87
  2925. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pk8.c +0 -251
  2926. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pkey.c +0 -183
  2927. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_x509.c +0 -64
  2928. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_xaux.c +0 -64
  2929. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7.c +0 -193
  2930. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7_x509.c +0 -523
  2931. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/p5_pbev2.c +0 -316
  2932. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8.c +0 -527
  2933. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8_x509.c +0 -1352
  2934. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305.c +0 -314
  2935. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_arm.c +0 -308
  2936. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_vec.c +0 -847
  2937. data/third_party/boringssl-with-bazel/src/crypto/pool/pool.c +0 -261
  2938. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/deterministic.c +0 -57
  2939. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/forkunsafe.c +0 -44
  2940. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/getentropy.c +0 -52
  2941. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/ios.c +0 -34
  2942. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/passive.c +0 -158
  2943. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/rand_extra.c +0 -74
  2944. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/trusty.c +0 -38
  2945. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/windows.c +0 -95
  2946. data/third_party/boringssl-with-bazel/src/crypto/rc4/rc4.c +0 -98
  2947. data/third_party/boringssl-with-bazel/src/crypto/refcount.c +0 -59
  2948. data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/internal.h +0 -77
  2949. data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_asn1.c +0 -324
  2950. data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_crypt.c +0 -570
  2951. data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_print.c +0 -22
  2952. data/third_party/boringssl-with-bazel/src/crypto/siphash/siphash.c +0 -79
  2953. data/third_party/boringssl-with-bazel/src/crypto/spx/address.c +0 -101
  2954. data/third_party/boringssl-with-bazel/src/crypto/spx/address.h +0 -50
  2955. data/third_party/boringssl-with-bazel/src/crypto/spx/fors.c +0 -133
  2956. data/third_party/boringssl-with-bazel/src/crypto/spx/fors.h +0 -54
  2957. data/third_party/boringssl-with-bazel/src/crypto/spx/merkle.c +0 -150
  2958. data/third_party/boringssl-with-bazel/src/crypto/spx/merkle.h +0 -61
  2959. data/third_party/boringssl-with-bazel/src/crypto/spx/params.h +0 -71
  2960. data/third_party/boringssl-with-bazel/src/crypto/spx/spx.c +0 -140
  2961. data/third_party/boringssl-with-bazel/src/crypto/spx/spx_util.c +0 -53
  2962. data/third_party/boringssl-with-bazel/src/crypto/spx/spx_util.h +0 -44
  2963. data/third_party/boringssl-with-bazel/src/crypto/spx/thash.c +0 -136
  2964. data/third_party/boringssl-with-bazel/src/crypto/spx/thash.h +0 -70
  2965. data/third_party/boringssl-with-bazel/src/crypto/spx/wots.c +0 -135
  2966. data/third_party/boringssl-with-bazel/src/crypto/spx/wots.h +0 -45
  2967. data/third_party/boringssl-with-bazel/src/crypto/stack/stack.c +0 -534
  2968. data/third_party/boringssl-with-bazel/src/crypto/thread.c +0 -110
  2969. data/third_party/boringssl-with-bazel/src/crypto/thread_none.c +0 -51
  2970. data/third_party/boringssl-with-bazel/src/crypto/thread_pthread.c +0 -150
  2971. data/third_party/boringssl-with-bazel/src/crypto/thread_win.c +0 -236
  2972. data/third_party/boringssl-with-bazel/src/crypto/trust_token/pmbtoken.c +0 -1668
  2973. data/third_party/boringssl-with-bazel/src/crypto/trust_token/trust_token.c +0 -687
  2974. data/third_party/boringssl-with-bazel/src/crypto/trust_token/voprf.c +0 -1267
  2975. data/third_party/boringssl-with-bazel/src/crypto/x509/a_digest.c +0 -94
  2976. data/third_party/boringssl-with-bazel/src/crypto/x509/a_sign.c +0 -136
  2977. data/third_party/boringssl-with-bazel/src/crypto/x509/a_verify.c +0 -116
  2978. data/third_party/boringssl-with-bazel/src/crypto/x509/algorithm.c +0 -178
  2979. data/third_party/boringssl-with-bazel/src/crypto/x509/asn1_gen.c +0 -585
  2980. data/third_party/boringssl-with-bazel/src/crypto/x509/by_dir.c +0 -400
  2981. data/third_party/boringssl-with-bazel/src/crypto/x509/by_file.c +0 -269
  2982. data/third_party/boringssl-with-bazel/src/crypto/x509/i2d_pr.c +0 -79
  2983. data/third_party/boringssl-with-bazel/src/crypto/x509/name_print.c +0 -227
  2984. data/third_party/boringssl-with-bazel/src/crypto/x509/policy.c +0 -786
  2985. data/third_party/boringssl-with-bazel/src/crypto/x509/rsa_pss.c +0 -401
  2986. data/third_party/boringssl-with-bazel/src/crypto/x509/t_crl.c +0 -145
  2987. data/third_party/boringssl-with-bazel/src/crypto/x509/t_req.c +0 -245
  2988. data/third_party/boringssl-with-bazel/src/crypto/x509/t_x509.c +0 -329
  2989. data/third_party/boringssl-with-bazel/src/crypto/x509/t_x509a.c +0 -121
  2990. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_akey.c +0 -221
  2991. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_akeya.c +0 -73
  2992. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_alt.c +0 -634
  2993. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_bcons.c +0 -135
  2994. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_bitst.c +0 -141
  2995. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_conf.c +0 -416
  2996. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_cpols.c +0 -482
  2997. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_crld.c +0 -598
  2998. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_enum.c +0 -112
  2999. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_extku.c +0 -154
  3000. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_genn.c +0 -270
  3001. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_ia5.c +0 -122
  3002. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_info.c +0 -211
  3003. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_int.c +0 -121
  3004. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_lib.c +0 -344
  3005. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_ncons.c +0 -555
  3006. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_ocsp.c +0 -81
  3007. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_pcons.c +0 -142
  3008. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_pmaps.c +0 -150
  3009. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_prn.c +0 -224
  3010. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_purp.c +0 -624
  3011. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_skey.c +0 -170
  3012. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_utl.c +0 -1390
  3013. data/third_party/boringssl-with-bazel/src/crypto/x509/x509.c +0 -89
  3014. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_att.c +0 -227
  3015. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_cmp.c +0 -280
  3016. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_d2.c +0 -108
  3017. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_def.c +0 -86
  3018. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_ext.c +0 -181
  3019. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_lu.c +0 -599
  3020. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_obj.c +0 -206
  3021. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_req.c +0 -299
  3022. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_set.c +0 -240
  3023. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_trs.c +0 -160
  3024. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_txt.c +0 -189
  3025. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_v3.c +0 -291
  3026. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c +0 -1638
  3027. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vpm.c +0 -440
  3028. data/third_party/boringssl-with-bazel/src/crypto/x509/x509cset.c +0 -277
  3029. data/third_party/boringssl-with-bazel/src/crypto/x509/x509name.c +0 -407
  3030. data/third_party/boringssl-with-bazel/src/crypto/x509/x509rset.c +0 -109
  3031. data/third_party/boringssl-with-bazel/src/crypto/x509/x509spki.c +0 -133
  3032. data/third_party/boringssl-with-bazel/src/crypto/x509/x_algor.c +0 -149
  3033. data/third_party/boringssl-with-bazel/src/crypto/x509/x_all.c +0 -356
  3034. data/third_party/boringssl-with-bazel/src/crypto/x509/x_attrib.c +0 -97
  3035. data/third_party/boringssl-with-bazel/src/crypto/x509/x_crl.c +0 -384
  3036. data/third_party/boringssl-with-bazel/src/crypto/x509/x_exten.c +0 -78
  3037. data/third_party/boringssl-with-bazel/src/crypto/x509/x_name.c +0 -527
  3038. data/third_party/boringssl-with-bazel/src/crypto/x509/x_pubkey.c +0 -210
  3039. data/third_party/boringssl-with-bazel/src/crypto/x509/x_req.c +0 -116
  3040. data/third_party/boringssl-with-bazel/src/crypto/x509/x_sig.c +0 -93
  3041. data/third_party/boringssl-with-bazel/src/crypto/x509/x_spki.c +0 -79
  3042. data/third_party/boringssl-with-bazel/src/crypto/x509/x_val.c +0 -70
  3043. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509.c +0 -544
  3044. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509a.c +0 -209
  3045. data/third_party/boringssl-with-bazel/src/gen/crypto/err_data.c +0 -1514
  3046. data/third_party/boringssl-with-bazel/src/include/openssl/experimental/dilithium.h +0 -131
  3047. data/third_party/boringssl-with-bazel/src/include/openssl/experimental/spx.h +0 -90
  3048. /data/src/core/{lib/gprpp → util}/glob.cc +0 -0
@@ -0,0 +1,4530 @@
1
+ // Copyright 2023 gRPC authors.
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // http://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+
15
+ //
16
+ // Automatically generated by tools/codegen/core/gen_if_list.py
17
+ //
18
+
19
+ #ifndef GRPC_SRC_CORE_UTIL_IF_LIST_H
20
+ #define GRPC_SRC_CORE_UTIL_IF_LIST_H
21
+
22
+ #include <grpc/support/port_platform.h>
23
+
24
+ namespace grpc_core {
25
+
26
+ template <typename CheckArg, typename ActionArg, typename ActionFail,
27
+ typename Check0, typename Action0>
28
+ auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
29
+ Check0 check0, Action0 action0) {
30
+ if (check0(input)) return action0(action_arg);
31
+ return action_fail(action_arg);
32
+ }
33
+
34
+ template <typename CheckArg, typename ActionArg, typename ActionFail,
35
+ typename Check0, typename Check1, typename Action0, typename Action1>
36
+ auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
37
+ Check0 check0, Check1 check1, Action0 action0, Action1 action1) {
38
+ if (check0(input)) return action0(action_arg);
39
+ if (check1(input)) return action1(action_arg);
40
+ return action_fail(action_arg);
41
+ }
42
+
43
+ template <typename CheckArg, typename ActionArg, typename ActionFail,
44
+ typename Check0, typename Check1, typename Check2, typename Action0,
45
+ typename Action1, typename Action2>
46
+ auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
47
+ Check0 check0, Check1 check1, Check2 check2, Action0 action0,
48
+ Action1 action1, Action2 action2) {
49
+ if (check0(input)) return action0(action_arg);
50
+ if (check1(input)) return action1(action_arg);
51
+ if (check2(input)) return action2(action_arg);
52
+ return action_fail(action_arg);
53
+ }
54
+
55
+ template <typename CheckArg, typename ActionArg, typename ActionFail,
56
+ typename Check0, typename Check1, typename Check2, typename Check3,
57
+ typename Action0, typename Action1, typename Action2,
58
+ typename Action3>
59
+ auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
60
+ Check0 check0, Check1 check1, Check2 check2, Check3 check3,
61
+ Action0 action0, Action1 action1, Action2 action2,
62
+ Action3 action3) {
63
+ if (check0(input)) return action0(action_arg);
64
+ if (check1(input)) return action1(action_arg);
65
+ if (check2(input)) return action2(action_arg);
66
+ if (check3(input)) return action3(action_arg);
67
+ return action_fail(action_arg);
68
+ }
69
+
70
+ template <typename CheckArg, typename ActionArg, typename ActionFail,
71
+ typename Check0, typename Check1, typename Check2, typename Check3,
72
+ typename Check4, typename Action0, typename Action1, typename Action2,
73
+ typename Action3, typename Action4>
74
+ auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
75
+ Check0 check0, Check1 check1, Check2 check2, Check3 check3,
76
+ Check4 check4, Action0 action0, Action1 action1, Action2 action2,
77
+ Action3 action3, Action4 action4) {
78
+ if (check0(input)) return action0(action_arg);
79
+ if (check1(input)) return action1(action_arg);
80
+ if (check2(input)) return action2(action_arg);
81
+ if (check3(input)) return action3(action_arg);
82
+ if (check4(input)) return action4(action_arg);
83
+ return action_fail(action_arg);
84
+ }
85
+
86
+ template <typename CheckArg, typename ActionArg, typename ActionFail,
87
+ typename Check0, typename Check1, typename Check2, typename Check3,
88
+ typename Check4, typename Check5, typename Action0, typename Action1,
89
+ typename Action2, typename Action3, typename Action4,
90
+ typename Action5>
91
+ auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
92
+ Check0 check0, Check1 check1, Check2 check2, Check3 check3,
93
+ Check4 check4, Check5 check5, Action0 action0, Action1 action1,
94
+ Action2 action2, Action3 action3, Action4 action4,
95
+ Action5 action5) {
96
+ if (check0(input)) return action0(action_arg);
97
+ if (check1(input)) return action1(action_arg);
98
+ if (check2(input)) return action2(action_arg);
99
+ if (check3(input)) return action3(action_arg);
100
+ if (check4(input)) return action4(action_arg);
101
+ if (check5(input)) return action5(action_arg);
102
+ return action_fail(action_arg);
103
+ }
104
+
105
+ template <typename CheckArg, typename ActionArg, typename ActionFail,
106
+ typename Check0, typename Check1, typename Check2, typename Check3,
107
+ typename Check4, typename Check5, typename Check6, typename Action0,
108
+ typename Action1, typename Action2, typename Action3,
109
+ typename Action4, typename Action5, typename Action6>
110
+ auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
111
+ Check0 check0, Check1 check1, Check2 check2, Check3 check3,
112
+ Check4 check4, Check5 check5, Check6 check6, Action0 action0,
113
+ Action1 action1, Action2 action2, Action3 action3, Action4 action4,
114
+ Action5 action5, Action6 action6) {
115
+ if (check0(input)) return action0(action_arg);
116
+ if (check1(input)) return action1(action_arg);
117
+ if (check2(input)) return action2(action_arg);
118
+ if (check3(input)) return action3(action_arg);
119
+ if (check4(input)) return action4(action_arg);
120
+ if (check5(input)) return action5(action_arg);
121
+ if (check6(input)) return action6(action_arg);
122
+ return action_fail(action_arg);
123
+ }
124
+
125
+ template <typename CheckArg, typename ActionArg, typename ActionFail,
126
+ typename Check0, typename Check1, typename Check2, typename Check3,
127
+ typename Check4, typename Check5, typename Check6, typename Check7,
128
+ typename Action0, typename Action1, typename Action2,
129
+ typename Action3, typename Action4, typename Action5,
130
+ typename Action6, typename Action7>
131
+ auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
132
+ Check0 check0, Check1 check1, Check2 check2, Check3 check3,
133
+ Check4 check4, Check5 check5, Check6 check6, Check7 check7,
134
+ Action0 action0, Action1 action1, Action2 action2, Action3 action3,
135
+ Action4 action4, Action5 action5, Action6 action6,
136
+ Action7 action7) {
137
+ if (check0(input)) return action0(action_arg);
138
+ if (check1(input)) return action1(action_arg);
139
+ if (check2(input)) return action2(action_arg);
140
+ if (check3(input)) return action3(action_arg);
141
+ if (check4(input)) return action4(action_arg);
142
+ if (check5(input)) return action5(action_arg);
143
+ if (check6(input)) return action6(action_arg);
144
+ if (check7(input)) return action7(action_arg);
145
+ return action_fail(action_arg);
146
+ }
147
+
148
+ template <typename CheckArg, typename ActionArg, typename ActionFail,
149
+ typename Check0, typename Check1, typename Check2, typename Check3,
150
+ typename Check4, typename Check5, typename Check6, typename Check7,
151
+ typename Check8, typename Action0, typename Action1, typename Action2,
152
+ typename Action3, typename Action4, typename Action5,
153
+ typename Action6, typename Action7, typename Action8>
154
+ auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
155
+ Check0 check0, Check1 check1, Check2 check2, Check3 check3,
156
+ Check4 check4, Check5 check5, Check6 check6, Check7 check7,
157
+ Check8 check8, Action0 action0, Action1 action1, Action2 action2,
158
+ Action3 action3, Action4 action4, Action5 action5, Action6 action6,
159
+ Action7 action7, Action8 action8) {
160
+ if (check0(input)) return action0(action_arg);
161
+ if (check1(input)) return action1(action_arg);
162
+ if (check2(input)) return action2(action_arg);
163
+ if (check3(input)) return action3(action_arg);
164
+ if (check4(input)) return action4(action_arg);
165
+ if (check5(input)) return action5(action_arg);
166
+ if (check6(input)) return action6(action_arg);
167
+ if (check7(input)) return action7(action_arg);
168
+ if (check8(input)) return action8(action_arg);
169
+ return action_fail(action_arg);
170
+ }
171
+
172
+ template <typename CheckArg, typename ActionArg, typename ActionFail,
173
+ typename Check0, typename Check1, typename Check2, typename Check3,
174
+ typename Check4, typename Check5, typename Check6, typename Check7,
175
+ typename Check8, typename Check9, typename Action0, typename Action1,
176
+ typename Action2, typename Action3, typename Action4,
177
+ typename Action5, typename Action6, typename Action7,
178
+ typename Action8, typename Action9>
179
+ auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
180
+ Check0 check0, Check1 check1, Check2 check2, Check3 check3,
181
+ Check4 check4, Check5 check5, Check6 check6, Check7 check7,
182
+ Check8 check8, Check9 check9, Action0 action0, Action1 action1,
183
+ Action2 action2, Action3 action3, Action4 action4, Action5 action5,
184
+ Action6 action6, Action7 action7, Action8 action8,
185
+ Action9 action9) {
186
+ if (check0(input)) return action0(action_arg);
187
+ if (check1(input)) return action1(action_arg);
188
+ if (check2(input)) return action2(action_arg);
189
+ if (check3(input)) return action3(action_arg);
190
+ if (check4(input)) return action4(action_arg);
191
+ if (check5(input)) return action5(action_arg);
192
+ if (check6(input)) return action6(action_arg);
193
+ if (check7(input)) return action7(action_arg);
194
+ if (check8(input)) return action8(action_arg);
195
+ if (check9(input)) return action9(action_arg);
196
+ return action_fail(action_arg);
197
+ }
198
+
199
+ template <typename CheckArg, typename ActionArg, typename ActionFail,
200
+ typename Check0, typename Check1, typename Check2, typename Check3,
201
+ typename Check4, typename Check5, typename Check6, typename Check7,
202
+ typename Check8, typename Check9, typename Check10, typename Action0,
203
+ typename Action1, typename Action2, typename Action3,
204
+ typename Action4, typename Action5, typename Action6,
205
+ typename Action7, typename Action8, typename Action9,
206
+ typename Action10>
207
+ auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
208
+ Check0 check0, Check1 check1, Check2 check2, Check3 check3,
209
+ Check4 check4, Check5 check5, Check6 check6, Check7 check7,
210
+ Check8 check8, Check9 check9, Check10 check10, Action0 action0,
211
+ Action1 action1, Action2 action2, Action3 action3, Action4 action4,
212
+ Action5 action5, Action6 action6, Action7 action7, Action8 action8,
213
+ Action9 action9, Action10 action10) {
214
+ if (check0(input)) return action0(action_arg);
215
+ if (check1(input)) return action1(action_arg);
216
+ if (check2(input)) return action2(action_arg);
217
+ if (check3(input)) return action3(action_arg);
218
+ if (check4(input)) return action4(action_arg);
219
+ if (check5(input)) return action5(action_arg);
220
+ if (check6(input)) return action6(action_arg);
221
+ if (check7(input)) return action7(action_arg);
222
+ if (check8(input)) return action8(action_arg);
223
+ if (check9(input)) return action9(action_arg);
224
+ if (check10(input)) return action10(action_arg);
225
+ return action_fail(action_arg);
226
+ }
227
+
228
+ template <typename CheckArg, typename ActionArg, typename ActionFail,
229
+ typename Check0, typename Check1, typename Check2, typename Check3,
230
+ typename Check4, typename Check5, typename Check6, typename Check7,
231
+ typename Check8, typename Check9, typename Check10, typename Check11,
232
+ typename Action0, typename Action1, typename Action2,
233
+ typename Action3, typename Action4, typename Action5,
234
+ typename Action6, typename Action7, typename Action8,
235
+ typename Action9, typename Action10, typename Action11>
236
+ auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
237
+ Check0 check0, Check1 check1, Check2 check2, Check3 check3,
238
+ Check4 check4, Check5 check5, Check6 check6, Check7 check7,
239
+ Check8 check8, Check9 check9, Check10 check10, Check11 check11,
240
+ Action0 action0, Action1 action1, Action2 action2, Action3 action3,
241
+ Action4 action4, Action5 action5, Action6 action6, Action7 action7,
242
+ Action8 action8, Action9 action9, Action10 action10,
243
+ Action11 action11) {
244
+ if (check0(input)) return action0(action_arg);
245
+ if (check1(input)) return action1(action_arg);
246
+ if (check2(input)) return action2(action_arg);
247
+ if (check3(input)) return action3(action_arg);
248
+ if (check4(input)) return action4(action_arg);
249
+ if (check5(input)) return action5(action_arg);
250
+ if (check6(input)) return action6(action_arg);
251
+ if (check7(input)) return action7(action_arg);
252
+ if (check8(input)) return action8(action_arg);
253
+ if (check9(input)) return action9(action_arg);
254
+ if (check10(input)) return action10(action_arg);
255
+ if (check11(input)) return action11(action_arg);
256
+ return action_fail(action_arg);
257
+ }
258
+
259
+ template <typename CheckArg, typename ActionArg, typename ActionFail,
260
+ typename Check0, typename Check1, typename Check2, typename Check3,
261
+ typename Check4, typename Check5, typename Check6, typename Check7,
262
+ typename Check8, typename Check9, typename Check10, typename Check11,
263
+ typename Check12, typename Action0, typename Action1,
264
+ typename Action2, typename Action3, typename Action4,
265
+ typename Action5, typename Action6, typename Action7,
266
+ typename Action8, typename Action9, typename Action10,
267
+ typename Action11, typename Action12>
268
+ auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
269
+ Check0 check0, Check1 check1, Check2 check2, Check3 check3,
270
+ Check4 check4, Check5 check5, Check6 check6, Check7 check7,
271
+ Check8 check8, Check9 check9, Check10 check10, Check11 check11,
272
+ Check12 check12, Action0 action0, Action1 action1, Action2 action2,
273
+ Action3 action3, Action4 action4, Action5 action5, Action6 action6,
274
+ Action7 action7, Action8 action8, Action9 action9,
275
+ Action10 action10, Action11 action11, Action12 action12) {
276
+ if (check0(input)) return action0(action_arg);
277
+ if (check1(input)) return action1(action_arg);
278
+ if (check2(input)) return action2(action_arg);
279
+ if (check3(input)) return action3(action_arg);
280
+ if (check4(input)) return action4(action_arg);
281
+ if (check5(input)) return action5(action_arg);
282
+ if (check6(input)) return action6(action_arg);
283
+ if (check7(input)) return action7(action_arg);
284
+ if (check8(input)) return action8(action_arg);
285
+ if (check9(input)) return action9(action_arg);
286
+ if (check10(input)) return action10(action_arg);
287
+ if (check11(input)) return action11(action_arg);
288
+ if (check12(input)) return action12(action_arg);
289
+ return action_fail(action_arg);
290
+ }
291
+
292
+ template <
293
+ typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
294
+ typename Check1, typename Check2, typename Check3, typename Check4,
295
+ typename Check5, typename Check6, typename Check7, typename Check8,
296
+ typename Check9, typename Check10, typename Check11, typename Check12,
297
+ typename Check13, typename Action0, typename Action1, typename Action2,
298
+ typename Action3, typename Action4, typename Action5, typename Action6,
299
+ typename Action7, typename Action8, typename Action9, typename Action10,
300
+ typename Action11, typename Action12, typename Action13>
301
+ auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
302
+ Check0 check0, Check1 check1, Check2 check2, Check3 check3,
303
+ Check4 check4, Check5 check5, Check6 check6, Check7 check7,
304
+ Check8 check8, Check9 check9, Check10 check10, Check11 check11,
305
+ Check12 check12, Check13 check13, Action0 action0, Action1 action1,
306
+ Action2 action2, Action3 action3, Action4 action4, Action5 action5,
307
+ Action6 action6, Action7 action7, Action8 action8, Action9 action9,
308
+ Action10 action10, Action11 action11, Action12 action12,
309
+ Action13 action13) {
310
+ if (check0(input)) return action0(action_arg);
311
+ if (check1(input)) return action1(action_arg);
312
+ if (check2(input)) return action2(action_arg);
313
+ if (check3(input)) return action3(action_arg);
314
+ if (check4(input)) return action4(action_arg);
315
+ if (check5(input)) return action5(action_arg);
316
+ if (check6(input)) return action6(action_arg);
317
+ if (check7(input)) return action7(action_arg);
318
+ if (check8(input)) return action8(action_arg);
319
+ if (check9(input)) return action9(action_arg);
320
+ if (check10(input)) return action10(action_arg);
321
+ if (check11(input)) return action11(action_arg);
322
+ if (check12(input)) return action12(action_arg);
323
+ if (check13(input)) return action13(action_arg);
324
+ return action_fail(action_arg);
325
+ }
326
+
327
+ template <typename CheckArg, typename ActionArg, typename ActionFail,
328
+ typename Check0, typename Check1, typename Check2, typename Check3,
329
+ typename Check4, typename Check5, typename Check6, typename Check7,
330
+ typename Check8, typename Check9, typename Check10, typename Check11,
331
+ typename Check12, typename Check13, typename Check14,
332
+ typename Action0, typename Action1, typename Action2,
333
+ typename Action3, typename Action4, typename Action5,
334
+ typename Action6, typename Action7, typename Action8,
335
+ typename Action9, typename Action10, typename Action11,
336
+ typename Action12, typename Action13, typename Action14>
337
+ auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
338
+ Check0 check0, Check1 check1, Check2 check2, Check3 check3,
339
+ Check4 check4, Check5 check5, Check6 check6, Check7 check7,
340
+ Check8 check8, Check9 check9, Check10 check10, Check11 check11,
341
+ Check12 check12, Check13 check13, Check14 check14, Action0 action0,
342
+ Action1 action1, Action2 action2, Action3 action3, Action4 action4,
343
+ Action5 action5, Action6 action6, Action7 action7, Action8 action8,
344
+ Action9 action9, Action10 action10, Action11 action11,
345
+ Action12 action12, Action13 action13, Action14 action14) {
346
+ if (check0(input)) return action0(action_arg);
347
+ if (check1(input)) return action1(action_arg);
348
+ if (check2(input)) return action2(action_arg);
349
+ if (check3(input)) return action3(action_arg);
350
+ if (check4(input)) return action4(action_arg);
351
+ if (check5(input)) return action5(action_arg);
352
+ if (check6(input)) return action6(action_arg);
353
+ if (check7(input)) return action7(action_arg);
354
+ if (check8(input)) return action8(action_arg);
355
+ if (check9(input)) return action9(action_arg);
356
+ if (check10(input)) return action10(action_arg);
357
+ if (check11(input)) return action11(action_arg);
358
+ if (check12(input)) return action12(action_arg);
359
+ if (check13(input)) return action13(action_arg);
360
+ if (check14(input)) return action14(action_arg);
361
+ return action_fail(action_arg);
362
+ }
363
+
364
+ template <
365
+ typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
366
+ typename Check1, typename Check2, typename Check3, typename Check4,
367
+ typename Check5, typename Check6, typename Check7, typename Check8,
368
+ typename Check9, typename Check10, typename Check11, typename Check12,
369
+ typename Check13, typename Check14, typename Check15, typename Action0,
370
+ typename Action1, typename Action2, typename Action3, typename Action4,
371
+ typename Action5, typename Action6, typename Action7, typename Action8,
372
+ typename Action9, typename Action10, typename Action11, typename Action12,
373
+ typename Action13, typename Action14, typename Action15>
374
+ auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
375
+ Check0 check0, Check1 check1, Check2 check2, Check3 check3,
376
+ Check4 check4, Check5 check5, Check6 check6, Check7 check7,
377
+ Check8 check8, Check9 check9, Check10 check10, Check11 check11,
378
+ Check12 check12, Check13 check13, Check14 check14, Check15 check15,
379
+ Action0 action0, Action1 action1, Action2 action2, Action3 action3,
380
+ Action4 action4, Action5 action5, Action6 action6, Action7 action7,
381
+ Action8 action8, Action9 action9, Action10 action10,
382
+ Action11 action11, Action12 action12, Action13 action13,
383
+ Action14 action14, Action15 action15) {
384
+ if (check0(input)) return action0(action_arg);
385
+ if (check1(input)) return action1(action_arg);
386
+ if (check2(input)) return action2(action_arg);
387
+ if (check3(input)) return action3(action_arg);
388
+ if (check4(input)) return action4(action_arg);
389
+ if (check5(input)) return action5(action_arg);
390
+ if (check6(input)) return action6(action_arg);
391
+ if (check7(input)) return action7(action_arg);
392
+ if (check8(input)) return action8(action_arg);
393
+ if (check9(input)) return action9(action_arg);
394
+ if (check10(input)) return action10(action_arg);
395
+ if (check11(input)) return action11(action_arg);
396
+ if (check12(input)) return action12(action_arg);
397
+ if (check13(input)) return action13(action_arg);
398
+ if (check14(input)) return action14(action_arg);
399
+ if (check15(input)) return action15(action_arg);
400
+ return action_fail(action_arg);
401
+ }
402
+
403
+ template <
404
+ typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
405
+ typename Check1, typename Check2, typename Check3, typename Check4,
406
+ typename Check5, typename Check6, typename Check7, typename Check8,
407
+ typename Check9, typename Check10, typename Check11, typename Check12,
408
+ typename Check13, typename Check14, typename Check15, typename Check16,
409
+ typename Action0, typename Action1, typename Action2, typename Action3,
410
+ typename Action4, typename Action5, typename Action6, typename Action7,
411
+ typename Action8, typename Action9, typename Action10, typename Action11,
412
+ typename Action12, typename Action13, typename Action14, typename Action15,
413
+ typename Action16>
414
+ auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
415
+ Check0 check0, Check1 check1, Check2 check2, Check3 check3,
416
+ Check4 check4, Check5 check5, Check6 check6, Check7 check7,
417
+ Check8 check8, Check9 check9, Check10 check10, Check11 check11,
418
+ Check12 check12, Check13 check13, Check14 check14, Check15 check15,
419
+ Check16 check16, Action0 action0, Action1 action1, Action2 action2,
420
+ Action3 action3, Action4 action4, Action5 action5, Action6 action6,
421
+ Action7 action7, Action8 action8, Action9 action9,
422
+ Action10 action10, Action11 action11, Action12 action12,
423
+ Action13 action13, Action14 action14, Action15 action15,
424
+ Action16 action16) {
425
+ if (check0(input)) return action0(action_arg);
426
+ if (check1(input)) return action1(action_arg);
427
+ if (check2(input)) return action2(action_arg);
428
+ if (check3(input)) return action3(action_arg);
429
+ if (check4(input)) return action4(action_arg);
430
+ if (check5(input)) return action5(action_arg);
431
+ if (check6(input)) return action6(action_arg);
432
+ if (check7(input)) return action7(action_arg);
433
+ if (check8(input)) return action8(action_arg);
434
+ if (check9(input)) return action9(action_arg);
435
+ if (check10(input)) return action10(action_arg);
436
+ if (check11(input)) return action11(action_arg);
437
+ if (check12(input)) return action12(action_arg);
438
+ if (check13(input)) return action13(action_arg);
439
+ if (check14(input)) return action14(action_arg);
440
+ if (check15(input)) return action15(action_arg);
441
+ if (check16(input)) return action16(action_arg);
442
+ return action_fail(action_arg);
443
+ }
444
+
445
+ template <
446
+ typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
447
+ typename Check1, typename Check2, typename Check3, typename Check4,
448
+ typename Check5, typename Check6, typename Check7, typename Check8,
449
+ typename Check9, typename Check10, typename Check11, typename Check12,
450
+ typename Check13, typename Check14, typename Check15, typename Check16,
451
+ typename Check17, typename Action0, typename Action1, typename Action2,
452
+ typename Action3, typename Action4, typename Action5, typename Action6,
453
+ typename Action7, typename Action8, typename Action9, typename Action10,
454
+ typename Action11, typename Action12, typename Action13, typename Action14,
455
+ typename Action15, typename Action16, typename Action17>
456
+ auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
457
+ Check0 check0, Check1 check1, Check2 check2, Check3 check3,
458
+ Check4 check4, Check5 check5, Check6 check6, Check7 check7,
459
+ Check8 check8, Check9 check9, Check10 check10, Check11 check11,
460
+ Check12 check12, Check13 check13, Check14 check14, Check15 check15,
461
+ Check16 check16, Check17 check17, Action0 action0, Action1 action1,
462
+ Action2 action2, Action3 action3, Action4 action4, Action5 action5,
463
+ Action6 action6, Action7 action7, Action8 action8, Action9 action9,
464
+ Action10 action10, Action11 action11, Action12 action12,
465
+ Action13 action13, Action14 action14, Action15 action15,
466
+ Action16 action16, Action17 action17) {
467
+ if (check0(input)) return action0(action_arg);
468
+ if (check1(input)) return action1(action_arg);
469
+ if (check2(input)) return action2(action_arg);
470
+ if (check3(input)) return action3(action_arg);
471
+ if (check4(input)) return action4(action_arg);
472
+ if (check5(input)) return action5(action_arg);
473
+ if (check6(input)) return action6(action_arg);
474
+ if (check7(input)) return action7(action_arg);
475
+ if (check8(input)) return action8(action_arg);
476
+ if (check9(input)) return action9(action_arg);
477
+ if (check10(input)) return action10(action_arg);
478
+ if (check11(input)) return action11(action_arg);
479
+ if (check12(input)) return action12(action_arg);
480
+ if (check13(input)) return action13(action_arg);
481
+ if (check14(input)) return action14(action_arg);
482
+ if (check15(input)) return action15(action_arg);
483
+ if (check16(input)) return action16(action_arg);
484
+ if (check17(input)) return action17(action_arg);
485
+ return action_fail(action_arg);
486
+ }
487
+
488
+ template <
489
+ typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
490
+ typename Check1, typename Check2, typename Check3, typename Check4,
491
+ typename Check5, typename Check6, typename Check7, typename Check8,
492
+ typename Check9, typename Check10, typename Check11, typename Check12,
493
+ typename Check13, typename Check14, typename Check15, typename Check16,
494
+ typename Check17, typename Check18, typename Action0, typename Action1,
495
+ typename Action2, typename Action3, typename Action4, typename Action5,
496
+ typename Action6, typename Action7, typename Action8, typename Action9,
497
+ typename Action10, typename Action11, typename Action12, typename Action13,
498
+ typename Action14, typename Action15, typename Action16, typename Action17,
499
+ typename Action18>
500
+ auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
501
+ Check0 check0, Check1 check1, Check2 check2, Check3 check3,
502
+ Check4 check4, Check5 check5, Check6 check6, Check7 check7,
503
+ Check8 check8, Check9 check9, Check10 check10, Check11 check11,
504
+ Check12 check12, Check13 check13, Check14 check14, Check15 check15,
505
+ Check16 check16, Check17 check17, Check18 check18, Action0 action0,
506
+ Action1 action1, Action2 action2, Action3 action3, Action4 action4,
507
+ Action5 action5, Action6 action6, Action7 action7, Action8 action8,
508
+ Action9 action9, Action10 action10, Action11 action11,
509
+ Action12 action12, Action13 action13, Action14 action14,
510
+ Action15 action15, Action16 action16, Action17 action17,
511
+ Action18 action18) {
512
+ if (check0(input)) return action0(action_arg);
513
+ if (check1(input)) return action1(action_arg);
514
+ if (check2(input)) return action2(action_arg);
515
+ if (check3(input)) return action3(action_arg);
516
+ if (check4(input)) return action4(action_arg);
517
+ if (check5(input)) return action5(action_arg);
518
+ if (check6(input)) return action6(action_arg);
519
+ if (check7(input)) return action7(action_arg);
520
+ if (check8(input)) return action8(action_arg);
521
+ if (check9(input)) return action9(action_arg);
522
+ if (check10(input)) return action10(action_arg);
523
+ if (check11(input)) return action11(action_arg);
524
+ if (check12(input)) return action12(action_arg);
525
+ if (check13(input)) return action13(action_arg);
526
+ if (check14(input)) return action14(action_arg);
527
+ if (check15(input)) return action15(action_arg);
528
+ if (check16(input)) return action16(action_arg);
529
+ if (check17(input)) return action17(action_arg);
530
+ if (check18(input)) return action18(action_arg);
531
+ return action_fail(action_arg);
532
+ }
533
+
534
+ template <
535
+ typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
536
+ typename Check1, typename Check2, typename Check3, typename Check4,
537
+ typename Check5, typename Check6, typename Check7, typename Check8,
538
+ typename Check9, typename Check10, typename Check11, typename Check12,
539
+ typename Check13, typename Check14, typename Check15, typename Check16,
540
+ typename Check17, typename Check18, typename Check19, typename Action0,
541
+ typename Action1, typename Action2, typename Action3, typename Action4,
542
+ typename Action5, typename Action6, typename Action7, typename Action8,
543
+ typename Action9, typename Action10, typename Action11, typename Action12,
544
+ typename Action13, typename Action14, typename Action15, typename Action16,
545
+ typename Action17, typename Action18, typename Action19>
546
+ auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
547
+ Check0 check0, Check1 check1, Check2 check2, Check3 check3,
548
+ Check4 check4, Check5 check5, Check6 check6, Check7 check7,
549
+ Check8 check8, Check9 check9, Check10 check10, Check11 check11,
550
+ Check12 check12, Check13 check13, Check14 check14, Check15 check15,
551
+ Check16 check16, Check17 check17, Check18 check18, Check19 check19,
552
+ Action0 action0, Action1 action1, Action2 action2, Action3 action3,
553
+ Action4 action4, Action5 action5, Action6 action6, Action7 action7,
554
+ Action8 action8, Action9 action9, Action10 action10,
555
+ Action11 action11, Action12 action12, Action13 action13,
556
+ Action14 action14, Action15 action15, Action16 action16,
557
+ Action17 action17, Action18 action18, Action19 action19) {
558
+ if (check0(input)) return action0(action_arg);
559
+ if (check1(input)) return action1(action_arg);
560
+ if (check2(input)) return action2(action_arg);
561
+ if (check3(input)) return action3(action_arg);
562
+ if (check4(input)) return action4(action_arg);
563
+ if (check5(input)) return action5(action_arg);
564
+ if (check6(input)) return action6(action_arg);
565
+ if (check7(input)) return action7(action_arg);
566
+ if (check8(input)) return action8(action_arg);
567
+ if (check9(input)) return action9(action_arg);
568
+ if (check10(input)) return action10(action_arg);
569
+ if (check11(input)) return action11(action_arg);
570
+ if (check12(input)) return action12(action_arg);
571
+ if (check13(input)) return action13(action_arg);
572
+ if (check14(input)) return action14(action_arg);
573
+ if (check15(input)) return action15(action_arg);
574
+ if (check16(input)) return action16(action_arg);
575
+ if (check17(input)) return action17(action_arg);
576
+ if (check18(input)) return action18(action_arg);
577
+ if (check19(input)) return action19(action_arg);
578
+ return action_fail(action_arg);
579
+ }
580
+
581
+ template <
582
+ typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
583
+ typename Check1, typename Check2, typename Check3, typename Check4,
584
+ typename Check5, typename Check6, typename Check7, typename Check8,
585
+ typename Check9, typename Check10, typename Check11, typename Check12,
586
+ typename Check13, typename Check14, typename Check15, typename Check16,
587
+ typename Check17, typename Check18, typename Check19, typename Check20,
588
+ typename Action0, typename Action1, typename Action2, typename Action3,
589
+ typename Action4, typename Action5, typename Action6, typename Action7,
590
+ typename Action8, typename Action9, typename Action10, typename Action11,
591
+ typename Action12, typename Action13, typename Action14, typename Action15,
592
+ typename Action16, typename Action17, typename Action18, typename Action19,
593
+ typename Action20>
594
+ auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
595
+ Check0 check0, Check1 check1, Check2 check2, Check3 check3,
596
+ Check4 check4, Check5 check5, Check6 check6, Check7 check7,
597
+ Check8 check8, Check9 check9, Check10 check10, Check11 check11,
598
+ Check12 check12, Check13 check13, Check14 check14, Check15 check15,
599
+ Check16 check16, Check17 check17, Check18 check18, Check19 check19,
600
+ Check20 check20, Action0 action0, Action1 action1, Action2 action2,
601
+ Action3 action3, Action4 action4, Action5 action5, Action6 action6,
602
+ Action7 action7, Action8 action8, Action9 action9,
603
+ Action10 action10, Action11 action11, Action12 action12,
604
+ Action13 action13, Action14 action14, Action15 action15,
605
+ Action16 action16, Action17 action17, Action18 action18,
606
+ Action19 action19, Action20 action20) {
607
+ if (check0(input)) return action0(action_arg);
608
+ if (check1(input)) return action1(action_arg);
609
+ if (check2(input)) return action2(action_arg);
610
+ if (check3(input)) return action3(action_arg);
611
+ if (check4(input)) return action4(action_arg);
612
+ if (check5(input)) return action5(action_arg);
613
+ if (check6(input)) return action6(action_arg);
614
+ if (check7(input)) return action7(action_arg);
615
+ if (check8(input)) return action8(action_arg);
616
+ if (check9(input)) return action9(action_arg);
617
+ if (check10(input)) return action10(action_arg);
618
+ if (check11(input)) return action11(action_arg);
619
+ if (check12(input)) return action12(action_arg);
620
+ if (check13(input)) return action13(action_arg);
621
+ if (check14(input)) return action14(action_arg);
622
+ if (check15(input)) return action15(action_arg);
623
+ if (check16(input)) return action16(action_arg);
624
+ if (check17(input)) return action17(action_arg);
625
+ if (check18(input)) return action18(action_arg);
626
+ if (check19(input)) return action19(action_arg);
627
+ if (check20(input)) return action20(action_arg);
628
+ return action_fail(action_arg);
629
+ }
630
+
631
+ template <
632
+ typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
633
+ typename Check1, typename Check2, typename Check3, typename Check4,
634
+ typename Check5, typename Check6, typename Check7, typename Check8,
635
+ typename Check9, typename Check10, typename Check11, typename Check12,
636
+ typename Check13, typename Check14, typename Check15, typename Check16,
637
+ typename Check17, typename Check18, typename Check19, typename Check20,
638
+ typename Check21, typename Action0, typename Action1, typename Action2,
639
+ typename Action3, typename Action4, typename Action5, typename Action6,
640
+ typename Action7, typename Action8, typename Action9, typename Action10,
641
+ typename Action11, typename Action12, typename Action13, typename Action14,
642
+ typename Action15, typename Action16, typename Action17, typename Action18,
643
+ typename Action19, typename Action20, typename Action21>
644
+ auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
645
+ Check0 check0, Check1 check1, Check2 check2, Check3 check3,
646
+ Check4 check4, Check5 check5, Check6 check6, Check7 check7,
647
+ Check8 check8, Check9 check9, Check10 check10, Check11 check11,
648
+ Check12 check12, Check13 check13, Check14 check14, Check15 check15,
649
+ Check16 check16, Check17 check17, Check18 check18, Check19 check19,
650
+ Check20 check20, Check21 check21, Action0 action0, Action1 action1,
651
+ Action2 action2, Action3 action3, Action4 action4, Action5 action5,
652
+ Action6 action6, Action7 action7, Action8 action8, Action9 action9,
653
+ Action10 action10, Action11 action11, Action12 action12,
654
+ Action13 action13, Action14 action14, Action15 action15,
655
+ Action16 action16, Action17 action17, Action18 action18,
656
+ Action19 action19, Action20 action20, Action21 action21) {
657
+ if (check0(input)) return action0(action_arg);
658
+ if (check1(input)) return action1(action_arg);
659
+ if (check2(input)) return action2(action_arg);
660
+ if (check3(input)) return action3(action_arg);
661
+ if (check4(input)) return action4(action_arg);
662
+ if (check5(input)) return action5(action_arg);
663
+ if (check6(input)) return action6(action_arg);
664
+ if (check7(input)) return action7(action_arg);
665
+ if (check8(input)) return action8(action_arg);
666
+ if (check9(input)) return action9(action_arg);
667
+ if (check10(input)) return action10(action_arg);
668
+ if (check11(input)) return action11(action_arg);
669
+ if (check12(input)) return action12(action_arg);
670
+ if (check13(input)) return action13(action_arg);
671
+ if (check14(input)) return action14(action_arg);
672
+ if (check15(input)) return action15(action_arg);
673
+ if (check16(input)) return action16(action_arg);
674
+ if (check17(input)) return action17(action_arg);
675
+ if (check18(input)) return action18(action_arg);
676
+ if (check19(input)) return action19(action_arg);
677
+ if (check20(input)) return action20(action_arg);
678
+ if (check21(input)) return action21(action_arg);
679
+ return action_fail(action_arg);
680
+ }
681
+
682
+ template <
683
+ typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
684
+ typename Check1, typename Check2, typename Check3, typename Check4,
685
+ typename Check5, typename Check6, typename Check7, typename Check8,
686
+ typename Check9, typename Check10, typename Check11, typename Check12,
687
+ typename Check13, typename Check14, typename Check15, typename Check16,
688
+ typename Check17, typename Check18, typename Check19, typename Check20,
689
+ typename Check21, typename Check22, typename Action0, typename Action1,
690
+ typename Action2, typename Action3, typename Action4, typename Action5,
691
+ typename Action6, typename Action7, typename Action8, typename Action9,
692
+ typename Action10, typename Action11, typename Action12, typename Action13,
693
+ typename Action14, typename Action15, typename Action16, typename Action17,
694
+ typename Action18, typename Action19, typename Action20, typename Action21,
695
+ typename Action22>
696
+ auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
697
+ Check0 check0, Check1 check1, Check2 check2, Check3 check3,
698
+ Check4 check4, Check5 check5, Check6 check6, Check7 check7,
699
+ Check8 check8, Check9 check9, Check10 check10, Check11 check11,
700
+ Check12 check12, Check13 check13, Check14 check14, Check15 check15,
701
+ Check16 check16, Check17 check17, Check18 check18, Check19 check19,
702
+ Check20 check20, Check21 check21, Check22 check22, Action0 action0,
703
+ Action1 action1, Action2 action2, Action3 action3, Action4 action4,
704
+ Action5 action5, Action6 action6, Action7 action7, Action8 action8,
705
+ Action9 action9, Action10 action10, Action11 action11,
706
+ Action12 action12, Action13 action13, Action14 action14,
707
+ Action15 action15, Action16 action16, Action17 action17,
708
+ Action18 action18, Action19 action19, Action20 action20,
709
+ Action21 action21, Action22 action22) {
710
+ if (check0(input)) return action0(action_arg);
711
+ if (check1(input)) return action1(action_arg);
712
+ if (check2(input)) return action2(action_arg);
713
+ if (check3(input)) return action3(action_arg);
714
+ if (check4(input)) return action4(action_arg);
715
+ if (check5(input)) return action5(action_arg);
716
+ if (check6(input)) return action6(action_arg);
717
+ if (check7(input)) return action7(action_arg);
718
+ if (check8(input)) return action8(action_arg);
719
+ if (check9(input)) return action9(action_arg);
720
+ if (check10(input)) return action10(action_arg);
721
+ if (check11(input)) return action11(action_arg);
722
+ if (check12(input)) return action12(action_arg);
723
+ if (check13(input)) return action13(action_arg);
724
+ if (check14(input)) return action14(action_arg);
725
+ if (check15(input)) return action15(action_arg);
726
+ if (check16(input)) return action16(action_arg);
727
+ if (check17(input)) return action17(action_arg);
728
+ if (check18(input)) return action18(action_arg);
729
+ if (check19(input)) return action19(action_arg);
730
+ if (check20(input)) return action20(action_arg);
731
+ if (check21(input)) return action21(action_arg);
732
+ if (check22(input)) return action22(action_arg);
733
+ return action_fail(action_arg);
734
+ }
735
+
736
+ template <
737
+ typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
738
+ typename Check1, typename Check2, typename Check3, typename Check4,
739
+ typename Check5, typename Check6, typename Check7, typename Check8,
740
+ typename Check9, typename Check10, typename Check11, typename Check12,
741
+ typename Check13, typename Check14, typename Check15, typename Check16,
742
+ typename Check17, typename Check18, typename Check19, typename Check20,
743
+ typename Check21, typename Check22, typename Check23, typename Action0,
744
+ typename Action1, typename Action2, typename Action3, typename Action4,
745
+ typename Action5, typename Action6, typename Action7, typename Action8,
746
+ typename Action9, typename Action10, typename Action11, typename Action12,
747
+ typename Action13, typename Action14, typename Action15, typename Action16,
748
+ typename Action17, typename Action18, typename Action19, typename Action20,
749
+ typename Action21, typename Action22, typename Action23>
750
+ auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
751
+ Check0 check0, Check1 check1, Check2 check2, Check3 check3,
752
+ Check4 check4, Check5 check5, Check6 check6, Check7 check7,
753
+ Check8 check8, Check9 check9, Check10 check10, Check11 check11,
754
+ Check12 check12, Check13 check13, Check14 check14, Check15 check15,
755
+ Check16 check16, Check17 check17, Check18 check18, Check19 check19,
756
+ Check20 check20, Check21 check21, Check22 check22, Check23 check23,
757
+ Action0 action0, Action1 action1, Action2 action2, Action3 action3,
758
+ Action4 action4, Action5 action5, Action6 action6, Action7 action7,
759
+ Action8 action8, Action9 action9, Action10 action10,
760
+ Action11 action11, Action12 action12, Action13 action13,
761
+ Action14 action14, Action15 action15, Action16 action16,
762
+ Action17 action17, Action18 action18, Action19 action19,
763
+ Action20 action20, Action21 action21, Action22 action22,
764
+ Action23 action23) {
765
+ if (check0(input)) return action0(action_arg);
766
+ if (check1(input)) return action1(action_arg);
767
+ if (check2(input)) return action2(action_arg);
768
+ if (check3(input)) return action3(action_arg);
769
+ if (check4(input)) return action4(action_arg);
770
+ if (check5(input)) return action5(action_arg);
771
+ if (check6(input)) return action6(action_arg);
772
+ if (check7(input)) return action7(action_arg);
773
+ if (check8(input)) return action8(action_arg);
774
+ if (check9(input)) return action9(action_arg);
775
+ if (check10(input)) return action10(action_arg);
776
+ if (check11(input)) return action11(action_arg);
777
+ if (check12(input)) return action12(action_arg);
778
+ if (check13(input)) return action13(action_arg);
779
+ if (check14(input)) return action14(action_arg);
780
+ if (check15(input)) return action15(action_arg);
781
+ if (check16(input)) return action16(action_arg);
782
+ if (check17(input)) return action17(action_arg);
783
+ if (check18(input)) return action18(action_arg);
784
+ if (check19(input)) return action19(action_arg);
785
+ if (check20(input)) return action20(action_arg);
786
+ if (check21(input)) return action21(action_arg);
787
+ if (check22(input)) return action22(action_arg);
788
+ if (check23(input)) return action23(action_arg);
789
+ return action_fail(action_arg);
790
+ }
791
+
792
+ template <
793
+ typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
794
+ typename Check1, typename Check2, typename Check3, typename Check4,
795
+ typename Check5, typename Check6, typename Check7, typename Check8,
796
+ typename Check9, typename Check10, typename Check11, typename Check12,
797
+ typename Check13, typename Check14, typename Check15, typename Check16,
798
+ typename Check17, typename Check18, typename Check19, typename Check20,
799
+ typename Check21, typename Check22, typename Check23, typename Check24,
800
+ typename Action0, typename Action1, typename Action2, typename Action3,
801
+ typename Action4, typename Action5, typename Action6, typename Action7,
802
+ typename Action8, typename Action9, typename Action10, typename Action11,
803
+ typename Action12, typename Action13, typename Action14, typename Action15,
804
+ typename Action16, typename Action17, typename Action18, typename Action19,
805
+ typename Action20, typename Action21, typename Action22, typename Action23,
806
+ typename Action24>
807
+ auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
808
+ Check0 check0, Check1 check1, Check2 check2, Check3 check3,
809
+ Check4 check4, Check5 check5, Check6 check6, Check7 check7,
810
+ Check8 check8, Check9 check9, Check10 check10, Check11 check11,
811
+ Check12 check12, Check13 check13, Check14 check14, Check15 check15,
812
+ Check16 check16, Check17 check17, Check18 check18, Check19 check19,
813
+ Check20 check20, Check21 check21, Check22 check22, Check23 check23,
814
+ Check24 check24, Action0 action0, Action1 action1, Action2 action2,
815
+ Action3 action3, Action4 action4, Action5 action5, Action6 action6,
816
+ Action7 action7, Action8 action8, Action9 action9,
817
+ Action10 action10, Action11 action11, Action12 action12,
818
+ Action13 action13, Action14 action14, Action15 action15,
819
+ Action16 action16, Action17 action17, Action18 action18,
820
+ Action19 action19, Action20 action20, Action21 action21,
821
+ Action22 action22, Action23 action23, Action24 action24) {
822
+ if (check0(input)) return action0(action_arg);
823
+ if (check1(input)) return action1(action_arg);
824
+ if (check2(input)) return action2(action_arg);
825
+ if (check3(input)) return action3(action_arg);
826
+ if (check4(input)) return action4(action_arg);
827
+ if (check5(input)) return action5(action_arg);
828
+ if (check6(input)) return action6(action_arg);
829
+ if (check7(input)) return action7(action_arg);
830
+ if (check8(input)) return action8(action_arg);
831
+ if (check9(input)) return action9(action_arg);
832
+ if (check10(input)) return action10(action_arg);
833
+ if (check11(input)) return action11(action_arg);
834
+ if (check12(input)) return action12(action_arg);
835
+ if (check13(input)) return action13(action_arg);
836
+ if (check14(input)) return action14(action_arg);
837
+ if (check15(input)) return action15(action_arg);
838
+ if (check16(input)) return action16(action_arg);
839
+ if (check17(input)) return action17(action_arg);
840
+ if (check18(input)) return action18(action_arg);
841
+ if (check19(input)) return action19(action_arg);
842
+ if (check20(input)) return action20(action_arg);
843
+ if (check21(input)) return action21(action_arg);
844
+ if (check22(input)) return action22(action_arg);
845
+ if (check23(input)) return action23(action_arg);
846
+ if (check24(input)) return action24(action_arg);
847
+ return action_fail(action_arg);
848
+ }
849
+
850
+ template <
851
+ typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
852
+ typename Check1, typename Check2, typename Check3, typename Check4,
853
+ typename Check5, typename Check6, typename Check7, typename Check8,
854
+ typename Check9, typename Check10, typename Check11, typename Check12,
855
+ typename Check13, typename Check14, typename Check15, typename Check16,
856
+ typename Check17, typename Check18, typename Check19, typename Check20,
857
+ typename Check21, typename Check22, typename Check23, typename Check24,
858
+ typename Check25, typename Action0, typename Action1, typename Action2,
859
+ typename Action3, typename Action4, typename Action5, typename Action6,
860
+ typename Action7, typename Action8, typename Action9, typename Action10,
861
+ typename Action11, typename Action12, typename Action13, typename Action14,
862
+ typename Action15, typename Action16, typename Action17, typename Action18,
863
+ typename Action19, typename Action20, typename Action21, typename Action22,
864
+ typename Action23, typename Action24, typename Action25>
865
+ auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
866
+ Check0 check0, Check1 check1, Check2 check2, Check3 check3,
867
+ Check4 check4, Check5 check5, Check6 check6, Check7 check7,
868
+ Check8 check8, Check9 check9, Check10 check10, Check11 check11,
869
+ Check12 check12, Check13 check13, Check14 check14, Check15 check15,
870
+ Check16 check16, Check17 check17, Check18 check18, Check19 check19,
871
+ Check20 check20, Check21 check21, Check22 check22, Check23 check23,
872
+ Check24 check24, Check25 check25, Action0 action0, Action1 action1,
873
+ Action2 action2, Action3 action3, Action4 action4, Action5 action5,
874
+ Action6 action6, Action7 action7, Action8 action8, Action9 action9,
875
+ Action10 action10, Action11 action11, Action12 action12,
876
+ Action13 action13, Action14 action14, Action15 action15,
877
+ Action16 action16, Action17 action17, Action18 action18,
878
+ Action19 action19, Action20 action20, Action21 action21,
879
+ Action22 action22, Action23 action23, Action24 action24,
880
+ Action25 action25) {
881
+ if (check0(input)) return action0(action_arg);
882
+ if (check1(input)) return action1(action_arg);
883
+ if (check2(input)) return action2(action_arg);
884
+ if (check3(input)) return action3(action_arg);
885
+ if (check4(input)) return action4(action_arg);
886
+ if (check5(input)) return action5(action_arg);
887
+ if (check6(input)) return action6(action_arg);
888
+ if (check7(input)) return action7(action_arg);
889
+ if (check8(input)) return action8(action_arg);
890
+ if (check9(input)) return action9(action_arg);
891
+ if (check10(input)) return action10(action_arg);
892
+ if (check11(input)) return action11(action_arg);
893
+ if (check12(input)) return action12(action_arg);
894
+ if (check13(input)) return action13(action_arg);
895
+ if (check14(input)) return action14(action_arg);
896
+ if (check15(input)) return action15(action_arg);
897
+ if (check16(input)) return action16(action_arg);
898
+ if (check17(input)) return action17(action_arg);
899
+ if (check18(input)) return action18(action_arg);
900
+ if (check19(input)) return action19(action_arg);
901
+ if (check20(input)) return action20(action_arg);
902
+ if (check21(input)) return action21(action_arg);
903
+ if (check22(input)) return action22(action_arg);
904
+ if (check23(input)) return action23(action_arg);
905
+ if (check24(input)) return action24(action_arg);
906
+ if (check25(input)) return action25(action_arg);
907
+ return action_fail(action_arg);
908
+ }
909
+
910
+ template <
911
+ typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
912
+ typename Check1, typename Check2, typename Check3, typename Check4,
913
+ typename Check5, typename Check6, typename Check7, typename Check8,
914
+ typename Check9, typename Check10, typename Check11, typename Check12,
915
+ typename Check13, typename Check14, typename Check15, typename Check16,
916
+ typename Check17, typename Check18, typename Check19, typename Check20,
917
+ typename Check21, typename Check22, typename Check23, typename Check24,
918
+ typename Check25, typename Check26, typename Action0, typename Action1,
919
+ typename Action2, typename Action3, typename Action4, typename Action5,
920
+ typename Action6, typename Action7, typename Action8, typename Action9,
921
+ typename Action10, typename Action11, typename Action12, typename Action13,
922
+ typename Action14, typename Action15, typename Action16, typename Action17,
923
+ typename Action18, typename Action19, typename Action20, typename Action21,
924
+ typename Action22, typename Action23, typename Action24, typename Action25,
925
+ typename Action26>
926
+ auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
927
+ Check0 check0, Check1 check1, Check2 check2, Check3 check3,
928
+ Check4 check4, Check5 check5, Check6 check6, Check7 check7,
929
+ Check8 check8, Check9 check9, Check10 check10, Check11 check11,
930
+ Check12 check12, Check13 check13, Check14 check14, Check15 check15,
931
+ Check16 check16, Check17 check17, Check18 check18, Check19 check19,
932
+ Check20 check20, Check21 check21, Check22 check22, Check23 check23,
933
+ Check24 check24, Check25 check25, Check26 check26, Action0 action0,
934
+ Action1 action1, Action2 action2, Action3 action3, Action4 action4,
935
+ Action5 action5, Action6 action6, Action7 action7, Action8 action8,
936
+ Action9 action9, Action10 action10, Action11 action11,
937
+ Action12 action12, Action13 action13, Action14 action14,
938
+ Action15 action15, Action16 action16, Action17 action17,
939
+ Action18 action18, Action19 action19, Action20 action20,
940
+ Action21 action21, Action22 action22, Action23 action23,
941
+ Action24 action24, Action25 action25, Action26 action26) {
942
+ if (check0(input)) return action0(action_arg);
943
+ if (check1(input)) return action1(action_arg);
944
+ if (check2(input)) return action2(action_arg);
945
+ if (check3(input)) return action3(action_arg);
946
+ if (check4(input)) return action4(action_arg);
947
+ if (check5(input)) return action5(action_arg);
948
+ if (check6(input)) return action6(action_arg);
949
+ if (check7(input)) return action7(action_arg);
950
+ if (check8(input)) return action8(action_arg);
951
+ if (check9(input)) return action9(action_arg);
952
+ if (check10(input)) return action10(action_arg);
953
+ if (check11(input)) return action11(action_arg);
954
+ if (check12(input)) return action12(action_arg);
955
+ if (check13(input)) return action13(action_arg);
956
+ if (check14(input)) return action14(action_arg);
957
+ if (check15(input)) return action15(action_arg);
958
+ if (check16(input)) return action16(action_arg);
959
+ if (check17(input)) return action17(action_arg);
960
+ if (check18(input)) return action18(action_arg);
961
+ if (check19(input)) return action19(action_arg);
962
+ if (check20(input)) return action20(action_arg);
963
+ if (check21(input)) return action21(action_arg);
964
+ if (check22(input)) return action22(action_arg);
965
+ if (check23(input)) return action23(action_arg);
966
+ if (check24(input)) return action24(action_arg);
967
+ if (check25(input)) return action25(action_arg);
968
+ if (check26(input)) return action26(action_arg);
969
+ return action_fail(action_arg);
970
+ }
971
+
972
+ template <
973
+ typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
974
+ typename Check1, typename Check2, typename Check3, typename Check4,
975
+ typename Check5, typename Check6, typename Check7, typename Check8,
976
+ typename Check9, typename Check10, typename Check11, typename Check12,
977
+ typename Check13, typename Check14, typename Check15, typename Check16,
978
+ typename Check17, typename Check18, typename Check19, typename Check20,
979
+ typename Check21, typename Check22, typename Check23, typename Check24,
980
+ typename Check25, typename Check26, typename Check27, typename Action0,
981
+ typename Action1, typename Action2, typename Action3, typename Action4,
982
+ typename Action5, typename Action6, typename Action7, typename Action8,
983
+ typename Action9, typename Action10, typename Action11, typename Action12,
984
+ typename Action13, typename Action14, typename Action15, typename Action16,
985
+ typename Action17, typename Action18, typename Action19, typename Action20,
986
+ typename Action21, typename Action22, typename Action23, typename Action24,
987
+ typename Action25, typename Action26, typename Action27>
988
+ auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
989
+ Check0 check0, Check1 check1, Check2 check2, Check3 check3,
990
+ Check4 check4, Check5 check5, Check6 check6, Check7 check7,
991
+ Check8 check8, Check9 check9, Check10 check10, Check11 check11,
992
+ Check12 check12, Check13 check13, Check14 check14, Check15 check15,
993
+ Check16 check16, Check17 check17, Check18 check18, Check19 check19,
994
+ Check20 check20, Check21 check21, Check22 check22, Check23 check23,
995
+ Check24 check24, Check25 check25, Check26 check26, Check27 check27,
996
+ Action0 action0, Action1 action1, Action2 action2, Action3 action3,
997
+ Action4 action4, Action5 action5, Action6 action6, Action7 action7,
998
+ Action8 action8, Action9 action9, Action10 action10,
999
+ Action11 action11, Action12 action12, Action13 action13,
1000
+ Action14 action14, Action15 action15, Action16 action16,
1001
+ Action17 action17, Action18 action18, Action19 action19,
1002
+ Action20 action20, Action21 action21, Action22 action22,
1003
+ Action23 action23, Action24 action24, Action25 action25,
1004
+ Action26 action26, Action27 action27) {
1005
+ if (check0(input)) return action0(action_arg);
1006
+ if (check1(input)) return action1(action_arg);
1007
+ if (check2(input)) return action2(action_arg);
1008
+ if (check3(input)) return action3(action_arg);
1009
+ if (check4(input)) return action4(action_arg);
1010
+ if (check5(input)) return action5(action_arg);
1011
+ if (check6(input)) return action6(action_arg);
1012
+ if (check7(input)) return action7(action_arg);
1013
+ if (check8(input)) return action8(action_arg);
1014
+ if (check9(input)) return action9(action_arg);
1015
+ if (check10(input)) return action10(action_arg);
1016
+ if (check11(input)) return action11(action_arg);
1017
+ if (check12(input)) return action12(action_arg);
1018
+ if (check13(input)) return action13(action_arg);
1019
+ if (check14(input)) return action14(action_arg);
1020
+ if (check15(input)) return action15(action_arg);
1021
+ if (check16(input)) return action16(action_arg);
1022
+ if (check17(input)) return action17(action_arg);
1023
+ if (check18(input)) return action18(action_arg);
1024
+ if (check19(input)) return action19(action_arg);
1025
+ if (check20(input)) return action20(action_arg);
1026
+ if (check21(input)) return action21(action_arg);
1027
+ if (check22(input)) return action22(action_arg);
1028
+ if (check23(input)) return action23(action_arg);
1029
+ if (check24(input)) return action24(action_arg);
1030
+ if (check25(input)) return action25(action_arg);
1031
+ if (check26(input)) return action26(action_arg);
1032
+ if (check27(input)) return action27(action_arg);
1033
+ return action_fail(action_arg);
1034
+ }
1035
+
1036
+ template <
1037
+ typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
1038
+ typename Check1, typename Check2, typename Check3, typename Check4,
1039
+ typename Check5, typename Check6, typename Check7, typename Check8,
1040
+ typename Check9, typename Check10, typename Check11, typename Check12,
1041
+ typename Check13, typename Check14, typename Check15, typename Check16,
1042
+ typename Check17, typename Check18, typename Check19, typename Check20,
1043
+ typename Check21, typename Check22, typename Check23, typename Check24,
1044
+ typename Check25, typename Check26, typename Check27, typename Check28,
1045
+ typename Action0, typename Action1, typename Action2, typename Action3,
1046
+ typename Action4, typename Action5, typename Action6, typename Action7,
1047
+ typename Action8, typename Action9, typename Action10, typename Action11,
1048
+ typename Action12, typename Action13, typename Action14, typename Action15,
1049
+ typename Action16, typename Action17, typename Action18, typename Action19,
1050
+ typename Action20, typename Action21, typename Action22, typename Action23,
1051
+ typename Action24, typename Action25, typename Action26, typename Action27,
1052
+ typename Action28>
1053
+ auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
1054
+ Check0 check0, Check1 check1, Check2 check2, Check3 check3,
1055
+ Check4 check4, Check5 check5, Check6 check6, Check7 check7,
1056
+ Check8 check8, Check9 check9, Check10 check10, Check11 check11,
1057
+ Check12 check12, Check13 check13, Check14 check14, Check15 check15,
1058
+ Check16 check16, Check17 check17, Check18 check18, Check19 check19,
1059
+ Check20 check20, Check21 check21, Check22 check22, Check23 check23,
1060
+ Check24 check24, Check25 check25, Check26 check26, Check27 check27,
1061
+ Check28 check28, Action0 action0, Action1 action1, Action2 action2,
1062
+ Action3 action3, Action4 action4, Action5 action5, Action6 action6,
1063
+ Action7 action7, Action8 action8, Action9 action9,
1064
+ Action10 action10, Action11 action11, Action12 action12,
1065
+ Action13 action13, Action14 action14, Action15 action15,
1066
+ Action16 action16, Action17 action17, Action18 action18,
1067
+ Action19 action19, Action20 action20, Action21 action21,
1068
+ Action22 action22, Action23 action23, Action24 action24,
1069
+ Action25 action25, Action26 action26, Action27 action27,
1070
+ Action28 action28) {
1071
+ if (check0(input)) return action0(action_arg);
1072
+ if (check1(input)) return action1(action_arg);
1073
+ if (check2(input)) return action2(action_arg);
1074
+ if (check3(input)) return action3(action_arg);
1075
+ if (check4(input)) return action4(action_arg);
1076
+ if (check5(input)) return action5(action_arg);
1077
+ if (check6(input)) return action6(action_arg);
1078
+ if (check7(input)) return action7(action_arg);
1079
+ if (check8(input)) return action8(action_arg);
1080
+ if (check9(input)) return action9(action_arg);
1081
+ if (check10(input)) return action10(action_arg);
1082
+ if (check11(input)) return action11(action_arg);
1083
+ if (check12(input)) return action12(action_arg);
1084
+ if (check13(input)) return action13(action_arg);
1085
+ if (check14(input)) return action14(action_arg);
1086
+ if (check15(input)) return action15(action_arg);
1087
+ if (check16(input)) return action16(action_arg);
1088
+ if (check17(input)) return action17(action_arg);
1089
+ if (check18(input)) return action18(action_arg);
1090
+ if (check19(input)) return action19(action_arg);
1091
+ if (check20(input)) return action20(action_arg);
1092
+ if (check21(input)) return action21(action_arg);
1093
+ if (check22(input)) return action22(action_arg);
1094
+ if (check23(input)) return action23(action_arg);
1095
+ if (check24(input)) return action24(action_arg);
1096
+ if (check25(input)) return action25(action_arg);
1097
+ if (check26(input)) return action26(action_arg);
1098
+ if (check27(input)) return action27(action_arg);
1099
+ if (check28(input)) return action28(action_arg);
1100
+ return action_fail(action_arg);
1101
+ }
1102
+
1103
+ template <
1104
+ typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
1105
+ typename Check1, typename Check2, typename Check3, typename Check4,
1106
+ typename Check5, typename Check6, typename Check7, typename Check8,
1107
+ typename Check9, typename Check10, typename Check11, typename Check12,
1108
+ typename Check13, typename Check14, typename Check15, typename Check16,
1109
+ typename Check17, typename Check18, typename Check19, typename Check20,
1110
+ typename Check21, typename Check22, typename Check23, typename Check24,
1111
+ typename Check25, typename Check26, typename Check27, typename Check28,
1112
+ typename Check29, typename Action0, typename Action1, typename Action2,
1113
+ typename Action3, typename Action4, typename Action5, typename Action6,
1114
+ typename Action7, typename Action8, typename Action9, typename Action10,
1115
+ typename Action11, typename Action12, typename Action13, typename Action14,
1116
+ typename Action15, typename Action16, typename Action17, typename Action18,
1117
+ typename Action19, typename Action20, typename Action21, typename Action22,
1118
+ typename Action23, typename Action24, typename Action25, typename Action26,
1119
+ typename Action27, typename Action28, typename Action29>
1120
+ auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
1121
+ Check0 check0, Check1 check1, Check2 check2, Check3 check3,
1122
+ Check4 check4, Check5 check5, Check6 check6, Check7 check7,
1123
+ Check8 check8, Check9 check9, Check10 check10, Check11 check11,
1124
+ Check12 check12, Check13 check13, Check14 check14, Check15 check15,
1125
+ Check16 check16, Check17 check17, Check18 check18, Check19 check19,
1126
+ Check20 check20, Check21 check21, Check22 check22, Check23 check23,
1127
+ Check24 check24, Check25 check25, Check26 check26, Check27 check27,
1128
+ Check28 check28, Check29 check29, Action0 action0, Action1 action1,
1129
+ Action2 action2, Action3 action3, Action4 action4, Action5 action5,
1130
+ Action6 action6, Action7 action7, Action8 action8, Action9 action9,
1131
+ Action10 action10, Action11 action11, Action12 action12,
1132
+ Action13 action13, Action14 action14, Action15 action15,
1133
+ Action16 action16, Action17 action17, Action18 action18,
1134
+ Action19 action19, Action20 action20, Action21 action21,
1135
+ Action22 action22, Action23 action23, Action24 action24,
1136
+ Action25 action25, Action26 action26, Action27 action27,
1137
+ Action28 action28, Action29 action29) {
1138
+ if (check0(input)) return action0(action_arg);
1139
+ if (check1(input)) return action1(action_arg);
1140
+ if (check2(input)) return action2(action_arg);
1141
+ if (check3(input)) return action3(action_arg);
1142
+ if (check4(input)) return action4(action_arg);
1143
+ if (check5(input)) return action5(action_arg);
1144
+ if (check6(input)) return action6(action_arg);
1145
+ if (check7(input)) return action7(action_arg);
1146
+ if (check8(input)) return action8(action_arg);
1147
+ if (check9(input)) return action9(action_arg);
1148
+ if (check10(input)) return action10(action_arg);
1149
+ if (check11(input)) return action11(action_arg);
1150
+ if (check12(input)) return action12(action_arg);
1151
+ if (check13(input)) return action13(action_arg);
1152
+ if (check14(input)) return action14(action_arg);
1153
+ if (check15(input)) return action15(action_arg);
1154
+ if (check16(input)) return action16(action_arg);
1155
+ if (check17(input)) return action17(action_arg);
1156
+ if (check18(input)) return action18(action_arg);
1157
+ if (check19(input)) return action19(action_arg);
1158
+ if (check20(input)) return action20(action_arg);
1159
+ if (check21(input)) return action21(action_arg);
1160
+ if (check22(input)) return action22(action_arg);
1161
+ if (check23(input)) return action23(action_arg);
1162
+ if (check24(input)) return action24(action_arg);
1163
+ if (check25(input)) return action25(action_arg);
1164
+ if (check26(input)) return action26(action_arg);
1165
+ if (check27(input)) return action27(action_arg);
1166
+ if (check28(input)) return action28(action_arg);
1167
+ if (check29(input)) return action29(action_arg);
1168
+ return action_fail(action_arg);
1169
+ }
1170
+
1171
+ template <
1172
+ typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
1173
+ typename Check1, typename Check2, typename Check3, typename Check4,
1174
+ typename Check5, typename Check6, typename Check7, typename Check8,
1175
+ typename Check9, typename Check10, typename Check11, typename Check12,
1176
+ typename Check13, typename Check14, typename Check15, typename Check16,
1177
+ typename Check17, typename Check18, typename Check19, typename Check20,
1178
+ typename Check21, typename Check22, typename Check23, typename Check24,
1179
+ typename Check25, typename Check26, typename Check27, typename Check28,
1180
+ typename Check29, typename Check30, typename Action0, typename Action1,
1181
+ typename Action2, typename Action3, typename Action4, typename Action5,
1182
+ typename Action6, typename Action7, typename Action8, typename Action9,
1183
+ typename Action10, typename Action11, typename Action12, typename Action13,
1184
+ typename Action14, typename Action15, typename Action16, typename Action17,
1185
+ typename Action18, typename Action19, typename Action20, typename Action21,
1186
+ typename Action22, typename Action23, typename Action24, typename Action25,
1187
+ typename Action26, typename Action27, typename Action28, typename Action29,
1188
+ typename Action30>
1189
+ auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
1190
+ Check0 check0, Check1 check1, Check2 check2, Check3 check3,
1191
+ Check4 check4, Check5 check5, Check6 check6, Check7 check7,
1192
+ Check8 check8, Check9 check9, Check10 check10, Check11 check11,
1193
+ Check12 check12, Check13 check13, Check14 check14, Check15 check15,
1194
+ Check16 check16, Check17 check17, Check18 check18, Check19 check19,
1195
+ Check20 check20, Check21 check21, Check22 check22, Check23 check23,
1196
+ Check24 check24, Check25 check25, Check26 check26, Check27 check27,
1197
+ Check28 check28, Check29 check29, Check30 check30, Action0 action0,
1198
+ Action1 action1, Action2 action2, Action3 action3, Action4 action4,
1199
+ Action5 action5, Action6 action6, Action7 action7, Action8 action8,
1200
+ Action9 action9, Action10 action10, Action11 action11,
1201
+ Action12 action12, Action13 action13, Action14 action14,
1202
+ Action15 action15, Action16 action16, Action17 action17,
1203
+ Action18 action18, Action19 action19, Action20 action20,
1204
+ Action21 action21, Action22 action22, Action23 action23,
1205
+ Action24 action24, Action25 action25, Action26 action26,
1206
+ Action27 action27, Action28 action28, Action29 action29,
1207
+ Action30 action30) {
1208
+ if (check0(input)) return action0(action_arg);
1209
+ if (check1(input)) return action1(action_arg);
1210
+ if (check2(input)) return action2(action_arg);
1211
+ if (check3(input)) return action3(action_arg);
1212
+ if (check4(input)) return action4(action_arg);
1213
+ if (check5(input)) return action5(action_arg);
1214
+ if (check6(input)) return action6(action_arg);
1215
+ if (check7(input)) return action7(action_arg);
1216
+ if (check8(input)) return action8(action_arg);
1217
+ if (check9(input)) return action9(action_arg);
1218
+ if (check10(input)) return action10(action_arg);
1219
+ if (check11(input)) return action11(action_arg);
1220
+ if (check12(input)) return action12(action_arg);
1221
+ if (check13(input)) return action13(action_arg);
1222
+ if (check14(input)) return action14(action_arg);
1223
+ if (check15(input)) return action15(action_arg);
1224
+ if (check16(input)) return action16(action_arg);
1225
+ if (check17(input)) return action17(action_arg);
1226
+ if (check18(input)) return action18(action_arg);
1227
+ if (check19(input)) return action19(action_arg);
1228
+ if (check20(input)) return action20(action_arg);
1229
+ if (check21(input)) return action21(action_arg);
1230
+ if (check22(input)) return action22(action_arg);
1231
+ if (check23(input)) return action23(action_arg);
1232
+ if (check24(input)) return action24(action_arg);
1233
+ if (check25(input)) return action25(action_arg);
1234
+ if (check26(input)) return action26(action_arg);
1235
+ if (check27(input)) return action27(action_arg);
1236
+ if (check28(input)) return action28(action_arg);
1237
+ if (check29(input)) return action29(action_arg);
1238
+ if (check30(input)) return action30(action_arg);
1239
+ return action_fail(action_arg);
1240
+ }
1241
+
1242
+ template <
1243
+ typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
1244
+ typename Check1, typename Check2, typename Check3, typename Check4,
1245
+ typename Check5, typename Check6, typename Check7, typename Check8,
1246
+ typename Check9, typename Check10, typename Check11, typename Check12,
1247
+ typename Check13, typename Check14, typename Check15, typename Check16,
1248
+ typename Check17, typename Check18, typename Check19, typename Check20,
1249
+ typename Check21, typename Check22, typename Check23, typename Check24,
1250
+ typename Check25, typename Check26, typename Check27, typename Check28,
1251
+ typename Check29, typename Check30, typename Check31, typename Action0,
1252
+ typename Action1, typename Action2, typename Action3, typename Action4,
1253
+ typename Action5, typename Action6, typename Action7, typename Action8,
1254
+ typename Action9, typename Action10, typename Action11, typename Action12,
1255
+ typename Action13, typename Action14, typename Action15, typename Action16,
1256
+ typename Action17, typename Action18, typename Action19, typename Action20,
1257
+ typename Action21, typename Action22, typename Action23, typename Action24,
1258
+ typename Action25, typename Action26, typename Action27, typename Action28,
1259
+ typename Action29, typename Action30, typename Action31>
1260
+ auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
1261
+ Check0 check0, Check1 check1, Check2 check2, Check3 check3,
1262
+ Check4 check4, Check5 check5, Check6 check6, Check7 check7,
1263
+ Check8 check8, Check9 check9, Check10 check10, Check11 check11,
1264
+ Check12 check12, Check13 check13, Check14 check14, Check15 check15,
1265
+ Check16 check16, Check17 check17, Check18 check18, Check19 check19,
1266
+ Check20 check20, Check21 check21, Check22 check22, Check23 check23,
1267
+ Check24 check24, Check25 check25, Check26 check26, Check27 check27,
1268
+ Check28 check28, Check29 check29, Check30 check30, Check31 check31,
1269
+ Action0 action0, Action1 action1, Action2 action2, Action3 action3,
1270
+ Action4 action4, Action5 action5, Action6 action6, Action7 action7,
1271
+ Action8 action8, Action9 action9, Action10 action10,
1272
+ Action11 action11, Action12 action12, Action13 action13,
1273
+ Action14 action14, Action15 action15, Action16 action16,
1274
+ Action17 action17, Action18 action18, Action19 action19,
1275
+ Action20 action20, Action21 action21, Action22 action22,
1276
+ Action23 action23, Action24 action24, Action25 action25,
1277
+ Action26 action26, Action27 action27, Action28 action28,
1278
+ Action29 action29, Action30 action30, Action31 action31) {
1279
+ if (check0(input)) return action0(action_arg);
1280
+ if (check1(input)) return action1(action_arg);
1281
+ if (check2(input)) return action2(action_arg);
1282
+ if (check3(input)) return action3(action_arg);
1283
+ if (check4(input)) return action4(action_arg);
1284
+ if (check5(input)) return action5(action_arg);
1285
+ if (check6(input)) return action6(action_arg);
1286
+ if (check7(input)) return action7(action_arg);
1287
+ if (check8(input)) return action8(action_arg);
1288
+ if (check9(input)) return action9(action_arg);
1289
+ if (check10(input)) return action10(action_arg);
1290
+ if (check11(input)) return action11(action_arg);
1291
+ if (check12(input)) return action12(action_arg);
1292
+ if (check13(input)) return action13(action_arg);
1293
+ if (check14(input)) return action14(action_arg);
1294
+ if (check15(input)) return action15(action_arg);
1295
+ if (check16(input)) return action16(action_arg);
1296
+ if (check17(input)) return action17(action_arg);
1297
+ if (check18(input)) return action18(action_arg);
1298
+ if (check19(input)) return action19(action_arg);
1299
+ if (check20(input)) return action20(action_arg);
1300
+ if (check21(input)) return action21(action_arg);
1301
+ if (check22(input)) return action22(action_arg);
1302
+ if (check23(input)) return action23(action_arg);
1303
+ if (check24(input)) return action24(action_arg);
1304
+ if (check25(input)) return action25(action_arg);
1305
+ if (check26(input)) return action26(action_arg);
1306
+ if (check27(input)) return action27(action_arg);
1307
+ if (check28(input)) return action28(action_arg);
1308
+ if (check29(input)) return action29(action_arg);
1309
+ if (check30(input)) return action30(action_arg);
1310
+ if (check31(input)) return action31(action_arg);
1311
+ return action_fail(action_arg);
1312
+ }
1313
+
1314
+ template <
1315
+ typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
1316
+ typename Check1, typename Check2, typename Check3, typename Check4,
1317
+ typename Check5, typename Check6, typename Check7, typename Check8,
1318
+ typename Check9, typename Check10, typename Check11, typename Check12,
1319
+ typename Check13, typename Check14, typename Check15, typename Check16,
1320
+ typename Check17, typename Check18, typename Check19, typename Check20,
1321
+ typename Check21, typename Check22, typename Check23, typename Check24,
1322
+ typename Check25, typename Check26, typename Check27, typename Check28,
1323
+ typename Check29, typename Check30, typename Check31, typename Check32,
1324
+ typename Action0, typename Action1, typename Action2, typename Action3,
1325
+ typename Action4, typename Action5, typename Action6, typename Action7,
1326
+ typename Action8, typename Action9, typename Action10, typename Action11,
1327
+ typename Action12, typename Action13, typename Action14, typename Action15,
1328
+ typename Action16, typename Action17, typename Action18, typename Action19,
1329
+ typename Action20, typename Action21, typename Action22, typename Action23,
1330
+ typename Action24, typename Action25, typename Action26, typename Action27,
1331
+ typename Action28, typename Action29, typename Action30, typename Action31,
1332
+ typename Action32>
1333
+ auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
1334
+ Check0 check0, Check1 check1, Check2 check2, Check3 check3,
1335
+ Check4 check4, Check5 check5, Check6 check6, Check7 check7,
1336
+ Check8 check8, Check9 check9, Check10 check10, Check11 check11,
1337
+ Check12 check12, Check13 check13, Check14 check14, Check15 check15,
1338
+ Check16 check16, Check17 check17, Check18 check18, Check19 check19,
1339
+ Check20 check20, Check21 check21, Check22 check22, Check23 check23,
1340
+ Check24 check24, Check25 check25, Check26 check26, Check27 check27,
1341
+ Check28 check28, Check29 check29, Check30 check30, Check31 check31,
1342
+ Check32 check32, Action0 action0, Action1 action1, Action2 action2,
1343
+ Action3 action3, Action4 action4, Action5 action5, Action6 action6,
1344
+ Action7 action7, Action8 action8, Action9 action9,
1345
+ Action10 action10, Action11 action11, Action12 action12,
1346
+ Action13 action13, Action14 action14, Action15 action15,
1347
+ Action16 action16, Action17 action17, Action18 action18,
1348
+ Action19 action19, Action20 action20, Action21 action21,
1349
+ Action22 action22, Action23 action23, Action24 action24,
1350
+ Action25 action25, Action26 action26, Action27 action27,
1351
+ Action28 action28, Action29 action29, Action30 action30,
1352
+ Action31 action31, Action32 action32) {
1353
+ if (check0(input)) return action0(action_arg);
1354
+ if (check1(input)) return action1(action_arg);
1355
+ if (check2(input)) return action2(action_arg);
1356
+ if (check3(input)) return action3(action_arg);
1357
+ if (check4(input)) return action4(action_arg);
1358
+ if (check5(input)) return action5(action_arg);
1359
+ if (check6(input)) return action6(action_arg);
1360
+ if (check7(input)) return action7(action_arg);
1361
+ if (check8(input)) return action8(action_arg);
1362
+ if (check9(input)) return action9(action_arg);
1363
+ if (check10(input)) return action10(action_arg);
1364
+ if (check11(input)) return action11(action_arg);
1365
+ if (check12(input)) return action12(action_arg);
1366
+ if (check13(input)) return action13(action_arg);
1367
+ if (check14(input)) return action14(action_arg);
1368
+ if (check15(input)) return action15(action_arg);
1369
+ if (check16(input)) return action16(action_arg);
1370
+ if (check17(input)) return action17(action_arg);
1371
+ if (check18(input)) return action18(action_arg);
1372
+ if (check19(input)) return action19(action_arg);
1373
+ if (check20(input)) return action20(action_arg);
1374
+ if (check21(input)) return action21(action_arg);
1375
+ if (check22(input)) return action22(action_arg);
1376
+ if (check23(input)) return action23(action_arg);
1377
+ if (check24(input)) return action24(action_arg);
1378
+ if (check25(input)) return action25(action_arg);
1379
+ if (check26(input)) return action26(action_arg);
1380
+ if (check27(input)) return action27(action_arg);
1381
+ if (check28(input)) return action28(action_arg);
1382
+ if (check29(input)) return action29(action_arg);
1383
+ if (check30(input)) return action30(action_arg);
1384
+ if (check31(input)) return action31(action_arg);
1385
+ if (check32(input)) return action32(action_arg);
1386
+ return action_fail(action_arg);
1387
+ }
1388
+
1389
+ template <
1390
+ typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
1391
+ typename Check1, typename Check2, typename Check3, typename Check4,
1392
+ typename Check5, typename Check6, typename Check7, typename Check8,
1393
+ typename Check9, typename Check10, typename Check11, typename Check12,
1394
+ typename Check13, typename Check14, typename Check15, typename Check16,
1395
+ typename Check17, typename Check18, typename Check19, typename Check20,
1396
+ typename Check21, typename Check22, typename Check23, typename Check24,
1397
+ typename Check25, typename Check26, typename Check27, typename Check28,
1398
+ typename Check29, typename Check30, typename Check31, typename Check32,
1399
+ typename Check33, typename Action0, typename Action1, typename Action2,
1400
+ typename Action3, typename Action4, typename Action5, typename Action6,
1401
+ typename Action7, typename Action8, typename Action9, typename Action10,
1402
+ typename Action11, typename Action12, typename Action13, typename Action14,
1403
+ typename Action15, typename Action16, typename Action17, typename Action18,
1404
+ typename Action19, typename Action20, typename Action21, typename Action22,
1405
+ typename Action23, typename Action24, typename Action25, typename Action26,
1406
+ typename Action27, typename Action28, typename Action29, typename Action30,
1407
+ typename Action31, typename Action32, typename Action33>
1408
+ auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
1409
+ Check0 check0, Check1 check1, Check2 check2, Check3 check3,
1410
+ Check4 check4, Check5 check5, Check6 check6, Check7 check7,
1411
+ Check8 check8, Check9 check9, Check10 check10, Check11 check11,
1412
+ Check12 check12, Check13 check13, Check14 check14, Check15 check15,
1413
+ Check16 check16, Check17 check17, Check18 check18, Check19 check19,
1414
+ Check20 check20, Check21 check21, Check22 check22, Check23 check23,
1415
+ Check24 check24, Check25 check25, Check26 check26, Check27 check27,
1416
+ Check28 check28, Check29 check29, Check30 check30, Check31 check31,
1417
+ Check32 check32, Check33 check33, Action0 action0, Action1 action1,
1418
+ Action2 action2, Action3 action3, Action4 action4, Action5 action5,
1419
+ Action6 action6, Action7 action7, Action8 action8, Action9 action9,
1420
+ Action10 action10, Action11 action11, Action12 action12,
1421
+ Action13 action13, Action14 action14, Action15 action15,
1422
+ Action16 action16, Action17 action17, Action18 action18,
1423
+ Action19 action19, Action20 action20, Action21 action21,
1424
+ Action22 action22, Action23 action23, Action24 action24,
1425
+ Action25 action25, Action26 action26, Action27 action27,
1426
+ Action28 action28, Action29 action29, Action30 action30,
1427
+ Action31 action31, Action32 action32, Action33 action33) {
1428
+ if (check0(input)) return action0(action_arg);
1429
+ if (check1(input)) return action1(action_arg);
1430
+ if (check2(input)) return action2(action_arg);
1431
+ if (check3(input)) return action3(action_arg);
1432
+ if (check4(input)) return action4(action_arg);
1433
+ if (check5(input)) return action5(action_arg);
1434
+ if (check6(input)) return action6(action_arg);
1435
+ if (check7(input)) return action7(action_arg);
1436
+ if (check8(input)) return action8(action_arg);
1437
+ if (check9(input)) return action9(action_arg);
1438
+ if (check10(input)) return action10(action_arg);
1439
+ if (check11(input)) return action11(action_arg);
1440
+ if (check12(input)) return action12(action_arg);
1441
+ if (check13(input)) return action13(action_arg);
1442
+ if (check14(input)) return action14(action_arg);
1443
+ if (check15(input)) return action15(action_arg);
1444
+ if (check16(input)) return action16(action_arg);
1445
+ if (check17(input)) return action17(action_arg);
1446
+ if (check18(input)) return action18(action_arg);
1447
+ if (check19(input)) return action19(action_arg);
1448
+ if (check20(input)) return action20(action_arg);
1449
+ if (check21(input)) return action21(action_arg);
1450
+ if (check22(input)) return action22(action_arg);
1451
+ if (check23(input)) return action23(action_arg);
1452
+ if (check24(input)) return action24(action_arg);
1453
+ if (check25(input)) return action25(action_arg);
1454
+ if (check26(input)) return action26(action_arg);
1455
+ if (check27(input)) return action27(action_arg);
1456
+ if (check28(input)) return action28(action_arg);
1457
+ if (check29(input)) return action29(action_arg);
1458
+ if (check30(input)) return action30(action_arg);
1459
+ if (check31(input)) return action31(action_arg);
1460
+ if (check32(input)) return action32(action_arg);
1461
+ if (check33(input)) return action33(action_arg);
1462
+ return action_fail(action_arg);
1463
+ }
1464
+
1465
+ template <
1466
+ typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
1467
+ typename Check1, typename Check2, typename Check3, typename Check4,
1468
+ typename Check5, typename Check6, typename Check7, typename Check8,
1469
+ typename Check9, typename Check10, typename Check11, typename Check12,
1470
+ typename Check13, typename Check14, typename Check15, typename Check16,
1471
+ typename Check17, typename Check18, typename Check19, typename Check20,
1472
+ typename Check21, typename Check22, typename Check23, typename Check24,
1473
+ typename Check25, typename Check26, typename Check27, typename Check28,
1474
+ typename Check29, typename Check30, typename Check31, typename Check32,
1475
+ typename Check33, typename Check34, typename Action0, typename Action1,
1476
+ typename Action2, typename Action3, typename Action4, typename Action5,
1477
+ typename Action6, typename Action7, typename Action8, typename Action9,
1478
+ typename Action10, typename Action11, typename Action12, typename Action13,
1479
+ typename Action14, typename Action15, typename Action16, typename Action17,
1480
+ typename Action18, typename Action19, typename Action20, typename Action21,
1481
+ typename Action22, typename Action23, typename Action24, typename Action25,
1482
+ typename Action26, typename Action27, typename Action28, typename Action29,
1483
+ typename Action30, typename Action31, typename Action32, typename Action33,
1484
+ typename Action34>
1485
+ auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
1486
+ Check0 check0, Check1 check1, Check2 check2, Check3 check3,
1487
+ Check4 check4, Check5 check5, Check6 check6, Check7 check7,
1488
+ Check8 check8, Check9 check9, Check10 check10, Check11 check11,
1489
+ Check12 check12, Check13 check13, Check14 check14, Check15 check15,
1490
+ Check16 check16, Check17 check17, Check18 check18, Check19 check19,
1491
+ Check20 check20, Check21 check21, Check22 check22, Check23 check23,
1492
+ Check24 check24, Check25 check25, Check26 check26, Check27 check27,
1493
+ Check28 check28, Check29 check29, Check30 check30, Check31 check31,
1494
+ Check32 check32, Check33 check33, Check34 check34, Action0 action0,
1495
+ Action1 action1, Action2 action2, Action3 action3, Action4 action4,
1496
+ Action5 action5, Action6 action6, Action7 action7, Action8 action8,
1497
+ Action9 action9, Action10 action10, Action11 action11,
1498
+ Action12 action12, Action13 action13, Action14 action14,
1499
+ Action15 action15, Action16 action16, Action17 action17,
1500
+ Action18 action18, Action19 action19, Action20 action20,
1501
+ Action21 action21, Action22 action22, Action23 action23,
1502
+ Action24 action24, Action25 action25, Action26 action26,
1503
+ Action27 action27, Action28 action28, Action29 action29,
1504
+ Action30 action30, Action31 action31, Action32 action32,
1505
+ Action33 action33, Action34 action34) {
1506
+ if (check0(input)) return action0(action_arg);
1507
+ if (check1(input)) return action1(action_arg);
1508
+ if (check2(input)) return action2(action_arg);
1509
+ if (check3(input)) return action3(action_arg);
1510
+ if (check4(input)) return action4(action_arg);
1511
+ if (check5(input)) return action5(action_arg);
1512
+ if (check6(input)) return action6(action_arg);
1513
+ if (check7(input)) return action7(action_arg);
1514
+ if (check8(input)) return action8(action_arg);
1515
+ if (check9(input)) return action9(action_arg);
1516
+ if (check10(input)) return action10(action_arg);
1517
+ if (check11(input)) return action11(action_arg);
1518
+ if (check12(input)) return action12(action_arg);
1519
+ if (check13(input)) return action13(action_arg);
1520
+ if (check14(input)) return action14(action_arg);
1521
+ if (check15(input)) return action15(action_arg);
1522
+ if (check16(input)) return action16(action_arg);
1523
+ if (check17(input)) return action17(action_arg);
1524
+ if (check18(input)) return action18(action_arg);
1525
+ if (check19(input)) return action19(action_arg);
1526
+ if (check20(input)) return action20(action_arg);
1527
+ if (check21(input)) return action21(action_arg);
1528
+ if (check22(input)) return action22(action_arg);
1529
+ if (check23(input)) return action23(action_arg);
1530
+ if (check24(input)) return action24(action_arg);
1531
+ if (check25(input)) return action25(action_arg);
1532
+ if (check26(input)) return action26(action_arg);
1533
+ if (check27(input)) return action27(action_arg);
1534
+ if (check28(input)) return action28(action_arg);
1535
+ if (check29(input)) return action29(action_arg);
1536
+ if (check30(input)) return action30(action_arg);
1537
+ if (check31(input)) return action31(action_arg);
1538
+ if (check32(input)) return action32(action_arg);
1539
+ if (check33(input)) return action33(action_arg);
1540
+ if (check34(input)) return action34(action_arg);
1541
+ return action_fail(action_arg);
1542
+ }
1543
+
1544
+ template <
1545
+ typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
1546
+ typename Check1, typename Check2, typename Check3, typename Check4,
1547
+ typename Check5, typename Check6, typename Check7, typename Check8,
1548
+ typename Check9, typename Check10, typename Check11, typename Check12,
1549
+ typename Check13, typename Check14, typename Check15, typename Check16,
1550
+ typename Check17, typename Check18, typename Check19, typename Check20,
1551
+ typename Check21, typename Check22, typename Check23, typename Check24,
1552
+ typename Check25, typename Check26, typename Check27, typename Check28,
1553
+ typename Check29, typename Check30, typename Check31, typename Check32,
1554
+ typename Check33, typename Check34, typename Check35, typename Action0,
1555
+ typename Action1, typename Action2, typename Action3, typename Action4,
1556
+ typename Action5, typename Action6, typename Action7, typename Action8,
1557
+ typename Action9, typename Action10, typename Action11, typename Action12,
1558
+ typename Action13, typename Action14, typename Action15, typename Action16,
1559
+ typename Action17, typename Action18, typename Action19, typename Action20,
1560
+ typename Action21, typename Action22, typename Action23, typename Action24,
1561
+ typename Action25, typename Action26, typename Action27, typename Action28,
1562
+ typename Action29, typename Action30, typename Action31, typename Action32,
1563
+ typename Action33, typename Action34, typename Action35>
1564
+ auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
1565
+ Check0 check0, Check1 check1, Check2 check2, Check3 check3,
1566
+ Check4 check4, Check5 check5, Check6 check6, Check7 check7,
1567
+ Check8 check8, Check9 check9, Check10 check10, Check11 check11,
1568
+ Check12 check12, Check13 check13, Check14 check14, Check15 check15,
1569
+ Check16 check16, Check17 check17, Check18 check18, Check19 check19,
1570
+ Check20 check20, Check21 check21, Check22 check22, Check23 check23,
1571
+ Check24 check24, Check25 check25, Check26 check26, Check27 check27,
1572
+ Check28 check28, Check29 check29, Check30 check30, Check31 check31,
1573
+ Check32 check32, Check33 check33, Check34 check34, Check35 check35,
1574
+ Action0 action0, Action1 action1, Action2 action2, Action3 action3,
1575
+ Action4 action4, Action5 action5, Action6 action6, Action7 action7,
1576
+ Action8 action8, Action9 action9, Action10 action10,
1577
+ Action11 action11, Action12 action12, Action13 action13,
1578
+ Action14 action14, Action15 action15, Action16 action16,
1579
+ Action17 action17, Action18 action18, Action19 action19,
1580
+ Action20 action20, Action21 action21, Action22 action22,
1581
+ Action23 action23, Action24 action24, Action25 action25,
1582
+ Action26 action26, Action27 action27, Action28 action28,
1583
+ Action29 action29, Action30 action30, Action31 action31,
1584
+ Action32 action32, Action33 action33, Action34 action34,
1585
+ Action35 action35) {
1586
+ if (check0(input)) return action0(action_arg);
1587
+ if (check1(input)) return action1(action_arg);
1588
+ if (check2(input)) return action2(action_arg);
1589
+ if (check3(input)) return action3(action_arg);
1590
+ if (check4(input)) return action4(action_arg);
1591
+ if (check5(input)) return action5(action_arg);
1592
+ if (check6(input)) return action6(action_arg);
1593
+ if (check7(input)) return action7(action_arg);
1594
+ if (check8(input)) return action8(action_arg);
1595
+ if (check9(input)) return action9(action_arg);
1596
+ if (check10(input)) return action10(action_arg);
1597
+ if (check11(input)) return action11(action_arg);
1598
+ if (check12(input)) return action12(action_arg);
1599
+ if (check13(input)) return action13(action_arg);
1600
+ if (check14(input)) return action14(action_arg);
1601
+ if (check15(input)) return action15(action_arg);
1602
+ if (check16(input)) return action16(action_arg);
1603
+ if (check17(input)) return action17(action_arg);
1604
+ if (check18(input)) return action18(action_arg);
1605
+ if (check19(input)) return action19(action_arg);
1606
+ if (check20(input)) return action20(action_arg);
1607
+ if (check21(input)) return action21(action_arg);
1608
+ if (check22(input)) return action22(action_arg);
1609
+ if (check23(input)) return action23(action_arg);
1610
+ if (check24(input)) return action24(action_arg);
1611
+ if (check25(input)) return action25(action_arg);
1612
+ if (check26(input)) return action26(action_arg);
1613
+ if (check27(input)) return action27(action_arg);
1614
+ if (check28(input)) return action28(action_arg);
1615
+ if (check29(input)) return action29(action_arg);
1616
+ if (check30(input)) return action30(action_arg);
1617
+ if (check31(input)) return action31(action_arg);
1618
+ if (check32(input)) return action32(action_arg);
1619
+ if (check33(input)) return action33(action_arg);
1620
+ if (check34(input)) return action34(action_arg);
1621
+ if (check35(input)) return action35(action_arg);
1622
+ return action_fail(action_arg);
1623
+ }
1624
+
1625
+ template <
1626
+ typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
1627
+ typename Check1, typename Check2, typename Check3, typename Check4,
1628
+ typename Check5, typename Check6, typename Check7, typename Check8,
1629
+ typename Check9, typename Check10, typename Check11, typename Check12,
1630
+ typename Check13, typename Check14, typename Check15, typename Check16,
1631
+ typename Check17, typename Check18, typename Check19, typename Check20,
1632
+ typename Check21, typename Check22, typename Check23, typename Check24,
1633
+ typename Check25, typename Check26, typename Check27, typename Check28,
1634
+ typename Check29, typename Check30, typename Check31, typename Check32,
1635
+ typename Check33, typename Check34, typename Check35, typename Check36,
1636
+ typename Action0, typename Action1, typename Action2, typename Action3,
1637
+ typename Action4, typename Action5, typename Action6, typename Action7,
1638
+ typename Action8, typename Action9, typename Action10, typename Action11,
1639
+ typename Action12, typename Action13, typename Action14, typename Action15,
1640
+ typename Action16, typename Action17, typename Action18, typename Action19,
1641
+ typename Action20, typename Action21, typename Action22, typename Action23,
1642
+ typename Action24, typename Action25, typename Action26, typename Action27,
1643
+ typename Action28, typename Action29, typename Action30, typename Action31,
1644
+ typename Action32, typename Action33, typename Action34, typename Action35,
1645
+ typename Action36>
1646
+ auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
1647
+ Check0 check0, Check1 check1, Check2 check2, Check3 check3,
1648
+ Check4 check4, Check5 check5, Check6 check6, Check7 check7,
1649
+ Check8 check8, Check9 check9, Check10 check10, Check11 check11,
1650
+ Check12 check12, Check13 check13, Check14 check14, Check15 check15,
1651
+ Check16 check16, Check17 check17, Check18 check18, Check19 check19,
1652
+ Check20 check20, Check21 check21, Check22 check22, Check23 check23,
1653
+ Check24 check24, Check25 check25, Check26 check26, Check27 check27,
1654
+ Check28 check28, Check29 check29, Check30 check30, Check31 check31,
1655
+ Check32 check32, Check33 check33, Check34 check34, Check35 check35,
1656
+ Check36 check36, Action0 action0, Action1 action1, Action2 action2,
1657
+ Action3 action3, Action4 action4, Action5 action5, Action6 action6,
1658
+ Action7 action7, Action8 action8, Action9 action9,
1659
+ Action10 action10, Action11 action11, Action12 action12,
1660
+ Action13 action13, Action14 action14, Action15 action15,
1661
+ Action16 action16, Action17 action17, Action18 action18,
1662
+ Action19 action19, Action20 action20, Action21 action21,
1663
+ Action22 action22, Action23 action23, Action24 action24,
1664
+ Action25 action25, Action26 action26, Action27 action27,
1665
+ Action28 action28, Action29 action29, Action30 action30,
1666
+ Action31 action31, Action32 action32, Action33 action33,
1667
+ Action34 action34, Action35 action35, Action36 action36) {
1668
+ if (check0(input)) return action0(action_arg);
1669
+ if (check1(input)) return action1(action_arg);
1670
+ if (check2(input)) return action2(action_arg);
1671
+ if (check3(input)) return action3(action_arg);
1672
+ if (check4(input)) return action4(action_arg);
1673
+ if (check5(input)) return action5(action_arg);
1674
+ if (check6(input)) return action6(action_arg);
1675
+ if (check7(input)) return action7(action_arg);
1676
+ if (check8(input)) return action8(action_arg);
1677
+ if (check9(input)) return action9(action_arg);
1678
+ if (check10(input)) return action10(action_arg);
1679
+ if (check11(input)) return action11(action_arg);
1680
+ if (check12(input)) return action12(action_arg);
1681
+ if (check13(input)) return action13(action_arg);
1682
+ if (check14(input)) return action14(action_arg);
1683
+ if (check15(input)) return action15(action_arg);
1684
+ if (check16(input)) return action16(action_arg);
1685
+ if (check17(input)) return action17(action_arg);
1686
+ if (check18(input)) return action18(action_arg);
1687
+ if (check19(input)) return action19(action_arg);
1688
+ if (check20(input)) return action20(action_arg);
1689
+ if (check21(input)) return action21(action_arg);
1690
+ if (check22(input)) return action22(action_arg);
1691
+ if (check23(input)) return action23(action_arg);
1692
+ if (check24(input)) return action24(action_arg);
1693
+ if (check25(input)) return action25(action_arg);
1694
+ if (check26(input)) return action26(action_arg);
1695
+ if (check27(input)) return action27(action_arg);
1696
+ if (check28(input)) return action28(action_arg);
1697
+ if (check29(input)) return action29(action_arg);
1698
+ if (check30(input)) return action30(action_arg);
1699
+ if (check31(input)) return action31(action_arg);
1700
+ if (check32(input)) return action32(action_arg);
1701
+ if (check33(input)) return action33(action_arg);
1702
+ if (check34(input)) return action34(action_arg);
1703
+ if (check35(input)) return action35(action_arg);
1704
+ if (check36(input)) return action36(action_arg);
1705
+ return action_fail(action_arg);
1706
+ }
1707
+
1708
+ template <
1709
+ typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
1710
+ typename Check1, typename Check2, typename Check3, typename Check4,
1711
+ typename Check5, typename Check6, typename Check7, typename Check8,
1712
+ typename Check9, typename Check10, typename Check11, typename Check12,
1713
+ typename Check13, typename Check14, typename Check15, typename Check16,
1714
+ typename Check17, typename Check18, typename Check19, typename Check20,
1715
+ typename Check21, typename Check22, typename Check23, typename Check24,
1716
+ typename Check25, typename Check26, typename Check27, typename Check28,
1717
+ typename Check29, typename Check30, typename Check31, typename Check32,
1718
+ typename Check33, typename Check34, typename Check35, typename Check36,
1719
+ typename Check37, typename Action0, typename Action1, typename Action2,
1720
+ typename Action3, typename Action4, typename Action5, typename Action6,
1721
+ typename Action7, typename Action8, typename Action9, typename Action10,
1722
+ typename Action11, typename Action12, typename Action13, typename Action14,
1723
+ typename Action15, typename Action16, typename Action17, typename Action18,
1724
+ typename Action19, typename Action20, typename Action21, typename Action22,
1725
+ typename Action23, typename Action24, typename Action25, typename Action26,
1726
+ typename Action27, typename Action28, typename Action29, typename Action30,
1727
+ typename Action31, typename Action32, typename Action33, typename Action34,
1728
+ typename Action35, typename Action36, typename Action37>
1729
+ auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
1730
+ Check0 check0, Check1 check1, Check2 check2, Check3 check3,
1731
+ Check4 check4, Check5 check5, Check6 check6, Check7 check7,
1732
+ Check8 check8, Check9 check9, Check10 check10, Check11 check11,
1733
+ Check12 check12, Check13 check13, Check14 check14, Check15 check15,
1734
+ Check16 check16, Check17 check17, Check18 check18, Check19 check19,
1735
+ Check20 check20, Check21 check21, Check22 check22, Check23 check23,
1736
+ Check24 check24, Check25 check25, Check26 check26, Check27 check27,
1737
+ Check28 check28, Check29 check29, Check30 check30, Check31 check31,
1738
+ Check32 check32, Check33 check33, Check34 check34, Check35 check35,
1739
+ Check36 check36, Check37 check37, Action0 action0, Action1 action1,
1740
+ Action2 action2, Action3 action3, Action4 action4, Action5 action5,
1741
+ Action6 action6, Action7 action7, Action8 action8, Action9 action9,
1742
+ Action10 action10, Action11 action11, Action12 action12,
1743
+ Action13 action13, Action14 action14, Action15 action15,
1744
+ Action16 action16, Action17 action17, Action18 action18,
1745
+ Action19 action19, Action20 action20, Action21 action21,
1746
+ Action22 action22, Action23 action23, Action24 action24,
1747
+ Action25 action25, Action26 action26, Action27 action27,
1748
+ Action28 action28, Action29 action29, Action30 action30,
1749
+ Action31 action31, Action32 action32, Action33 action33,
1750
+ Action34 action34, Action35 action35, Action36 action36,
1751
+ Action37 action37) {
1752
+ if (check0(input)) return action0(action_arg);
1753
+ if (check1(input)) return action1(action_arg);
1754
+ if (check2(input)) return action2(action_arg);
1755
+ if (check3(input)) return action3(action_arg);
1756
+ if (check4(input)) return action4(action_arg);
1757
+ if (check5(input)) return action5(action_arg);
1758
+ if (check6(input)) return action6(action_arg);
1759
+ if (check7(input)) return action7(action_arg);
1760
+ if (check8(input)) return action8(action_arg);
1761
+ if (check9(input)) return action9(action_arg);
1762
+ if (check10(input)) return action10(action_arg);
1763
+ if (check11(input)) return action11(action_arg);
1764
+ if (check12(input)) return action12(action_arg);
1765
+ if (check13(input)) return action13(action_arg);
1766
+ if (check14(input)) return action14(action_arg);
1767
+ if (check15(input)) return action15(action_arg);
1768
+ if (check16(input)) return action16(action_arg);
1769
+ if (check17(input)) return action17(action_arg);
1770
+ if (check18(input)) return action18(action_arg);
1771
+ if (check19(input)) return action19(action_arg);
1772
+ if (check20(input)) return action20(action_arg);
1773
+ if (check21(input)) return action21(action_arg);
1774
+ if (check22(input)) return action22(action_arg);
1775
+ if (check23(input)) return action23(action_arg);
1776
+ if (check24(input)) return action24(action_arg);
1777
+ if (check25(input)) return action25(action_arg);
1778
+ if (check26(input)) return action26(action_arg);
1779
+ if (check27(input)) return action27(action_arg);
1780
+ if (check28(input)) return action28(action_arg);
1781
+ if (check29(input)) return action29(action_arg);
1782
+ if (check30(input)) return action30(action_arg);
1783
+ if (check31(input)) return action31(action_arg);
1784
+ if (check32(input)) return action32(action_arg);
1785
+ if (check33(input)) return action33(action_arg);
1786
+ if (check34(input)) return action34(action_arg);
1787
+ if (check35(input)) return action35(action_arg);
1788
+ if (check36(input)) return action36(action_arg);
1789
+ if (check37(input)) return action37(action_arg);
1790
+ return action_fail(action_arg);
1791
+ }
1792
+
1793
+ template <
1794
+ typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
1795
+ typename Check1, typename Check2, typename Check3, typename Check4,
1796
+ typename Check5, typename Check6, typename Check7, typename Check8,
1797
+ typename Check9, typename Check10, typename Check11, typename Check12,
1798
+ typename Check13, typename Check14, typename Check15, typename Check16,
1799
+ typename Check17, typename Check18, typename Check19, typename Check20,
1800
+ typename Check21, typename Check22, typename Check23, typename Check24,
1801
+ typename Check25, typename Check26, typename Check27, typename Check28,
1802
+ typename Check29, typename Check30, typename Check31, typename Check32,
1803
+ typename Check33, typename Check34, typename Check35, typename Check36,
1804
+ typename Check37, typename Check38, typename Action0, typename Action1,
1805
+ typename Action2, typename Action3, typename Action4, typename Action5,
1806
+ typename Action6, typename Action7, typename Action8, typename Action9,
1807
+ typename Action10, typename Action11, typename Action12, typename Action13,
1808
+ typename Action14, typename Action15, typename Action16, typename Action17,
1809
+ typename Action18, typename Action19, typename Action20, typename Action21,
1810
+ typename Action22, typename Action23, typename Action24, typename Action25,
1811
+ typename Action26, typename Action27, typename Action28, typename Action29,
1812
+ typename Action30, typename Action31, typename Action32, typename Action33,
1813
+ typename Action34, typename Action35, typename Action36, typename Action37,
1814
+ typename Action38>
1815
+ auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
1816
+ Check0 check0, Check1 check1, Check2 check2, Check3 check3,
1817
+ Check4 check4, Check5 check5, Check6 check6, Check7 check7,
1818
+ Check8 check8, Check9 check9, Check10 check10, Check11 check11,
1819
+ Check12 check12, Check13 check13, Check14 check14, Check15 check15,
1820
+ Check16 check16, Check17 check17, Check18 check18, Check19 check19,
1821
+ Check20 check20, Check21 check21, Check22 check22, Check23 check23,
1822
+ Check24 check24, Check25 check25, Check26 check26, Check27 check27,
1823
+ Check28 check28, Check29 check29, Check30 check30, Check31 check31,
1824
+ Check32 check32, Check33 check33, Check34 check34, Check35 check35,
1825
+ Check36 check36, Check37 check37, Check38 check38, Action0 action0,
1826
+ Action1 action1, Action2 action2, Action3 action3, Action4 action4,
1827
+ Action5 action5, Action6 action6, Action7 action7, Action8 action8,
1828
+ Action9 action9, Action10 action10, Action11 action11,
1829
+ Action12 action12, Action13 action13, Action14 action14,
1830
+ Action15 action15, Action16 action16, Action17 action17,
1831
+ Action18 action18, Action19 action19, Action20 action20,
1832
+ Action21 action21, Action22 action22, Action23 action23,
1833
+ Action24 action24, Action25 action25, Action26 action26,
1834
+ Action27 action27, Action28 action28, Action29 action29,
1835
+ Action30 action30, Action31 action31, Action32 action32,
1836
+ Action33 action33, Action34 action34, Action35 action35,
1837
+ Action36 action36, Action37 action37, Action38 action38) {
1838
+ if (check0(input)) return action0(action_arg);
1839
+ if (check1(input)) return action1(action_arg);
1840
+ if (check2(input)) return action2(action_arg);
1841
+ if (check3(input)) return action3(action_arg);
1842
+ if (check4(input)) return action4(action_arg);
1843
+ if (check5(input)) return action5(action_arg);
1844
+ if (check6(input)) return action6(action_arg);
1845
+ if (check7(input)) return action7(action_arg);
1846
+ if (check8(input)) return action8(action_arg);
1847
+ if (check9(input)) return action9(action_arg);
1848
+ if (check10(input)) return action10(action_arg);
1849
+ if (check11(input)) return action11(action_arg);
1850
+ if (check12(input)) return action12(action_arg);
1851
+ if (check13(input)) return action13(action_arg);
1852
+ if (check14(input)) return action14(action_arg);
1853
+ if (check15(input)) return action15(action_arg);
1854
+ if (check16(input)) return action16(action_arg);
1855
+ if (check17(input)) return action17(action_arg);
1856
+ if (check18(input)) return action18(action_arg);
1857
+ if (check19(input)) return action19(action_arg);
1858
+ if (check20(input)) return action20(action_arg);
1859
+ if (check21(input)) return action21(action_arg);
1860
+ if (check22(input)) return action22(action_arg);
1861
+ if (check23(input)) return action23(action_arg);
1862
+ if (check24(input)) return action24(action_arg);
1863
+ if (check25(input)) return action25(action_arg);
1864
+ if (check26(input)) return action26(action_arg);
1865
+ if (check27(input)) return action27(action_arg);
1866
+ if (check28(input)) return action28(action_arg);
1867
+ if (check29(input)) return action29(action_arg);
1868
+ if (check30(input)) return action30(action_arg);
1869
+ if (check31(input)) return action31(action_arg);
1870
+ if (check32(input)) return action32(action_arg);
1871
+ if (check33(input)) return action33(action_arg);
1872
+ if (check34(input)) return action34(action_arg);
1873
+ if (check35(input)) return action35(action_arg);
1874
+ if (check36(input)) return action36(action_arg);
1875
+ if (check37(input)) return action37(action_arg);
1876
+ if (check38(input)) return action38(action_arg);
1877
+ return action_fail(action_arg);
1878
+ }
1879
+
1880
+ template <
1881
+ typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
1882
+ typename Check1, typename Check2, typename Check3, typename Check4,
1883
+ typename Check5, typename Check6, typename Check7, typename Check8,
1884
+ typename Check9, typename Check10, typename Check11, typename Check12,
1885
+ typename Check13, typename Check14, typename Check15, typename Check16,
1886
+ typename Check17, typename Check18, typename Check19, typename Check20,
1887
+ typename Check21, typename Check22, typename Check23, typename Check24,
1888
+ typename Check25, typename Check26, typename Check27, typename Check28,
1889
+ typename Check29, typename Check30, typename Check31, typename Check32,
1890
+ typename Check33, typename Check34, typename Check35, typename Check36,
1891
+ typename Check37, typename Check38, typename Check39, typename Action0,
1892
+ typename Action1, typename Action2, typename Action3, typename Action4,
1893
+ typename Action5, typename Action6, typename Action7, typename Action8,
1894
+ typename Action9, typename Action10, typename Action11, typename Action12,
1895
+ typename Action13, typename Action14, typename Action15, typename Action16,
1896
+ typename Action17, typename Action18, typename Action19, typename Action20,
1897
+ typename Action21, typename Action22, typename Action23, typename Action24,
1898
+ typename Action25, typename Action26, typename Action27, typename Action28,
1899
+ typename Action29, typename Action30, typename Action31, typename Action32,
1900
+ typename Action33, typename Action34, typename Action35, typename Action36,
1901
+ typename Action37, typename Action38, typename Action39>
1902
+ auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
1903
+ Check0 check0, Check1 check1, Check2 check2, Check3 check3,
1904
+ Check4 check4, Check5 check5, Check6 check6, Check7 check7,
1905
+ Check8 check8, Check9 check9, Check10 check10, Check11 check11,
1906
+ Check12 check12, Check13 check13, Check14 check14, Check15 check15,
1907
+ Check16 check16, Check17 check17, Check18 check18, Check19 check19,
1908
+ Check20 check20, Check21 check21, Check22 check22, Check23 check23,
1909
+ Check24 check24, Check25 check25, Check26 check26, Check27 check27,
1910
+ Check28 check28, Check29 check29, Check30 check30, Check31 check31,
1911
+ Check32 check32, Check33 check33, Check34 check34, Check35 check35,
1912
+ Check36 check36, Check37 check37, Check38 check38, Check39 check39,
1913
+ Action0 action0, Action1 action1, Action2 action2, Action3 action3,
1914
+ Action4 action4, Action5 action5, Action6 action6, Action7 action7,
1915
+ Action8 action8, Action9 action9, Action10 action10,
1916
+ Action11 action11, Action12 action12, Action13 action13,
1917
+ Action14 action14, Action15 action15, Action16 action16,
1918
+ Action17 action17, Action18 action18, Action19 action19,
1919
+ Action20 action20, Action21 action21, Action22 action22,
1920
+ Action23 action23, Action24 action24, Action25 action25,
1921
+ Action26 action26, Action27 action27, Action28 action28,
1922
+ Action29 action29, Action30 action30, Action31 action31,
1923
+ Action32 action32, Action33 action33, Action34 action34,
1924
+ Action35 action35, Action36 action36, Action37 action37,
1925
+ Action38 action38, Action39 action39) {
1926
+ if (check0(input)) return action0(action_arg);
1927
+ if (check1(input)) return action1(action_arg);
1928
+ if (check2(input)) return action2(action_arg);
1929
+ if (check3(input)) return action3(action_arg);
1930
+ if (check4(input)) return action4(action_arg);
1931
+ if (check5(input)) return action5(action_arg);
1932
+ if (check6(input)) return action6(action_arg);
1933
+ if (check7(input)) return action7(action_arg);
1934
+ if (check8(input)) return action8(action_arg);
1935
+ if (check9(input)) return action9(action_arg);
1936
+ if (check10(input)) return action10(action_arg);
1937
+ if (check11(input)) return action11(action_arg);
1938
+ if (check12(input)) return action12(action_arg);
1939
+ if (check13(input)) return action13(action_arg);
1940
+ if (check14(input)) return action14(action_arg);
1941
+ if (check15(input)) return action15(action_arg);
1942
+ if (check16(input)) return action16(action_arg);
1943
+ if (check17(input)) return action17(action_arg);
1944
+ if (check18(input)) return action18(action_arg);
1945
+ if (check19(input)) return action19(action_arg);
1946
+ if (check20(input)) return action20(action_arg);
1947
+ if (check21(input)) return action21(action_arg);
1948
+ if (check22(input)) return action22(action_arg);
1949
+ if (check23(input)) return action23(action_arg);
1950
+ if (check24(input)) return action24(action_arg);
1951
+ if (check25(input)) return action25(action_arg);
1952
+ if (check26(input)) return action26(action_arg);
1953
+ if (check27(input)) return action27(action_arg);
1954
+ if (check28(input)) return action28(action_arg);
1955
+ if (check29(input)) return action29(action_arg);
1956
+ if (check30(input)) return action30(action_arg);
1957
+ if (check31(input)) return action31(action_arg);
1958
+ if (check32(input)) return action32(action_arg);
1959
+ if (check33(input)) return action33(action_arg);
1960
+ if (check34(input)) return action34(action_arg);
1961
+ if (check35(input)) return action35(action_arg);
1962
+ if (check36(input)) return action36(action_arg);
1963
+ if (check37(input)) return action37(action_arg);
1964
+ if (check38(input)) return action38(action_arg);
1965
+ if (check39(input)) return action39(action_arg);
1966
+ return action_fail(action_arg);
1967
+ }
1968
+
1969
+ template <
1970
+ typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
1971
+ typename Check1, typename Check2, typename Check3, typename Check4,
1972
+ typename Check5, typename Check6, typename Check7, typename Check8,
1973
+ typename Check9, typename Check10, typename Check11, typename Check12,
1974
+ typename Check13, typename Check14, typename Check15, typename Check16,
1975
+ typename Check17, typename Check18, typename Check19, typename Check20,
1976
+ typename Check21, typename Check22, typename Check23, typename Check24,
1977
+ typename Check25, typename Check26, typename Check27, typename Check28,
1978
+ typename Check29, typename Check30, typename Check31, typename Check32,
1979
+ typename Check33, typename Check34, typename Check35, typename Check36,
1980
+ typename Check37, typename Check38, typename Check39, typename Check40,
1981
+ typename Action0, typename Action1, typename Action2, typename Action3,
1982
+ typename Action4, typename Action5, typename Action6, typename Action7,
1983
+ typename Action8, typename Action9, typename Action10, typename Action11,
1984
+ typename Action12, typename Action13, typename Action14, typename Action15,
1985
+ typename Action16, typename Action17, typename Action18, typename Action19,
1986
+ typename Action20, typename Action21, typename Action22, typename Action23,
1987
+ typename Action24, typename Action25, typename Action26, typename Action27,
1988
+ typename Action28, typename Action29, typename Action30, typename Action31,
1989
+ typename Action32, typename Action33, typename Action34, typename Action35,
1990
+ typename Action36, typename Action37, typename Action38, typename Action39,
1991
+ typename Action40>
1992
+ auto IfList(
1993
+ CheckArg input, ActionArg action_arg, ActionFail action_fail, Check0 check0,
1994
+ Check1 check1, Check2 check2, Check3 check3, Check4 check4, Check5 check5,
1995
+ Check6 check6, Check7 check7, Check8 check8, Check9 check9, Check10 check10,
1996
+ Check11 check11, Check12 check12, Check13 check13, Check14 check14,
1997
+ Check15 check15, Check16 check16, Check17 check17, Check18 check18,
1998
+ Check19 check19, Check20 check20, Check21 check21, Check22 check22,
1999
+ Check23 check23, Check24 check24, Check25 check25, Check26 check26,
2000
+ Check27 check27, Check28 check28, Check29 check29, Check30 check30,
2001
+ Check31 check31, Check32 check32, Check33 check33, Check34 check34,
2002
+ Check35 check35, Check36 check36, Check37 check37, Check38 check38,
2003
+ Check39 check39, Check40 check40, Action0 action0, Action1 action1,
2004
+ Action2 action2, Action3 action3, Action4 action4, Action5 action5,
2005
+ Action6 action6, Action7 action7, Action8 action8, Action9 action9,
2006
+ Action10 action10, Action11 action11, Action12 action12, Action13 action13,
2007
+ Action14 action14, Action15 action15, Action16 action16, Action17 action17,
2008
+ Action18 action18, Action19 action19, Action20 action20, Action21 action21,
2009
+ Action22 action22, Action23 action23, Action24 action24, Action25 action25,
2010
+ Action26 action26, Action27 action27, Action28 action28, Action29 action29,
2011
+ Action30 action30, Action31 action31, Action32 action32, Action33 action33,
2012
+ Action34 action34, Action35 action35, Action36 action36, Action37 action37,
2013
+ Action38 action38, Action39 action39, Action40 action40) {
2014
+ if (check0(input)) return action0(action_arg);
2015
+ if (check1(input)) return action1(action_arg);
2016
+ if (check2(input)) return action2(action_arg);
2017
+ if (check3(input)) return action3(action_arg);
2018
+ if (check4(input)) return action4(action_arg);
2019
+ if (check5(input)) return action5(action_arg);
2020
+ if (check6(input)) return action6(action_arg);
2021
+ if (check7(input)) return action7(action_arg);
2022
+ if (check8(input)) return action8(action_arg);
2023
+ if (check9(input)) return action9(action_arg);
2024
+ if (check10(input)) return action10(action_arg);
2025
+ if (check11(input)) return action11(action_arg);
2026
+ if (check12(input)) return action12(action_arg);
2027
+ if (check13(input)) return action13(action_arg);
2028
+ if (check14(input)) return action14(action_arg);
2029
+ if (check15(input)) return action15(action_arg);
2030
+ if (check16(input)) return action16(action_arg);
2031
+ if (check17(input)) return action17(action_arg);
2032
+ if (check18(input)) return action18(action_arg);
2033
+ if (check19(input)) return action19(action_arg);
2034
+ if (check20(input)) return action20(action_arg);
2035
+ if (check21(input)) return action21(action_arg);
2036
+ if (check22(input)) return action22(action_arg);
2037
+ if (check23(input)) return action23(action_arg);
2038
+ if (check24(input)) return action24(action_arg);
2039
+ if (check25(input)) return action25(action_arg);
2040
+ if (check26(input)) return action26(action_arg);
2041
+ if (check27(input)) return action27(action_arg);
2042
+ if (check28(input)) return action28(action_arg);
2043
+ if (check29(input)) return action29(action_arg);
2044
+ if (check30(input)) return action30(action_arg);
2045
+ if (check31(input)) return action31(action_arg);
2046
+ if (check32(input)) return action32(action_arg);
2047
+ if (check33(input)) return action33(action_arg);
2048
+ if (check34(input)) return action34(action_arg);
2049
+ if (check35(input)) return action35(action_arg);
2050
+ if (check36(input)) return action36(action_arg);
2051
+ if (check37(input)) return action37(action_arg);
2052
+ if (check38(input)) return action38(action_arg);
2053
+ if (check39(input)) return action39(action_arg);
2054
+ if (check40(input)) return action40(action_arg);
2055
+ return action_fail(action_arg);
2056
+ }
2057
+
2058
+ template <
2059
+ typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
2060
+ typename Check1, typename Check2, typename Check3, typename Check4,
2061
+ typename Check5, typename Check6, typename Check7, typename Check8,
2062
+ typename Check9, typename Check10, typename Check11, typename Check12,
2063
+ typename Check13, typename Check14, typename Check15, typename Check16,
2064
+ typename Check17, typename Check18, typename Check19, typename Check20,
2065
+ typename Check21, typename Check22, typename Check23, typename Check24,
2066
+ typename Check25, typename Check26, typename Check27, typename Check28,
2067
+ typename Check29, typename Check30, typename Check31, typename Check32,
2068
+ typename Check33, typename Check34, typename Check35, typename Check36,
2069
+ typename Check37, typename Check38, typename Check39, typename Check40,
2070
+ typename Check41, typename Action0, typename Action1, typename Action2,
2071
+ typename Action3, typename Action4, typename Action5, typename Action6,
2072
+ typename Action7, typename Action8, typename Action9, typename Action10,
2073
+ typename Action11, typename Action12, typename Action13, typename Action14,
2074
+ typename Action15, typename Action16, typename Action17, typename Action18,
2075
+ typename Action19, typename Action20, typename Action21, typename Action22,
2076
+ typename Action23, typename Action24, typename Action25, typename Action26,
2077
+ typename Action27, typename Action28, typename Action29, typename Action30,
2078
+ typename Action31, typename Action32, typename Action33, typename Action34,
2079
+ typename Action35, typename Action36, typename Action37, typename Action38,
2080
+ typename Action39, typename Action40, typename Action41>
2081
+ auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
2082
+ Check0 check0, Check1 check1, Check2 check2, Check3 check3,
2083
+ Check4 check4, Check5 check5, Check6 check6, Check7 check7,
2084
+ Check8 check8, Check9 check9, Check10 check10, Check11 check11,
2085
+ Check12 check12, Check13 check13, Check14 check14, Check15 check15,
2086
+ Check16 check16, Check17 check17, Check18 check18, Check19 check19,
2087
+ Check20 check20, Check21 check21, Check22 check22, Check23 check23,
2088
+ Check24 check24, Check25 check25, Check26 check26, Check27 check27,
2089
+ Check28 check28, Check29 check29, Check30 check30, Check31 check31,
2090
+ Check32 check32, Check33 check33, Check34 check34, Check35 check35,
2091
+ Check36 check36, Check37 check37, Check38 check38, Check39 check39,
2092
+ Check40 check40, Check41 check41, Action0 action0, Action1 action1,
2093
+ Action2 action2, Action3 action3, Action4 action4, Action5 action5,
2094
+ Action6 action6, Action7 action7, Action8 action8, Action9 action9,
2095
+ Action10 action10, Action11 action11, Action12 action12,
2096
+ Action13 action13, Action14 action14, Action15 action15,
2097
+ Action16 action16, Action17 action17, Action18 action18,
2098
+ Action19 action19, Action20 action20, Action21 action21,
2099
+ Action22 action22, Action23 action23, Action24 action24,
2100
+ Action25 action25, Action26 action26, Action27 action27,
2101
+ Action28 action28, Action29 action29, Action30 action30,
2102
+ Action31 action31, Action32 action32, Action33 action33,
2103
+ Action34 action34, Action35 action35, Action36 action36,
2104
+ Action37 action37, Action38 action38, Action39 action39,
2105
+ Action40 action40, Action41 action41) {
2106
+ if (check0(input)) return action0(action_arg);
2107
+ if (check1(input)) return action1(action_arg);
2108
+ if (check2(input)) return action2(action_arg);
2109
+ if (check3(input)) return action3(action_arg);
2110
+ if (check4(input)) return action4(action_arg);
2111
+ if (check5(input)) return action5(action_arg);
2112
+ if (check6(input)) return action6(action_arg);
2113
+ if (check7(input)) return action7(action_arg);
2114
+ if (check8(input)) return action8(action_arg);
2115
+ if (check9(input)) return action9(action_arg);
2116
+ if (check10(input)) return action10(action_arg);
2117
+ if (check11(input)) return action11(action_arg);
2118
+ if (check12(input)) return action12(action_arg);
2119
+ if (check13(input)) return action13(action_arg);
2120
+ if (check14(input)) return action14(action_arg);
2121
+ if (check15(input)) return action15(action_arg);
2122
+ if (check16(input)) return action16(action_arg);
2123
+ if (check17(input)) return action17(action_arg);
2124
+ if (check18(input)) return action18(action_arg);
2125
+ if (check19(input)) return action19(action_arg);
2126
+ if (check20(input)) return action20(action_arg);
2127
+ if (check21(input)) return action21(action_arg);
2128
+ if (check22(input)) return action22(action_arg);
2129
+ if (check23(input)) return action23(action_arg);
2130
+ if (check24(input)) return action24(action_arg);
2131
+ if (check25(input)) return action25(action_arg);
2132
+ if (check26(input)) return action26(action_arg);
2133
+ if (check27(input)) return action27(action_arg);
2134
+ if (check28(input)) return action28(action_arg);
2135
+ if (check29(input)) return action29(action_arg);
2136
+ if (check30(input)) return action30(action_arg);
2137
+ if (check31(input)) return action31(action_arg);
2138
+ if (check32(input)) return action32(action_arg);
2139
+ if (check33(input)) return action33(action_arg);
2140
+ if (check34(input)) return action34(action_arg);
2141
+ if (check35(input)) return action35(action_arg);
2142
+ if (check36(input)) return action36(action_arg);
2143
+ if (check37(input)) return action37(action_arg);
2144
+ if (check38(input)) return action38(action_arg);
2145
+ if (check39(input)) return action39(action_arg);
2146
+ if (check40(input)) return action40(action_arg);
2147
+ if (check41(input)) return action41(action_arg);
2148
+ return action_fail(action_arg);
2149
+ }
2150
+
2151
+ template <
2152
+ typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
2153
+ typename Check1, typename Check2, typename Check3, typename Check4,
2154
+ typename Check5, typename Check6, typename Check7, typename Check8,
2155
+ typename Check9, typename Check10, typename Check11, typename Check12,
2156
+ typename Check13, typename Check14, typename Check15, typename Check16,
2157
+ typename Check17, typename Check18, typename Check19, typename Check20,
2158
+ typename Check21, typename Check22, typename Check23, typename Check24,
2159
+ typename Check25, typename Check26, typename Check27, typename Check28,
2160
+ typename Check29, typename Check30, typename Check31, typename Check32,
2161
+ typename Check33, typename Check34, typename Check35, typename Check36,
2162
+ typename Check37, typename Check38, typename Check39, typename Check40,
2163
+ typename Check41, typename Check42, typename Action0, typename Action1,
2164
+ typename Action2, typename Action3, typename Action4, typename Action5,
2165
+ typename Action6, typename Action7, typename Action8, typename Action9,
2166
+ typename Action10, typename Action11, typename Action12, typename Action13,
2167
+ typename Action14, typename Action15, typename Action16, typename Action17,
2168
+ typename Action18, typename Action19, typename Action20, typename Action21,
2169
+ typename Action22, typename Action23, typename Action24, typename Action25,
2170
+ typename Action26, typename Action27, typename Action28, typename Action29,
2171
+ typename Action30, typename Action31, typename Action32, typename Action33,
2172
+ typename Action34, typename Action35, typename Action36, typename Action37,
2173
+ typename Action38, typename Action39, typename Action40, typename Action41,
2174
+ typename Action42>
2175
+ auto IfList(
2176
+ CheckArg input, ActionArg action_arg, ActionFail action_fail, Check0 check0,
2177
+ Check1 check1, Check2 check2, Check3 check3, Check4 check4, Check5 check5,
2178
+ Check6 check6, Check7 check7, Check8 check8, Check9 check9, Check10 check10,
2179
+ Check11 check11, Check12 check12, Check13 check13, Check14 check14,
2180
+ Check15 check15, Check16 check16, Check17 check17, Check18 check18,
2181
+ Check19 check19, Check20 check20, Check21 check21, Check22 check22,
2182
+ Check23 check23, Check24 check24, Check25 check25, Check26 check26,
2183
+ Check27 check27, Check28 check28, Check29 check29, Check30 check30,
2184
+ Check31 check31, Check32 check32, Check33 check33, Check34 check34,
2185
+ Check35 check35, Check36 check36, Check37 check37, Check38 check38,
2186
+ Check39 check39, Check40 check40, Check41 check41, Check42 check42,
2187
+ Action0 action0, Action1 action1, Action2 action2, Action3 action3,
2188
+ Action4 action4, Action5 action5, Action6 action6, Action7 action7,
2189
+ Action8 action8, Action9 action9, Action10 action10, Action11 action11,
2190
+ Action12 action12, Action13 action13, Action14 action14, Action15 action15,
2191
+ Action16 action16, Action17 action17, Action18 action18, Action19 action19,
2192
+ Action20 action20, Action21 action21, Action22 action22, Action23 action23,
2193
+ Action24 action24, Action25 action25, Action26 action26, Action27 action27,
2194
+ Action28 action28, Action29 action29, Action30 action30, Action31 action31,
2195
+ Action32 action32, Action33 action33, Action34 action34, Action35 action35,
2196
+ Action36 action36, Action37 action37, Action38 action38, Action39 action39,
2197
+ Action40 action40, Action41 action41, Action42 action42) {
2198
+ if (check0(input)) return action0(action_arg);
2199
+ if (check1(input)) return action1(action_arg);
2200
+ if (check2(input)) return action2(action_arg);
2201
+ if (check3(input)) return action3(action_arg);
2202
+ if (check4(input)) return action4(action_arg);
2203
+ if (check5(input)) return action5(action_arg);
2204
+ if (check6(input)) return action6(action_arg);
2205
+ if (check7(input)) return action7(action_arg);
2206
+ if (check8(input)) return action8(action_arg);
2207
+ if (check9(input)) return action9(action_arg);
2208
+ if (check10(input)) return action10(action_arg);
2209
+ if (check11(input)) return action11(action_arg);
2210
+ if (check12(input)) return action12(action_arg);
2211
+ if (check13(input)) return action13(action_arg);
2212
+ if (check14(input)) return action14(action_arg);
2213
+ if (check15(input)) return action15(action_arg);
2214
+ if (check16(input)) return action16(action_arg);
2215
+ if (check17(input)) return action17(action_arg);
2216
+ if (check18(input)) return action18(action_arg);
2217
+ if (check19(input)) return action19(action_arg);
2218
+ if (check20(input)) return action20(action_arg);
2219
+ if (check21(input)) return action21(action_arg);
2220
+ if (check22(input)) return action22(action_arg);
2221
+ if (check23(input)) return action23(action_arg);
2222
+ if (check24(input)) return action24(action_arg);
2223
+ if (check25(input)) return action25(action_arg);
2224
+ if (check26(input)) return action26(action_arg);
2225
+ if (check27(input)) return action27(action_arg);
2226
+ if (check28(input)) return action28(action_arg);
2227
+ if (check29(input)) return action29(action_arg);
2228
+ if (check30(input)) return action30(action_arg);
2229
+ if (check31(input)) return action31(action_arg);
2230
+ if (check32(input)) return action32(action_arg);
2231
+ if (check33(input)) return action33(action_arg);
2232
+ if (check34(input)) return action34(action_arg);
2233
+ if (check35(input)) return action35(action_arg);
2234
+ if (check36(input)) return action36(action_arg);
2235
+ if (check37(input)) return action37(action_arg);
2236
+ if (check38(input)) return action38(action_arg);
2237
+ if (check39(input)) return action39(action_arg);
2238
+ if (check40(input)) return action40(action_arg);
2239
+ if (check41(input)) return action41(action_arg);
2240
+ if (check42(input)) return action42(action_arg);
2241
+ return action_fail(action_arg);
2242
+ }
2243
+
2244
+ template <
2245
+ typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
2246
+ typename Check1, typename Check2, typename Check3, typename Check4,
2247
+ typename Check5, typename Check6, typename Check7, typename Check8,
2248
+ typename Check9, typename Check10, typename Check11, typename Check12,
2249
+ typename Check13, typename Check14, typename Check15, typename Check16,
2250
+ typename Check17, typename Check18, typename Check19, typename Check20,
2251
+ typename Check21, typename Check22, typename Check23, typename Check24,
2252
+ typename Check25, typename Check26, typename Check27, typename Check28,
2253
+ typename Check29, typename Check30, typename Check31, typename Check32,
2254
+ typename Check33, typename Check34, typename Check35, typename Check36,
2255
+ typename Check37, typename Check38, typename Check39, typename Check40,
2256
+ typename Check41, typename Check42, typename Check43, typename Action0,
2257
+ typename Action1, typename Action2, typename Action3, typename Action4,
2258
+ typename Action5, typename Action6, typename Action7, typename Action8,
2259
+ typename Action9, typename Action10, typename Action11, typename Action12,
2260
+ typename Action13, typename Action14, typename Action15, typename Action16,
2261
+ typename Action17, typename Action18, typename Action19, typename Action20,
2262
+ typename Action21, typename Action22, typename Action23, typename Action24,
2263
+ typename Action25, typename Action26, typename Action27, typename Action28,
2264
+ typename Action29, typename Action30, typename Action31, typename Action32,
2265
+ typename Action33, typename Action34, typename Action35, typename Action36,
2266
+ typename Action37, typename Action38, typename Action39, typename Action40,
2267
+ typename Action41, typename Action42, typename Action43>
2268
+ auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
2269
+ Check0 check0, Check1 check1, Check2 check2, Check3 check3,
2270
+ Check4 check4, Check5 check5, Check6 check6, Check7 check7,
2271
+ Check8 check8, Check9 check9, Check10 check10, Check11 check11,
2272
+ Check12 check12, Check13 check13, Check14 check14, Check15 check15,
2273
+ Check16 check16, Check17 check17, Check18 check18, Check19 check19,
2274
+ Check20 check20, Check21 check21, Check22 check22, Check23 check23,
2275
+ Check24 check24, Check25 check25, Check26 check26, Check27 check27,
2276
+ Check28 check28, Check29 check29, Check30 check30, Check31 check31,
2277
+ Check32 check32, Check33 check33, Check34 check34, Check35 check35,
2278
+ Check36 check36, Check37 check37, Check38 check38, Check39 check39,
2279
+ Check40 check40, Check41 check41, Check42 check42, Check43 check43,
2280
+ Action0 action0, Action1 action1, Action2 action2, Action3 action3,
2281
+ Action4 action4, Action5 action5, Action6 action6, Action7 action7,
2282
+ Action8 action8, Action9 action9, Action10 action10,
2283
+ Action11 action11, Action12 action12, Action13 action13,
2284
+ Action14 action14, Action15 action15, Action16 action16,
2285
+ Action17 action17, Action18 action18, Action19 action19,
2286
+ Action20 action20, Action21 action21, Action22 action22,
2287
+ Action23 action23, Action24 action24, Action25 action25,
2288
+ Action26 action26, Action27 action27, Action28 action28,
2289
+ Action29 action29, Action30 action30, Action31 action31,
2290
+ Action32 action32, Action33 action33, Action34 action34,
2291
+ Action35 action35, Action36 action36, Action37 action37,
2292
+ Action38 action38, Action39 action39, Action40 action40,
2293
+ Action41 action41, Action42 action42, Action43 action43) {
2294
+ if (check0(input)) return action0(action_arg);
2295
+ if (check1(input)) return action1(action_arg);
2296
+ if (check2(input)) return action2(action_arg);
2297
+ if (check3(input)) return action3(action_arg);
2298
+ if (check4(input)) return action4(action_arg);
2299
+ if (check5(input)) return action5(action_arg);
2300
+ if (check6(input)) return action6(action_arg);
2301
+ if (check7(input)) return action7(action_arg);
2302
+ if (check8(input)) return action8(action_arg);
2303
+ if (check9(input)) return action9(action_arg);
2304
+ if (check10(input)) return action10(action_arg);
2305
+ if (check11(input)) return action11(action_arg);
2306
+ if (check12(input)) return action12(action_arg);
2307
+ if (check13(input)) return action13(action_arg);
2308
+ if (check14(input)) return action14(action_arg);
2309
+ if (check15(input)) return action15(action_arg);
2310
+ if (check16(input)) return action16(action_arg);
2311
+ if (check17(input)) return action17(action_arg);
2312
+ if (check18(input)) return action18(action_arg);
2313
+ if (check19(input)) return action19(action_arg);
2314
+ if (check20(input)) return action20(action_arg);
2315
+ if (check21(input)) return action21(action_arg);
2316
+ if (check22(input)) return action22(action_arg);
2317
+ if (check23(input)) return action23(action_arg);
2318
+ if (check24(input)) return action24(action_arg);
2319
+ if (check25(input)) return action25(action_arg);
2320
+ if (check26(input)) return action26(action_arg);
2321
+ if (check27(input)) return action27(action_arg);
2322
+ if (check28(input)) return action28(action_arg);
2323
+ if (check29(input)) return action29(action_arg);
2324
+ if (check30(input)) return action30(action_arg);
2325
+ if (check31(input)) return action31(action_arg);
2326
+ if (check32(input)) return action32(action_arg);
2327
+ if (check33(input)) return action33(action_arg);
2328
+ if (check34(input)) return action34(action_arg);
2329
+ if (check35(input)) return action35(action_arg);
2330
+ if (check36(input)) return action36(action_arg);
2331
+ if (check37(input)) return action37(action_arg);
2332
+ if (check38(input)) return action38(action_arg);
2333
+ if (check39(input)) return action39(action_arg);
2334
+ if (check40(input)) return action40(action_arg);
2335
+ if (check41(input)) return action41(action_arg);
2336
+ if (check42(input)) return action42(action_arg);
2337
+ if (check43(input)) return action43(action_arg);
2338
+ return action_fail(action_arg);
2339
+ }
2340
+
2341
+ template <
2342
+ typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
2343
+ typename Check1, typename Check2, typename Check3, typename Check4,
2344
+ typename Check5, typename Check6, typename Check7, typename Check8,
2345
+ typename Check9, typename Check10, typename Check11, typename Check12,
2346
+ typename Check13, typename Check14, typename Check15, typename Check16,
2347
+ typename Check17, typename Check18, typename Check19, typename Check20,
2348
+ typename Check21, typename Check22, typename Check23, typename Check24,
2349
+ typename Check25, typename Check26, typename Check27, typename Check28,
2350
+ typename Check29, typename Check30, typename Check31, typename Check32,
2351
+ typename Check33, typename Check34, typename Check35, typename Check36,
2352
+ typename Check37, typename Check38, typename Check39, typename Check40,
2353
+ typename Check41, typename Check42, typename Check43, typename Check44,
2354
+ typename Action0, typename Action1, typename Action2, typename Action3,
2355
+ typename Action4, typename Action5, typename Action6, typename Action7,
2356
+ typename Action8, typename Action9, typename Action10, typename Action11,
2357
+ typename Action12, typename Action13, typename Action14, typename Action15,
2358
+ typename Action16, typename Action17, typename Action18, typename Action19,
2359
+ typename Action20, typename Action21, typename Action22, typename Action23,
2360
+ typename Action24, typename Action25, typename Action26, typename Action27,
2361
+ typename Action28, typename Action29, typename Action30, typename Action31,
2362
+ typename Action32, typename Action33, typename Action34, typename Action35,
2363
+ typename Action36, typename Action37, typename Action38, typename Action39,
2364
+ typename Action40, typename Action41, typename Action42, typename Action43,
2365
+ typename Action44>
2366
+ auto IfList(
2367
+ CheckArg input, ActionArg action_arg, ActionFail action_fail, Check0 check0,
2368
+ Check1 check1, Check2 check2, Check3 check3, Check4 check4, Check5 check5,
2369
+ Check6 check6, Check7 check7, Check8 check8, Check9 check9, Check10 check10,
2370
+ Check11 check11, Check12 check12, Check13 check13, Check14 check14,
2371
+ Check15 check15, Check16 check16, Check17 check17, Check18 check18,
2372
+ Check19 check19, Check20 check20, Check21 check21, Check22 check22,
2373
+ Check23 check23, Check24 check24, Check25 check25, Check26 check26,
2374
+ Check27 check27, Check28 check28, Check29 check29, Check30 check30,
2375
+ Check31 check31, Check32 check32, Check33 check33, Check34 check34,
2376
+ Check35 check35, Check36 check36, Check37 check37, Check38 check38,
2377
+ Check39 check39, Check40 check40, Check41 check41, Check42 check42,
2378
+ Check43 check43, Check44 check44, Action0 action0, Action1 action1,
2379
+ Action2 action2, Action3 action3, Action4 action4, Action5 action5,
2380
+ Action6 action6, Action7 action7, Action8 action8, Action9 action9,
2381
+ Action10 action10, Action11 action11, Action12 action12, Action13 action13,
2382
+ Action14 action14, Action15 action15, Action16 action16, Action17 action17,
2383
+ Action18 action18, Action19 action19, Action20 action20, Action21 action21,
2384
+ Action22 action22, Action23 action23, Action24 action24, Action25 action25,
2385
+ Action26 action26, Action27 action27, Action28 action28, Action29 action29,
2386
+ Action30 action30, Action31 action31, Action32 action32, Action33 action33,
2387
+ Action34 action34, Action35 action35, Action36 action36, Action37 action37,
2388
+ Action38 action38, Action39 action39, Action40 action40, Action41 action41,
2389
+ Action42 action42, Action43 action43, Action44 action44) {
2390
+ if (check0(input)) return action0(action_arg);
2391
+ if (check1(input)) return action1(action_arg);
2392
+ if (check2(input)) return action2(action_arg);
2393
+ if (check3(input)) return action3(action_arg);
2394
+ if (check4(input)) return action4(action_arg);
2395
+ if (check5(input)) return action5(action_arg);
2396
+ if (check6(input)) return action6(action_arg);
2397
+ if (check7(input)) return action7(action_arg);
2398
+ if (check8(input)) return action8(action_arg);
2399
+ if (check9(input)) return action9(action_arg);
2400
+ if (check10(input)) return action10(action_arg);
2401
+ if (check11(input)) return action11(action_arg);
2402
+ if (check12(input)) return action12(action_arg);
2403
+ if (check13(input)) return action13(action_arg);
2404
+ if (check14(input)) return action14(action_arg);
2405
+ if (check15(input)) return action15(action_arg);
2406
+ if (check16(input)) return action16(action_arg);
2407
+ if (check17(input)) return action17(action_arg);
2408
+ if (check18(input)) return action18(action_arg);
2409
+ if (check19(input)) return action19(action_arg);
2410
+ if (check20(input)) return action20(action_arg);
2411
+ if (check21(input)) return action21(action_arg);
2412
+ if (check22(input)) return action22(action_arg);
2413
+ if (check23(input)) return action23(action_arg);
2414
+ if (check24(input)) return action24(action_arg);
2415
+ if (check25(input)) return action25(action_arg);
2416
+ if (check26(input)) return action26(action_arg);
2417
+ if (check27(input)) return action27(action_arg);
2418
+ if (check28(input)) return action28(action_arg);
2419
+ if (check29(input)) return action29(action_arg);
2420
+ if (check30(input)) return action30(action_arg);
2421
+ if (check31(input)) return action31(action_arg);
2422
+ if (check32(input)) return action32(action_arg);
2423
+ if (check33(input)) return action33(action_arg);
2424
+ if (check34(input)) return action34(action_arg);
2425
+ if (check35(input)) return action35(action_arg);
2426
+ if (check36(input)) return action36(action_arg);
2427
+ if (check37(input)) return action37(action_arg);
2428
+ if (check38(input)) return action38(action_arg);
2429
+ if (check39(input)) return action39(action_arg);
2430
+ if (check40(input)) return action40(action_arg);
2431
+ if (check41(input)) return action41(action_arg);
2432
+ if (check42(input)) return action42(action_arg);
2433
+ if (check43(input)) return action43(action_arg);
2434
+ if (check44(input)) return action44(action_arg);
2435
+ return action_fail(action_arg);
2436
+ }
2437
+
2438
+ template <
2439
+ typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
2440
+ typename Check1, typename Check2, typename Check3, typename Check4,
2441
+ typename Check5, typename Check6, typename Check7, typename Check8,
2442
+ typename Check9, typename Check10, typename Check11, typename Check12,
2443
+ typename Check13, typename Check14, typename Check15, typename Check16,
2444
+ typename Check17, typename Check18, typename Check19, typename Check20,
2445
+ typename Check21, typename Check22, typename Check23, typename Check24,
2446
+ typename Check25, typename Check26, typename Check27, typename Check28,
2447
+ typename Check29, typename Check30, typename Check31, typename Check32,
2448
+ typename Check33, typename Check34, typename Check35, typename Check36,
2449
+ typename Check37, typename Check38, typename Check39, typename Check40,
2450
+ typename Check41, typename Check42, typename Check43, typename Check44,
2451
+ typename Check45, typename Action0, typename Action1, typename Action2,
2452
+ typename Action3, typename Action4, typename Action5, typename Action6,
2453
+ typename Action7, typename Action8, typename Action9, typename Action10,
2454
+ typename Action11, typename Action12, typename Action13, typename Action14,
2455
+ typename Action15, typename Action16, typename Action17, typename Action18,
2456
+ typename Action19, typename Action20, typename Action21, typename Action22,
2457
+ typename Action23, typename Action24, typename Action25, typename Action26,
2458
+ typename Action27, typename Action28, typename Action29, typename Action30,
2459
+ typename Action31, typename Action32, typename Action33, typename Action34,
2460
+ typename Action35, typename Action36, typename Action37, typename Action38,
2461
+ typename Action39, typename Action40, typename Action41, typename Action42,
2462
+ typename Action43, typename Action44, typename Action45>
2463
+ auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
2464
+ Check0 check0, Check1 check1, Check2 check2, Check3 check3,
2465
+ Check4 check4, Check5 check5, Check6 check6, Check7 check7,
2466
+ Check8 check8, Check9 check9, Check10 check10, Check11 check11,
2467
+ Check12 check12, Check13 check13, Check14 check14, Check15 check15,
2468
+ Check16 check16, Check17 check17, Check18 check18, Check19 check19,
2469
+ Check20 check20, Check21 check21, Check22 check22, Check23 check23,
2470
+ Check24 check24, Check25 check25, Check26 check26, Check27 check27,
2471
+ Check28 check28, Check29 check29, Check30 check30, Check31 check31,
2472
+ Check32 check32, Check33 check33, Check34 check34, Check35 check35,
2473
+ Check36 check36, Check37 check37, Check38 check38, Check39 check39,
2474
+ Check40 check40, Check41 check41, Check42 check42, Check43 check43,
2475
+ Check44 check44, Check45 check45, Action0 action0, Action1 action1,
2476
+ Action2 action2, Action3 action3, Action4 action4, Action5 action5,
2477
+ Action6 action6, Action7 action7, Action8 action8, Action9 action9,
2478
+ Action10 action10, Action11 action11, Action12 action12,
2479
+ Action13 action13, Action14 action14, Action15 action15,
2480
+ Action16 action16, Action17 action17, Action18 action18,
2481
+ Action19 action19, Action20 action20, Action21 action21,
2482
+ Action22 action22, Action23 action23, Action24 action24,
2483
+ Action25 action25, Action26 action26, Action27 action27,
2484
+ Action28 action28, Action29 action29, Action30 action30,
2485
+ Action31 action31, Action32 action32, Action33 action33,
2486
+ Action34 action34, Action35 action35, Action36 action36,
2487
+ Action37 action37, Action38 action38, Action39 action39,
2488
+ Action40 action40, Action41 action41, Action42 action42,
2489
+ Action43 action43, Action44 action44, Action45 action45) {
2490
+ if (check0(input)) return action0(action_arg);
2491
+ if (check1(input)) return action1(action_arg);
2492
+ if (check2(input)) return action2(action_arg);
2493
+ if (check3(input)) return action3(action_arg);
2494
+ if (check4(input)) return action4(action_arg);
2495
+ if (check5(input)) return action5(action_arg);
2496
+ if (check6(input)) return action6(action_arg);
2497
+ if (check7(input)) return action7(action_arg);
2498
+ if (check8(input)) return action8(action_arg);
2499
+ if (check9(input)) return action9(action_arg);
2500
+ if (check10(input)) return action10(action_arg);
2501
+ if (check11(input)) return action11(action_arg);
2502
+ if (check12(input)) return action12(action_arg);
2503
+ if (check13(input)) return action13(action_arg);
2504
+ if (check14(input)) return action14(action_arg);
2505
+ if (check15(input)) return action15(action_arg);
2506
+ if (check16(input)) return action16(action_arg);
2507
+ if (check17(input)) return action17(action_arg);
2508
+ if (check18(input)) return action18(action_arg);
2509
+ if (check19(input)) return action19(action_arg);
2510
+ if (check20(input)) return action20(action_arg);
2511
+ if (check21(input)) return action21(action_arg);
2512
+ if (check22(input)) return action22(action_arg);
2513
+ if (check23(input)) return action23(action_arg);
2514
+ if (check24(input)) return action24(action_arg);
2515
+ if (check25(input)) return action25(action_arg);
2516
+ if (check26(input)) return action26(action_arg);
2517
+ if (check27(input)) return action27(action_arg);
2518
+ if (check28(input)) return action28(action_arg);
2519
+ if (check29(input)) return action29(action_arg);
2520
+ if (check30(input)) return action30(action_arg);
2521
+ if (check31(input)) return action31(action_arg);
2522
+ if (check32(input)) return action32(action_arg);
2523
+ if (check33(input)) return action33(action_arg);
2524
+ if (check34(input)) return action34(action_arg);
2525
+ if (check35(input)) return action35(action_arg);
2526
+ if (check36(input)) return action36(action_arg);
2527
+ if (check37(input)) return action37(action_arg);
2528
+ if (check38(input)) return action38(action_arg);
2529
+ if (check39(input)) return action39(action_arg);
2530
+ if (check40(input)) return action40(action_arg);
2531
+ if (check41(input)) return action41(action_arg);
2532
+ if (check42(input)) return action42(action_arg);
2533
+ if (check43(input)) return action43(action_arg);
2534
+ if (check44(input)) return action44(action_arg);
2535
+ if (check45(input)) return action45(action_arg);
2536
+ return action_fail(action_arg);
2537
+ }
2538
+
2539
+ template <
2540
+ typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
2541
+ typename Check1, typename Check2, typename Check3, typename Check4,
2542
+ typename Check5, typename Check6, typename Check7, typename Check8,
2543
+ typename Check9, typename Check10, typename Check11, typename Check12,
2544
+ typename Check13, typename Check14, typename Check15, typename Check16,
2545
+ typename Check17, typename Check18, typename Check19, typename Check20,
2546
+ typename Check21, typename Check22, typename Check23, typename Check24,
2547
+ typename Check25, typename Check26, typename Check27, typename Check28,
2548
+ typename Check29, typename Check30, typename Check31, typename Check32,
2549
+ typename Check33, typename Check34, typename Check35, typename Check36,
2550
+ typename Check37, typename Check38, typename Check39, typename Check40,
2551
+ typename Check41, typename Check42, typename Check43, typename Check44,
2552
+ typename Check45, typename Check46, typename Action0, typename Action1,
2553
+ typename Action2, typename Action3, typename Action4, typename Action5,
2554
+ typename Action6, typename Action7, typename Action8, typename Action9,
2555
+ typename Action10, typename Action11, typename Action12, typename Action13,
2556
+ typename Action14, typename Action15, typename Action16, typename Action17,
2557
+ typename Action18, typename Action19, typename Action20, typename Action21,
2558
+ typename Action22, typename Action23, typename Action24, typename Action25,
2559
+ typename Action26, typename Action27, typename Action28, typename Action29,
2560
+ typename Action30, typename Action31, typename Action32, typename Action33,
2561
+ typename Action34, typename Action35, typename Action36, typename Action37,
2562
+ typename Action38, typename Action39, typename Action40, typename Action41,
2563
+ typename Action42, typename Action43, typename Action44, typename Action45,
2564
+ typename Action46>
2565
+ auto IfList(
2566
+ CheckArg input, ActionArg action_arg, ActionFail action_fail, Check0 check0,
2567
+ Check1 check1, Check2 check2, Check3 check3, Check4 check4, Check5 check5,
2568
+ Check6 check6, Check7 check7, Check8 check8, Check9 check9, Check10 check10,
2569
+ Check11 check11, Check12 check12, Check13 check13, Check14 check14,
2570
+ Check15 check15, Check16 check16, Check17 check17, Check18 check18,
2571
+ Check19 check19, Check20 check20, Check21 check21, Check22 check22,
2572
+ Check23 check23, Check24 check24, Check25 check25, Check26 check26,
2573
+ Check27 check27, Check28 check28, Check29 check29, Check30 check30,
2574
+ Check31 check31, Check32 check32, Check33 check33, Check34 check34,
2575
+ Check35 check35, Check36 check36, Check37 check37, Check38 check38,
2576
+ Check39 check39, Check40 check40, Check41 check41, Check42 check42,
2577
+ Check43 check43, Check44 check44, Check45 check45, Check46 check46,
2578
+ Action0 action0, Action1 action1, Action2 action2, Action3 action3,
2579
+ Action4 action4, Action5 action5, Action6 action6, Action7 action7,
2580
+ Action8 action8, Action9 action9, Action10 action10, Action11 action11,
2581
+ Action12 action12, Action13 action13, Action14 action14, Action15 action15,
2582
+ Action16 action16, Action17 action17, Action18 action18, Action19 action19,
2583
+ Action20 action20, Action21 action21, Action22 action22, Action23 action23,
2584
+ Action24 action24, Action25 action25, Action26 action26, Action27 action27,
2585
+ Action28 action28, Action29 action29, Action30 action30, Action31 action31,
2586
+ Action32 action32, Action33 action33, Action34 action34, Action35 action35,
2587
+ Action36 action36, Action37 action37, Action38 action38, Action39 action39,
2588
+ Action40 action40, Action41 action41, Action42 action42, Action43 action43,
2589
+ Action44 action44, Action45 action45, Action46 action46) {
2590
+ if (check0(input)) return action0(action_arg);
2591
+ if (check1(input)) return action1(action_arg);
2592
+ if (check2(input)) return action2(action_arg);
2593
+ if (check3(input)) return action3(action_arg);
2594
+ if (check4(input)) return action4(action_arg);
2595
+ if (check5(input)) return action5(action_arg);
2596
+ if (check6(input)) return action6(action_arg);
2597
+ if (check7(input)) return action7(action_arg);
2598
+ if (check8(input)) return action8(action_arg);
2599
+ if (check9(input)) return action9(action_arg);
2600
+ if (check10(input)) return action10(action_arg);
2601
+ if (check11(input)) return action11(action_arg);
2602
+ if (check12(input)) return action12(action_arg);
2603
+ if (check13(input)) return action13(action_arg);
2604
+ if (check14(input)) return action14(action_arg);
2605
+ if (check15(input)) return action15(action_arg);
2606
+ if (check16(input)) return action16(action_arg);
2607
+ if (check17(input)) return action17(action_arg);
2608
+ if (check18(input)) return action18(action_arg);
2609
+ if (check19(input)) return action19(action_arg);
2610
+ if (check20(input)) return action20(action_arg);
2611
+ if (check21(input)) return action21(action_arg);
2612
+ if (check22(input)) return action22(action_arg);
2613
+ if (check23(input)) return action23(action_arg);
2614
+ if (check24(input)) return action24(action_arg);
2615
+ if (check25(input)) return action25(action_arg);
2616
+ if (check26(input)) return action26(action_arg);
2617
+ if (check27(input)) return action27(action_arg);
2618
+ if (check28(input)) return action28(action_arg);
2619
+ if (check29(input)) return action29(action_arg);
2620
+ if (check30(input)) return action30(action_arg);
2621
+ if (check31(input)) return action31(action_arg);
2622
+ if (check32(input)) return action32(action_arg);
2623
+ if (check33(input)) return action33(action_arg);
2624
+ if (check34(input)) return action34(action_arg);
2625
+ if (check35(input)) return action35(action_arg);
2626
+ if (check36(input)) return action36(action_arg);
2627
+ if (check37(input)) return action37(action_arg);
2628
+ if (check38(input)) return action38(action_arg);
2629
+ if (check39(input)) return action39(action_arg);
2630
+ if (check40(input)) return action40(action_arg);
2631
+ if (check41(input)) return action41(action_arg);
2632
+ if (check42(input)) return action42(action_arg);
2633
+ if (check43(input)) return action43(action_arg);
2634
+ if (check44(input)) return action44(action_arg);
2635
+ if (check45(input)) return action45(action_arg);
2636
+ if (check46(input)) return action46(action_arg);
2637
+ return action_fail(action_arg);
2638
+ }
2639
+
2640
+ template <
2641
+ typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
2642
+ typename Check1, typename Check2, typename Check3, typename Check4,
2643
+ typename Check5, typename Check6, typename Check7, typename Check8,
2644
+ typename Check9, typename Check10, typename Check11, typename Check12,
2645
+ typename Check13, typename Check14, typename Check15, typename Check16,
2646
+ typename Check17, typename Check18, typename Check19, typename Check20,
2647
+ typename Check21, typename Check22, typename Check23, typename Check24,
2648
+ typename Check25, typename Check26, typename Check27, typename Check28,
2649
+ typename Check29, typename Check30, typename Check31, typename Check32,
2650
+ typename Check33, typename Check34, typename Check35, typename Check36,
2651
+ typename Check37, typename Check38, typename Check39, typename Check40,
2652
+ typename Check41, typename Check42, typename Check43, typename Check44,
2653
+ typename Check45, typename Check46, typename Check47, typename Action0,
2654
+ typename Action1, typename Action2, typename Action3, typename Action4,
2655
+ typename Action5, typename Action6, typename Action7, typename Action8,
2656
+ typename Action9, typename Action10, typename Action11, typename Action12,
2657
+ typename Action13, typename Action14, typename Action15, typename Action16,
2658
+ typename Action17, typename Action18, typename Action19, typename Action20,
2659
+ typename Action21, typename Action22, typename Action23, typename Action24,
2660
+ typename Action25, typename Action26, typename Action27, typename Action28,
2661
+ typename Action29, typename Action30, typename Action31, typename Action32,
2662
+ typename Action33, typename Action34, typename Action35, typename Action36,
2663
+ typename Action37, typename Action38, typename Action39, typename Action40,
2664
+ typename Action41, typename Action42, typename Action43, typename Action44,
2665
+ typename Action45, typename Action46, typename Action47>
2666
+ auto IfList(
2667
+ CheckArg input, ActionArg action_arg, ActionFail action_fail, Check0 check0,
2668
+ Check1 check1, Check2 check2, Check3 check3, Check4 check4, Check5 check5,
2669
+ Check6 check6, Check7 check7, Check8 check8, Check9 check9, Check10 check10,
2670
+ Check11 check11, Check12 check12, Check13 check13, Check14 check14,
2671
+ Check15 check15, Check16 check16, Check17 check17, Check18 check18,
2672
+ Check19 check19, Check20 check20, Check21 check21, Check22 check22,
2673
+ Check23 check23, Check24 check24, Check25 check25, Check26 check26,
2674
+ Check27 check27, Check28 check28, Check29 check29, Check30 check30,
2675
+ Check31 check31, Check32 check32, Check33 check33, Check34 check34,
2676
+ Check35 check35, Check36 check36, Check37 check37, Check38 check38,
2677
+ Check39 check39, Check40 check40, Check41 check41, Check42 check42,
2678
+ Check43 check43, Check44 check44, Check45 check45, Check46 check46,
2679
+ Check47 check47, Action0 action0, Action1 action1, Action2 action2,
2680
+ Action3 action3, Action4 action4, Action5 action5, Action6 action6,
2681
+ Action7 action7, Action8 action8, Action9 action9, Action10 action10,
2682
+ Action11 action11, Action12 action12, Action13 action13, Action14 action14,
2683
+ Action15 action15, Action16 action16, Action17 action17, Action18 action18,
2684
+ Action19 action19, Action20 action20, Action21 action21, Action22 action22,
2685
+ Action23 action23, Action24 action24, Action25 action25, Action26 action26,
2686
+ Action27 action27, Action28 action28, Action29 action29, Action30 action30,
2687
+ Action31 action31, Action32 action32, Action33 action33, Action34 action34,
2688
+ Action35 action35, Action36 action36, Action37 action37, Action38 action38,
2689
+ Action39 action39, Action40 action40, Action41 action41, Action42 action42,
2690
+ Action43 action43, Action44 action44, Action45 action45, Action46 action46,
2691
+ Action47 action47) {
2692
+ if (check0(input)) return action0(action_arg);
2693
+ if (check1(input)) return action1(action_arg);
2694
+ if (check2(input)) return action2(action_arg);
2695
+ if (check3(input)) return action3(action_arg);
2696
+ if (check4(input)) return action4(action_arg);
2697
+ if (check5(input)) return action5(action_arg);
2698
+ if (check6(input)) return action6(action_arg);
2699
+ if (check7(input)) return action7(action_arg);
2700
+ if (check8(input)) return action8(action_arg);
2701
+ if (check9(input)) return action9(action_arg);
2702
+ if (check10(input)) return action10(action_arg);
2703
+ if (check11(input)) return action11(action_arg);
2704
+ if (check12(input)) return action12(action_arg);
2705
+ if (check13(input)) return action13(action_arg);
2706
+ if (check14(input)) return action14(action_arg);
2707
+ if (check15(input)) return action15(action_arg);
2708
+ if (check16(input)) return action16(action_arg);
2709
+ if (check17(input)) return action17(action_arg);
2710
+ if (check18(input)) return action18(action_arg);
2711
+ if (check19(input)) return action19(action_arg);
2712
+ if (check20(input)) return action20(action_arg);
2713
+ if (check21(input)) return action21(action_arg);
2714
+ if (check22(input)) return action22(action_arg);
2715
+ if (check23(input)) return action23(action_arg);
2716
+ if (check24(input)) return action24(action_arg);
2717
+ if (check25(input)) return action25(action_arg);
2718
+ if (check26(input)) return action26(action_arg);
2719
+ if (check27(input)) return action27(action_arg);
2720
+ if (check28(input)) return action28(action_arg);
2721
+ if (check29(input)) return action29(action_arg);
2722
+ if (check30(input)) return action30(action_arg);
2723
+ if (check31(input)) return action31(action_arg);
2724
+ if (check32(input)) return action32(action_arg);
2725
+ if (check33(input)) return action33(action_arg);
2726
+ if (check34(input)) return action34(action_arg);
2727
+ if (check35(input)) return action35(action_arg);
2728
+ if (check36(input)) return action36(action_arg);
2729
+ if (check37(input)) return action37(action_arg);
2730
+ if (check38(input)) return action38(action_arg);
2731
+ if (check39(input)) return action39(action_arg);
2732
+ if (check40(input)) return action40(action_arg);
2733
+ if (check41(input)) return action41(action_arg);
2734
+ if (check42(input)) return action42(action_arg);
2735
+ if (check43(input)) return action43(action_arg);
2736
+ if (check44(input)) return action44(action_arg);
2737
+ if (check45(input)) return action45(action_arg);
2738
+ if (check46(input)) return action46(action_arg);
2739
+ if (check47(input)) return action47(action_arg);
2740
+ return action_fail(action_arg);
2741
+ }
2742
+
2743
+ template <
2744
+ typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
2745
+ typename Check1, typename Check2, typename Check3, typename Check4,
2746
+ typename Check5, typename Check6, typename Check7, typename Check8,
2747
+ typename Check9, typename Check10, typename Check11, typename Check12,
2748
+ typename Check13, typename Check14, typename Check15, typename Check16,
2749
+ typename Check17, typename Check18, typename Check19, typename Check20,
2750
+ typename Check21, typename Check22, typename Check23, typename Check24,
2751
+ typename Check25, typename Check26, typename Check27, typename Check28,
2752
+ typename Check29, typename Check30, typename Check31, typename Check32,
2753
+ typename Check33, typename Check34, typename Check35, typename Check36,
2754
+ typename Check37, typename Check38, typename Check39, typename Check40,
2755
+ typename Check41, typename Check42, typename Check43, typename Check44,
2756
+ typename Check45, typename Check46, typename Check47, typename Check48,
2757
+ typename Action0, typename Action1, typename Action2, typename Action3,
2758
+ typename Action4, typename Action5, typename Action6, typename Action7,
2759
+ typename Action8, typename Action9, typename Action10, typename Action11,
2760
+ typename Action12, typename Action13, typename Action14, typename Action15,
2761
+ typename Action16, typename Action17, typename Action18, typename Action19,
2762
+ typename Action20, typename Action21, typename Action22, typename Action23,
2763
+ typename Action24, typename Action25, typename Action26, typename Action27,
2764
+ typename Action28, typename Action29, typename Action30, typename Action31,
2765
+ typename Action32, typename Action33, typename Action34, typename Action35,
2766
+ typename Action36, typename Action37, typename Action38, typename Action39,
2767
+ typename Action40, typename Action41, typename Action42, typename Action43,
2768
+ typename Action44, typename Action45, typename Action46, typename Action47,
2769
+ typename Action48>
2770
+ auto IfList(
2771
+ CheckArg input, ActionArg action_arg, ActionFail action_fail, Check0 check0,
2772
+ Check1 check1, Check2 check2, Check3 check3, Check4 check4, Check5 check5,
2773
+ Check6 check6, Check7 check7, Check8 check8, Check9 check9, Check10 check10,
2774
+ Check11 check11, Check12 check12, Check13 check13, Check14 check14,
2775
+ Check15 check15, Check16 check16, Check17 check17, Check18 check18,
2776
+ Check19 check19, Check20 check20, Check21 check21, Check22 check22,
2777
+ Check23 check23, Check24 check24, Check25 check25, Check26 check26,
2778
+ Check27 check27, Check28 check28, Check29 check29, Check30 check30,
2779
+ Check31 check31, Check32 check32, Check33 check33, Check34 check34,
2780
+ Check35 check35, Check36 check36, Check37 check37, Check38 check38,
2781
+ Check39 check39, Check40 check40, Check41 check41, Check42 check42,
2782
+ Check43 check43, Check44 check44, Check45 check45, Check46 check46,
2783
+ Check47 check47, Check48 check48, Action0 action0, Action1 action1,
2784
+ Action2 action2, Action3 action3, Action4 action4, Action5 action5,
2785
+ Action6 action6, Action7 action7, Action8 action8, Action9 action9,
2786
+ Action10 action10, Action11 action11, Action12 action12, Action13 action13,
2787
+ Action14 action14, Action15 action15, Action16 action16, Action17 action17,
2788
+ Action18 action18, Action19 action19, Action20 action20, Action21 action21,
2789
+ Action22 action22, Action23 action23, Action24 action24, Action25 action25,
2790
+ Action26 action26, Action27 action27, Action28 action28, Action29 action29,
2791
+ Action30 action30, Action31 action31, Action32 action32, Action33 action33,
2792
+ Action34 action34, Action35 action35, Action36 action36, Action37 action37,
2793
+ Action38 action38, Action39 action39, Action40 action40, Action41 action41,
2794
+ Action42 action42, Action43 action43, Action44 action44, Action45 action45,
2795
+ Action46 action46, Action47 action47, Action48 action48) {
2796
+ if (check0(input)) return action0(action_arg);
2797
+ if (check1(input)) return action1(action_arg);
2798
+ if (check2(input)) return action2(action_arg);
2799
+ if (check3(input)) return action3(action_arg);
2800
+ if (check4(input)) return action4(action_arg);
2801
+ if (check5(input)) return action5(action_arg);
2802
+ if (check6(input)) return action6(action_arg);
2803
+ if (check7(input)) return action7(action_arg);
2804
+ if (check8(input)) return action8(action_arg);
2805
+ if (check9(input)) return action9(action_arg);
2806
+ if (check10(input)) return action10(action_arg);
2807
+ if (check11(input)) return action11(action_arg);
2808
+ if (check12(input)) return action12(action_arg);
2809
+ if (check13(input)) return action13(action_arg);
2810
+ if (check14(input)) return action14(action_arg);
2811
+ if (check15(input)) return action15(action_arg);
2812
+ if (check16(input)) return action16(action_arg);
2813
+ if (check17(input)) return action17(action_arg);
2814
+ if (check18(input)) return action18(action_arg);
2815
+ if (check19(input)) return action19(action_arg);
2816
+ if (check20(input)) return action20(action_arg);
2817
+ if (check21(input)) return action21(action_arg);
2818
+ if (check22(input)) return action22(action_arg);
2819
+ if (check23(input)) return action23(action_arg);
2820
+ if (check24(input)) return action24(action_arg);
2821
+ if (check25(input)) return action25(action_arg);
2822
+ if (check26(input)) return action26(action_arg);
2823
+ if (check27(input)) return action27(action_arg);
2824
+ if (check28(input)) return action28(action_arg);
2825
+ if (check29(input)) return action29(action_arg);
2826
+ if (check30(input)) return action30(action_arg);
2827
+ if (check31(input)) return action31(action_arg);
2828
+ if (check32(input)) return action32(action_arg);
2829
+ if (check33(input)) return action33(action_arg);
2830
+ if (check34(input)) return action34(action_arg);
2831
+ if (check35(input)) return action35(action_arg);
2832
+ if (check36(input)) return action36(action_arg);
2833
+ if (check37(input)) return action37(action_arg);
2834
+ if (check38(input)) return action38(action_arg);
2835
+ if (check39(input)) return action39(action_arg);
2836
+ if (check40(input)) return action40(action_arg);
2837
+ if (check41(input)) return action41(action_arg);
2838
+ if (check42(input)) return action42(action_arg);
2839
+ if (check43(input)) return action43(action_arg);
2840
+ if (check44(input)) return action44(action_arg);
2841
+ if (check45(input)) return action45(action_arg);
2842
+ if (check46(input)) return action46(action_arg);
2843
+ if (check47(input)) return action47(action_arg);
2844
+ if (check48(input)) return action48(action_arg);
2845
+ return action_fail(action_arg);
2846
+ }
2847
+
2848
+ template <
2849
+ typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
2850
+ typename Check1, typename Check2, typename Check3, typename Check4,
2851
+ typename Check5, typename Check6, typename Check7, typename Check8,
2852
+ typename Check9, typename Check10, typename Check11, typename Check12,
2853
+ typename Check13, typename Check14, typename Check15, typename Check16,
2854
+ typename Check17, typename Check18, typename Check19, typename Check20,
2855
+ typename Check21, typename Check22, typename Check23, typename Check24,
2856
+ typename Check25, typename Check26, typename Check27, typename Check28,
2857
+ typename Check29, typename Check30, typename Check31, typename Check32,
2858
+ typename Check33, typename Check34, typename Check35, typename Check36,
2859
+ typename Check37, typename Check38, typename Check39, typename Check40,
2860
+ typename Check41, typename Check42, typename Check43, typename Check44,
2861
+ typename Check45, typename Check46, typename Check47, typename Check48,
2862
+ typename Check49, typename Action0, typename Action1, typename Action2,
2863
+ typename Action3, typename Action4, typename Action5, typename Action6,
2864
+ typename Action7, typename Action8, typename Action9, typename Action10,
2865
+ typename Action11, typename Action12, typename Action13, typename Action14,
2866
+ typename Action15, typename Action16, typename Action17, typename Action18,
2867
+ typename Action19, typename Action20, typename Action21, typename Action22,
2868
+ typename Action23, typename Action24, typename Action25, typename Action26,
2869
+ typename Action27, typename Action28, typename Action29, typename Action30,
2870
+ typename Action31, typename Action32, typename Action33, typename Action34,
2871
+ typename Action35, typename Action36, typename Action37, typename Action38,
2872
+ typename Action39, typename Action40, typename Action41, typename Action42,
2873
+ typename Action43, typename Action44, typename Action45, typename Action46,
2874
+ typename Action47, typename Action48, typename Action49>
2875
+ auto IfList(
2876
+ CheckArg input, ActionArg action_arg, ActionFail action_fail, Check0 check0,
2877
+ Check1 check1, Check2 check2, Check3 check3, Check4 check4, Check5 check5,
2878
+ Check6 check6, Check7 check7, Check8 check8, Check9 check9, Check10 check10,
2879
+ Check11 check11, Check12 check12, Check13 check13, Check14 check14,
2880
+ Check15 check15, Check16 check16, Check17 check17, Check18 check18,
2881
+ Check19 check19, Check20 check20, Check21 check21, Check22 check22,
2882
+ Check23 check23, Check24 check24, Check25 check25, Check26 check26,
2883
+ Check27 check27, Check28 check28, Check29 check29, Check30 check30,
2884
+ Check31 check31, Check32 check32, Check33 check33, Check34 check34,
2885
+ Check35 check35, Check36 check36, Check37 check37, Check38 check38,
2886
+ Check39 check39, Check40 check40, Check41 check41, Check42 check42,
2887
+ Check43 check43, Check44 check44, Check45 check45, Check46 check46,
2888
+ Check47 check47, Check48 check48, Check49 check49, Action0 action0,
2889
+ Action1 action1, Action2 action2, Action3 action3, Action4 action4,
2890
+ Action5 action5, Action6 action6, Action7 action7, Action8 action8,
2891
+ Action9 action9, Action10 action10, Action11 action11, Action12 action12,
2892
+ Action13 action13, Action14 action14, Action15 action15, Action16 action16,
2893
+ Action17 action17, Action18 action18, Action19 action19, Action20 action20,
2894
+ Action21 action21, Action22 action22, Action23 action23, Action24 action24,
2895
+ Action25 action25, Action26 action26, Action27 action27, Action28 action28,
2896
+ Action29 action29, Action30 action30, Action31 action31, Action32 action32,
2897
+ Action33 action33, Action34 action34, Action35 action35, Action36 action36,
2898
+ Action37 action37, Action38 action38, Action39 action39, Action40 action40,
2899
+ Action41 action41, Action42 action42, Action43 action43, Action44 action44,
2900
+ Action45 action45, Action46 action46, Action47 action47, Action48 action48,
2901
+ Action49 action49) {
2902
+ if (check0(input)) return action0(action_arg);
2903
+ if (check1(input)) return action1(action_arg);
2904
+ if (check2(input)) return action2(action_arg);
2905
+ if (check3(input)) return action3(action_arg);
2906
+ if (check4(input)) return action4(action_arg);
2907
+ if (check5(input)) return action5(action_arg);
2908
+ if (check6(input)) return action6(action_arg);
2909
+ if (check7(input)) return action7(action_arg);
2910
+ if (check8(input)) return action8(action_arg);
2911
+ if (check9(input)) return action9(action_arg);
2912
+ if (check10(input)) return action10(action_arg);
2913
+ if (check11(input)) return action11(action_arg);
2914
+ if (check12(input)) return action12(action_arg);
2915
+ if (check13(input)) return action13(action_arg);
2916
+ if (check14(input)) return action14(action_arg);
2917
+ if (check15(input)) return action15(action_arg);
2918
+ if (check16(input)) return action16(action_arg);
2919
+ if (check17(input)) return action17(action_arg);
2920
+ if (check18(input)) return action18(action_arg);
2921
+ if (check19(input)) return action19(action_arg);
2922
+ if (check20(input)) return action20(action_arg);
2923
+ if (check21(input)) return action21(action_arg);
2924
+ if (check22(input)) return action22(action_arg);
2925
+ if (check23(input)) return action23(action_arg);
2926
+ if (check24(input)) return action24(action_arg);
2927
+ if (check25(input)) return action25(action_arg);
2928
+ if (check26(input)) return action26(action_arg);
2929
+ if (check27(input)) return action27(action_arg);
2930
+ if (check28(input)) return action28(action_arg);
2931
+ if (check29(input)) return action29(action_arg);
2932
+ if (check30(input)) return action30(action_arg);
2933
+ if (check31(input)) return action31(action_arg);
2934
+ if (check32(input)) return action32(action_arg);
2935
+ if (check33(input)) return action33(action_arg);
2936
+ if (check34(input)) return action34(action_arg);
2937
+ if (check35(input)) return action35(action_arg);
2938
+ if (check36(input)) return action36(action_arg);
2939
+ if (check37(input)) return action37(action_arg);
2940
+ if (check38(input)) return action38(action_arg);
2941
+ if (check39(input)) return action39(action_arg);
2942
+ if (check40(input)) return action40(action_arg);
2943
+ if (check41(input)) return action41(action_arg);
2944
+ if (check42(input)) return action42(action_arg);
2945
+ if (check43(input)) return action43(action_arg);
2946
+ if (check44(input)) return action44(action_arg);
2947
+ if (check45(input)) return action45(action_arg);
2948
+ if (check46(input)) return action46(action_arg);
2949
+ if (check47(input)) return action47(action_arg);
2950
+ if (check48(input)) return action48(action_arg);
2951
+ if (check49(input)) return action49(action_arg);
2952
+ return action_fail(action_arg);
2953
+ }
2954
+
2955
+ template <
2956
+ typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
2957
+ typename Check1, typename Check2, typename Check3, typename Check4,
2958
+ typename Check5, typename Check6, typename Check7, typename Check8,
2959
+ typename Check9, typename Check10, typename Check11, typename Check12,
2960
+ typename Check13, typename Check14, typename Check15, typename Check16,
2961
+ typename Check17, typename Check18, typename Check19, typename Check20,
2962
+ typename Check21, typename Check22, typename Check23, typename Check24,
2963
+ typename Check25, typename Check26, typename Check27, typename Check28,
2964
+ typename Check29, typename Check30, typename Check31, typename Check32,
2965
+ typename Check33, typename Check34, typename Check35, typename Check36,
2966
+ typename Check37, typename Check38, typename Check39, typename Check40,
2967
+ typename Check41, typename Check42, typename Check43, typename Check44,
2968
+ typename Check45, typename Check46, typename Check47, typename Check48,
2969
+ typename Check49, typename Check50, typename Action0, typename Action1,
2970
+ typename Action2, typename Action3, typename Action4, typename Action5,
2971
+ typename Action6, typename Action7, typename Action8, typename Action9,
2972
+ typename Action10, typename Action11, typename Action12, typename Action13,
2973
+ typename Action14, typename Action15, typename Action16, typename Action17,
2974
+ typename Action18, typename Action19, typename Action20, typename Action21,
2975
+ typename Action22, typename Action23, typename Action24, typename Action25,
2976
+ typename Action26, typename Action27, typename Action28, typename Action29,
2977
+ typename Action30, typename Action31, typename Action32, typename Action33,
2978
+ typename Action34, typename Action35, typename Action36, typename Action37,
2979
+ typename Action38, typename Action39, typename Action40, typename Action41,
2980
+ typename Action42, typename Action43, typename Action44, typename Action45,
2981
+ typename Action46, typename Action47, typename Action48, typename Action49,
2982
+ typename Action50>
2983
+ auto IfList(
2984
+ CheckArg input, ActionArg action_arg, ActionFail action_fail, Check0 check0,
2985
+ Check1 check1, Check2 check2, Check3 check3, Check4 check4, Check5 check5,
2986
+ Check6 check6, Check7 check7, Check8 check8, Check9 check9, Check10 check10,
2987
+ Check11 check11, Check12 check12, Check13 check13, Check14 check14,
2988
+ Check15 check15, Check16 check16, Check17 check17, Check18 check18,
2989
+ Check19 check19, Check20 check20, Check21 check21, Check22 check22,
2990
+ Check23 check23, Check24 check24, Check25 check25, Check26 check26,
2991
+ Check27 check27, Check28 check28, Check29 check29, Check30 check30,
2992
+ Check31 check31, Check32 check32, Check33 check33, Check34 check34,
2993
+ Check35 check35, Check36 check36, Check37 check37, Check38 check38,
2994
+ Check39 check39, Check40 check40, Check41 check41, Check42 check42,
2995
+ Check43 check43, Check44 check44, Check45 check45, Check46 check46,
2996
+ Check47 check47, Check48 check48, Check49 check49, Check50 check50,
2997
+ Action0 action0, Action1 action1, Action2 action2, Action3 action3,
2998
+ Action4 action4, Action5 action5, Action6 action6, Action7 action7,
2999
+ Action8 action8, Action9 action9, Action10 action10, Action11 action11,
3000
+ Action12 action12, Action13 action13, Action14 action14, Action15 action15,
3001
+ Action16 action16, Action17 action17, Action18 action18, Action19 action19,
3002
+ Action20 action20, Action21 action21, Action22 action22, Action23 action23,
3003
+ Action24 action24, Action25 action25, Action26 action26, Action27 action27,
3004
+ Action28 action28, Action29 action29, Action30 action30, Action31 action31,
3005
+ Action32 action32, Action33 action33, Action34 action34, Action35 action35,
3006
+ Action36 action36, Action37 action37, Action38 action38, Action39 action39,
3007
+ Action40 action40, Action41 action41, Action42 action42, Action43 action43,
3008
+ Action44 action44, Action45 action45, Action46 action46, Action47 action47,
3009
+ Action48 action48, Action49 action49, Action50 action50) {
3010
+ if (check0(input)) return action0(action_arg);
3011
+ if (check1(input)) return action1(action_arg);
3012
+ if (check2(input)) return action2(action_arg);
3013
+ if (check3(input)) return action3(action_arg);
3014
+ if (check4(input)) return action4(action_arg);
3015
+ if (check5(input)) return action5(action_arg);
3016
+ if (check6(input)) return action6(action_arg);
3017
+ if (check7(input)) return action7(action_arg);
3018
+ if (check8(input)) return action8(action_arg);
3019
+ if (check9(input)) return action9(action_arg);
3020
+ if (check10(input)) return action10(action_arg);
3021
+ if (check11(input)) return action11(action_arg);
3022
+ if (check12(input)) return action12(action_arg);
3023
+ if (check13(input)) return action13(action_arg);
3024
+ if (check14(input)) return action14(action_arg);
3025
+ if (check15(input)) return action15(action_arg);
3026
+ if (check16(input)) return action16(action_arg);
3027
+ if (check17(input)) return action17(action_arg);
3028
+ if (check18(input)) return action18(action_arg);
3029
+ if (check19(input)) return action19(action_arg);
3030
+ if (check20(input)) return action20(action_arg);
3031
+ if (check21(input)) return action21(action_arg);
3032
+ if (check22(input)) return action22(action_arg);
3033
+ if (check23(input)) return action23(action_arg);
3034
+ if (check24(input)) return action24(action_arg);
3035
+ if (check25(input)) return action25(action_arg);
3036
+ if (check26(input)) return action26(action_arg);
3037
+ if (check27(input)) return action27(action_arg);
3038
+ if (check28(input)) return action28(action_arg);
3039
+ if (check29(input)) return action29(action_arg);
3040
+ if (check30(input)) return action30(action_arg);
3041
+ if (check31(input)) return action31(action_arg);
3042
+ if (check32(input)) return action32(action_arg);
3043
+ if (check33(input)) return action33(action_arg);
3044
+ if (check34(input)) return action34(action_arg);
3045
+ if (check35(input)) return action35(action_arg);
3046
+ if (check36(input)) return action36(action_arg);
3047
+ if (check37(input)) return action37(action_arg);
3048
+ if (check38(input)) return action38(action_arg);
3049
+ if (check39(input)) return action39(action_arg);
3050
+ if (check40(input)) return action40(action_arg);
3051
+ if (check41(input)) return action41(action_arg);
3052
+ if (check42(input)) return action42(action_arg);
3053
+ if (check43(input)) return action43(action_arg);
3054
+ if (check44(input)) return action44(action_arg);
3055
+ if (check45(input)) return action45(action_arg);
3056
+ if (check46(input)) return action46(action_arg);
3057
+ if (check47(input)) return action47(action_arg);
3058
+ if (check48(input)) return action48(action_arg);
3059
+ if (check49(input)) return action49(action_arg);
3060
+ if (check50(input)) return action50(action_arg);
3061
+ return action_fail(action_arg);
3062
+ }
3063
+
3064
+ template <
3065
+ typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
3066
+ typename Check1, typename Check2, typename Check3, typename Check4,
3067
+ typename Check5, typename Check6, typename Check7, typename Check8,
3068
+ typename Check9, typename Check10, typename Check11, typename Check12,
3069
+ typename Check13, typename Check14, typename Check15, typename Check16,
3070
+ typename Check17, typename Check18, typename Check19, typename Check20,
3071
+ typename Check21, typename Check22, typename Check23, typename Check24,
3072
+ typename Check25, typename Check26, typename Check27, typename Check28,
3073
+ typename Check29, typename Check30, typename Check31, typename Check32,
3074
+ typename Check33, typename Check34, typename Check35, typename Check36,
3075
+ typename Check37, typename Check38, typename Check39, typename Check40,
3076
+ typename Check41, typename Check42, typename Check43, typename Check44,
3077
+ typename Check45, typename Check46, typename Check47, typename Check48,
3078
+ typename Check49, typename Check50, typename Check51, typename Action0,
3079
+ typename Action1, typename Action2, typename Action3, typename Action4,
3080
+ typename Action5, typename Action6, typename Action7, typename Action8,
3081
+ typename Action9, typename Action10, typename Action11, typename Action12,
3082
+ typename Action13, typename Action14, typename Action15, typename Action16,
3083
+ typename Action17, typename Action18, typename Action19, typename Action20,
3084
+ typename Action21, typename Action22, typename Action23, typename Action24,
3085
+ typename Action25, typename Action26, typename Action27, typename Action28,
3086
+ typename Action29, typename Action30, typename Action31, typename Action32,
3087
+ typename Action33, typename Action34, typename Action35, typename Action36,
3088
+ typename Action37, typename Action38, typename Action39, typename Action40,
3089
+ typename Action41, typename Action42, typename Action43, typename Action44,
3090
+ typename Action45, typename Action46, typename Action47, typename Action48,
3091
+ typename Action49, typename Action50, typename Action51>
3092
+ auto IfList(
3093
+ CheckArg input, ActionArg action_arg, ActionFail action_fail, Check0 check0,
3094
+ Check1 check1, Check2 check2, Check3 check3, Check4 check4, Check5 check5,
3095
+ Check6 check6, Check7 check7, Check8 check8, Check9 check9, Check10 check10,
3096
+ Check11 check11, Check12 check12, Check13 check13, Check14 check14,
3097
+ Check15 check15, Check16 check16, Check17 check17, Check18 check18,
3098
+ Check19 check19, Check20 check20, Check21 check21, Check22 check22,
3099
+ Check23 check23, Check24 check24, Check25 check25, Check26 check26,
3100
+ Check27 check27, Check28 check28, Check29 check29, Check30 check30,
3101
+ Check31 check31, Check32 check32, Check33 check33, Check34 check34,
3102
+ Check35 check35, Check36 check36, Check37 check37, Check38 check38,
3103
+ Check39 check39, Check40 check40, Check41 check41, Check42 check42,
3104
+ Check43 check43, Check44 check44, Check45 check45, Check46 check46,
3105
+ Check47 check47, Check48 check48, Check49 check49, Check50 check50,
3106
+ Check51 check51, Action0 action0, Action1 action1, Action2 action2,
3107
+ Action3 action3, Action4 action4, Action5 action5, Action6 action6,
3108
+ Action7 action7, Action8 action8, Action9 action9, Action10 action10,
3109
+ Action11 action11, Action12 action12, Action13 action13, Action14 action14,
3110
+ Action15 action15, Action16 action16, Action17 action17, Action18 action18,
3111
+ Action19 action19, Action20 action20, Action21 action21, Action22 action22,
3112
+ Action23 action23, Action24 action24, Action25 action25, Action26 action26,
3113
+ Action27 action27, Action28 action28, Action29 action29, Action30 action30,
3114
+ Action31 action31, Action32 action32, Action33 action33, Action34 action34,
3115
+ Action35 action35, Action36 action36, Action37 action37, Action38 action38,
3116
+ Action39 action39, Action40 action40, Action41 action41, Action42 action42,
3117
+ Action43 action43, Action44 action44, Action45 action45, Action46 action46,
3118
+ Action47 action47, Action48 action48, Action49 action49, Action50 action50,
3119
+ Action51 action51) {
3120
+ if (check0(input)) return action0(action_arg);
3121
+ if (check1(input)) return action1(action_arg);
3122
+ if (check2(input)) return action2(action_arg);
3123
+ if (check3(input)) return action3(action_arg);
3124
+ if (check4(input)) return action4(action_arg);
3125
+ if (check5(input)) return action5(action_arg);
3126
+ if (check6(input)) return action6(action_arg);
3127
+ if (check7(input)) return action7(action_arg);
3128
+ if (check8(input)) return action8(action_arg);
3129
+ if (check9(input)) return action9(action_arg);
3130
+ if (check10(input)) return action10(action_arg);
3131
+ if (check11(input)) return action11(action_arg);
3132
+ if (check12(input)) return action12(action_arg);
3133
+ if (check13(input)) return action13(action_arg);
3134
+ if (check14(input)) return action14(action_arg);
3135
+ if (check15(input)) return action15(action_arg);
3136
+ if (check16(input)) return action16(action_arg);
3137
+ if (check17(input)) return action17(action_arg);
3138
+ if (check18(input)) return action18(action_arg);
3139
+ if (check19(input)) return action19(action_arg);
3140
+ if (check20(input)) return action20(action_arg);
3141
+ if (check21(input)) return action21(action_arg);
3142
+ if (check22(input)) return action22(action_arg);
3143
+ if (check23(input)) return action23(action_arg);
3144
+ if (check24(input)) return action24(action_arg);
3145
+ if (check25(input)) return action25(action_arg);
3146
+ if (check26(input)) return action26(action_arg);
3147
+ if (check27(input)) return action27(action_arg);
3148
+ if (check28(input)) return action28(action_arg);
3149
+ if (check29(input)) return action29(action_arg);
3150
+ if (check30(input)) return action30(action_arg);
3151
+ if (check31(input)) return action31(action_arg);
3152
+ if (check32(input)) return action32(action_arg);
3153
+ if (check33(input)) return action33(action_arg);
3154
+ if (check34(input)) return action34(action_arg);
3155
+ if (check35(input)) return action35(action_arg);
3156
+ if (check36(input)) return action36(action_arg);
3157
+ if (check37(input)) return action37(action_arg);
3158
+ if (check38(input)) return action38(action_arg);
3159
+ if (check39(input)) return action39(action_arg);
3160
+ if (check40(input)) return action40(action_arg);
3161
+ if (check41(input)) return action41(action_arg);
3162
+ if (check42(input)) return action42(action_arg);
3163
+ if (check43(input)) return action43(action_arg);
3164
+ if (check44(input)) return action44(action_arg);
3165
+ if (check45(input)) return action45(action_arg);
3166
+ if (check46(input)) return action46(action_arg);
3167
+ if (check47(input)) return action47(action_arg);
3168
+ if (check48(input)) return action48(action_arg);
3169
+ if (check49(input)) return action49(action_arg);
3170
+ if (check50(input)) return action50(action_arg);
3171
+ if (check51(input)) return action51(action_arg);
3172
+ return action_fail(action_arg);
3173
+ }
3174
+
3175
+ template <
3176
+ typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
3177
+ typename Check1, typename Check2, typename Check3, typename Check4,
3178
+ typename Check5, typename Check6, typename Check7, typename Check8,
3179
+ typename Check9, typename Check10, typename Check11, typename Check12,
3180
+ typename Check13, typename Check14, typename Check15, typename Check16,
3181
+ typename Check17, typename Check18, typename Check19, typename Check20,
3182
+ typename Check21, typename Check22, typename Check23, typename Check24,
3183
+ typename Check25, typename Check26, typename Check27, typename Check28,
3184
+ typename Check29, typename Check30, typename Check31, typename Check32,
3185
+ typename Check33, typename Check34, typename Check35, typename Check36,
3186
+ typename Check37, typename Check38, typename Check39, typename Check40,
3187
+ typename Check41, typename Check42, typename Check43, typename Check44,
3188
+ typename Check45, typename Check46, typename Check47, typename Check48,
3189
+ typename Check49, typename Check50, typename Check51, typename Check52,
3190
+ typename Action0, typename Action1, typename Action2, typename Action3,
3191
+ typename Action4, typename Action5, typename Action6, typename Action7,
3192
+ typename Action8, typename Action9, typename Action10, typename Action11,
3193
+ typename Action12, typename Action13, typename Action14, typename Action15,
3194
+ typename Action16, typename Action17, typename Action18, typename Action19,
3195
+ typename Action20, typename Action21, typename Action22, typename Action23,
3196
+ typename Action24, typename Action25, typename Action26, typename Action27,
3197
+ typename Action28, typename Action29, typename Action30, typename Action31,
3198
+ typename Action32, typename Action33, typename Action34, typename Action35,
3199
+ typename Action36, typename Action37, typename Action38, typename Action39,
3200
+ typename Action40, typename Action41, typename Action42, typename Action43,
3201
+ typename Action44, typename Action45, typename Action46, typename Action47,
3202
+ typename Action48, typename Action49, typename Action50, typename Action51,
3203
+ typename Action52>
3204
+ auto IfList(
3205
+ CheckArg input, ActionArg action_arg, ActionFail action_fail, Check0 check0,
3206
+ Check1 check1, Check2 check2, Check3 check3, Check4 check4, Check5 check5,
3207
+ Check6 check6, Check7 check7, Check8 check8, Check9 check9, Check10 check10,
3208
+ Check11 check11, Check12 check12, Check13 check13, Check14 check14,
3209
+ Check15 check15, Check16 check16, Check17 check17, Check18 check18,
3210
+ Check19 check19, Check20 check20, Check21 check21, Check22 check22,
3211
+ Check23 check23, Check24 check24, Check25 check25, Check26 check26,
3212
+ Check27 check27, Check28 check28, Check29 check29, Check30 check30,
3213
+ Check31 check31, Check32 check32, Check33 check33, Check34 check34,
3214
+ Check35 check35, Check36 check36, Check37 check37, Check38 check38,
3215
+ Check39 check39, Check40 check40, Check41 check41, Check42 check42,
3216
+ Check43 check43, Check44 check44, Check45 check45, Check46 check46,
3217
+ Check47 check47, Check48 check48, Check49 check49, Check50 check50,
3218
+ Check51 check51, Check52 check52, Action0 action0, Action1 action1,
3219
+ Action2 action2, Action3 action3, Action4 action4, Action5 action5,
3220
+ Action6 action6, Action7 action7, Action8 action8, Action9 action9,
3221
+ Action10 action10, Action11 action11, Action12 action12, Action13 action13,
3222
+ Action14 action14, Action15 action15, Action16 action16, Action17 action17,
3223
+ Action18 action18, Action19 action19, Action20 action20, Action21 action21,
3224
+ Action22 action22, Action23 action23, Action24 action24, Action25 action25,
3225
+ Action26 action26, Action27 action27, Action28 action28, Action29 action29,
3226
+ Action30 action30, Action31 action31, Action32 action32, Action33 action33,
3227
+ Action34 action34, Action35 action35, Action36 action36, Action37 action37,
3228
+ Action38 action38, Action39 action39, Action40 action40, Action41 action41,
3229
+ Action42 action42, Action43 action43, Action44 action44, Action45 action45,
3230
+ Action46 action46, Action47 action47, Action48 action48, Action49 action49,
3231
+ Action50 action50, Action51 action51, Action52 action52) {
3232
+ if (check0(input)) return action0(action_arg);
3233
+ if (check1(input)) return action1(action_arg);
3234
+ if (check2(input)) return action2(action_arg);
3235
+ if (check3(input)) return action3(action_arg);
3236
+ if (check4(input)) return action4(action_arg);
3237
+ if (check5(input)) return action5(action_arg);
3238
+ if (check6(input)) return action6(action_arg);
3239
+ if (check7(input)) return action7(action_arg);
3240
+ if (check8(input)) return action8(action_arg);
3241
+ if (check9(input)) return action9(action_arg);
3242
+ if (check10(input)) return action10(action_arg);
3243
+ if (check11(input)) return action11(action_arg);
3244
+ if (check12(input)) return action12(action_arg);
3245
+ if (check13(input)) return action13(action_arg);
3246
+ if (check14(input)) return action14(action_arg);
3247
+ if (check15(input)) return action15(action_arg);
3248
+ if (check16(input)) return action16(action_arg);
3249
+ if (check17(input)) return action17(action_arg);
3250
+ if (check18(input)) return action18(action_arg);
3251
+ if (check19(input)) return action19(action_arg);
3252
+ if (check20(input)) return action20(action_arg);
3253
+ if (check21(input)) return action21(action_arg);
3254
+ if (check22(input)) return action22(action_arg);
3255
+ if (check23(input)) return action23(action_arg);
3256
+ if (check24(input)) return action24(action_arg);
3257
+ if (check25(input)) return action25(action_arg);
3258
+ if (check26(input)) return action26(action_arg);
3259
+ if (check27(input)) return action27(action_arg);
3260
+ if (check28(input)) return action28(action_arg);
3261
+ if (check29(input)) return action29(action_arg);
3262
+ if (check30(input)) return action30(action_arg);
3263
+ if (check31(input)) return action31(action_arg);
3264
+ if (check32(input)) return action32(action_arg);
3265
+ if (check33(input)) return action33(action_arg);
3266
+ if (check34(input)) return action34(action_arg);
3267
+ if (check35(input)) return action35(action_arg);
3268
+ if (check36(input)) return action36(action_arg);
3269
+ if (check37(input)) return action37(action_arg);
3270
+ if (check38(input)) return action38(action_arg);
3271
+ if (check39(input)) return action39(action_arg);
3272
+ if (check40(input)) return action40(action_arg);
3273
+ if (check41(input)) return action41(action_arg);
3274
+ if (check42(input)) return action42(action_arg);
3275
+ if (check43(input)) return action43(action_arg);
3276
+ if (check44(input)) return action44(action_arg);
3277
+ if (check45(input)) return action45(action_arg);
3278
+ if (check46(input)) return action46(action_arg);
3279
+ if (check47(input)) return action47(action_arg);
3280
+ if (check48(input)) return action48(action_arg);
3281
+ if (check49(input)) return action49(action_arg);
3282
+ if (check50(input)) return action50(action_arg);
3283
+ if (check51(input)) return action51(action_arg);
3284
+ if (check52(input)) return action52(action_arg);
3285
+ return action_fail(action_arg);
3286
+ }
3287
+
3288
+ template <
3289
+ typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
3290
+ typename Check1, typename Check2, typename Check3, typename Check4,
3291
+ typename Check5, typename Check6, typename Check7, typename Check8,
3292
+ typename Check9, typename Check10, typename Check11, typename Check12,
3293
+ typename Check13, typename Check14, typename Check15, typename Check16,
3294
+ typename Check17, typename Check18, typename Check19, typename Check20,
3295
+ typename Check21, typename Check22, typename Check23, typename Check24,
3296
+ typename Check25, typename Check26, typename Check27, typename Check28,
3297
+ typename Check29, typename Check30, typename Check31, typename Check32,
3298
+ typename Check33, typename Check34, typename Check35, typename Check36,
3299
+ typename Check37, typename Check38, typename Check39, typename Check40,
3300
+ typename Check41, typename Check42, typename Check43, typename Check44,
3301
+ typename Check45, typename Check46, typename Check47, typename Check48,
3302
+ typename Check49, typename Check50, typename Check51, typename Check52,
3303
+ typename Check53, typename Action0, typename Action1, typename Action2,
3304
+ typename Action3, typename Action4, typename Action5, typename Action6,
3305
+ typename Action7, typename Action8, typename Action9, typename Action10,
3306
+ typename Action11, typename Action12, typename Action13, typename Action14,
3307
+ typename Action15, typename Action16, typename Action17, typename Action18,
3308
+ typename Action19, typename Action20, typename Action21, typename Action22,
3309
+ typename Action23, typename Action24, typename Action25, typename Action26,
3310
+ typename Action27, typename Action28, typename Action29, typename Action30,
3311
+ typename Action31, typename Action32, typename Action33, typename Action34,
3312
+ typename Action35, typename Action36, typename Action37, typename Action38,
3313
+ typename Action39, typename Action40, typename Action41, typename Action42,
3314
+ typename Action43, typename Action44, typename Action45, typename Action46,
3315
+ typename Action47, typename Action48, typename Action49, typename Action50,
3316
+ typename Action51, typename Action52, typename Action53>
3317
+ auto IfList(
3318
+ CheckArg input, ActionArg action_arg, ActionFail action_fail, Check0 check0,
3319
+ Check1 check1, Check2 check2, Check3 check3, Check4 check4, Check5 check5,
3320
+ Check6 check6, Check7 check7, Check8 check8, Check9 check9, Check10 check10,
3321
+ Check11 check11, Check12 check12, Check13 check13, Check14 check14,
3322
+ Check15 check15, Check16 check16, Check17 check17, Check18 check18,
3323
+ Check19 check19, Check20 check20, Check21 check21, Check22 check22,
3324
+ Check23 check23, Check24 check24, Check25 check25, Check26 check26,
3325
+ Check27 check27, Check28 check28, Check29 check29, Check30 check30,
3326
+ Check31 check31, Check32 check32, Check33 check33, Check34 check34,
3327
+ Check35 check35, Check36 check36, Check37 check37, Check38 check38,
3328
+ Check39 check39, Check40 check40, Check41 check41, Check42 check42,
3329
+ Check43 check43, Check44 check44, Check45 check45, Check46 check46,
3330
+ Check47 check47, Check48 check48, Check49 check49, Check50 check50,
3331
+ Check51 check51, Check52 check52, Check53 check53, Action0 action0,
3332
+ Action1 action1, Action2 action2, Action3 action3, Action4 action4,
3333
+ Action5 action5, Action6 action6, Action7 action7, Action8 action8,
3334
+ Action9 action9, Action10 action10, Action11 action11, Action12 action12,
3335
+ Action13 action13, Action14 action14, Action15 action15, Action16 action16,
3336
+ Action17 action17, Action18 action18, Action19 action19, Action20 action20,
3337
+ Action21 action21, Action22 action22, Action23 action23, Action24 action24,
3338
+ Action25 action25, Action26 action26, Action27 action27, Action28 action28,
3339
+ Action29 action29, Action30 action30, Action31 action31, Action32 action32,
3340
+ Action33 action33, Action34 action34, Action35 action35, Action36 action36,
3341
+ Action37 action37, Action38 action38, Action39 action39, Action40 action40,
3342
+ Action41 action41, Action42 action42, Action43 action43, Action44 action44,
3343
+ Action45 action45, Action46 action46, Action47 action47, Action48 action48,
3344
+ Action49 action49, Action50 action50, Action51 action51, Action52 action52,
3345
+ Action53 action53) {
3346
+ if (check0(input)) return action0(action_arg);
3347
+ if (check1(input)) return action1(action_arg);
3348
+ if (check2(input)) return action2(action_arg);
3349
+ if (check3(input)) return action3(action_arg);
3350
+ if (check4(input)) return action4(action_arg);
3351
+ if (check5(input)) return action5(action_arg);
3352
+ if (check6(input)) return action6(action_arg);
3353
+ if (check7(input)) return action7(action_arg);
3354
+ if (check8(input)) return action8(action_arg);
3355
+ if (check9(input)) return action9(action_arg);
3356
+ if (check10(input)) return action10(action_arg);
3357
+ if (check11(input)) return action11(action_arg);
3358
+ if (check12(input)) return action12(action_arg);
3359
+ if (check13(input)) return action13(action_arg);
3360
+ if (check14(input)) return action14(action_arg);
3361
+ if (check15(input)) return action15(action_arg);
3362
+ if (check16(input)) return action16(action_arg);
3363
+ if (check17(input)) return action17(action_arg);
3364
+ if (check18(input)) return action18(action_arg);
3365
+ if (check19(input)) return action19(action_arg);
3366
+ if (check20(input)) return action20(action_arg);
3367
+ if (check21(input)) return action21(action_arg);
3368
+ if (check22(input)) return action22(action_arg);
3369
+ if (check23(input)) return action23(action_arg);
3370
+ if (check24(input)) return action24(action_arg);
3371
+ if (check25(input)) return action25(action_arg);
3372
+ if (check26(input)) return action26(action_arg);
3373
+ if (check27(input)) return action27(action_arg);
3374
+ if (check28(input)) return action28(action_arg);
3375
+ if (check29(input)) return action29(action_arg);
3376
+ if (check30(input)) return action30(action_arg);
3377
+ if (check31(input)) return action31(action_arg);
3378
+ if (check32(input)) return action32(action_arg);
3379
+ if (check33(input)) return action33(action_arg);
3380
+ if (check34(input)) return action34(action_arg);
3381
+ if (check35(input)) return action35(action_arg);
3382
+ if (check36(input)) return action36(action_arg);
3383
+ if (check37(input)) return action37(action_arg);
3384
+ if (check38(input)) return action38(action_arg);
3385
+ if (check39(input)) return action39(action_arg);
3386
+ if (check40(input)) return action40(action_arg);
3387
+ if (check41(input)) return action41(action_arg);
3388
+ if (check42(input)) return action42(action_arg);
3389
+ if (check43(input)) return action43(action_arg);
3390
+ if (check44(input)) return action44(action_arg);
3391
+ if (check45(input)) return action45(action_arg);
3392
+ if (check46(input)) return action46(action_arg);
3393
+ if (check47(input)) return action47(action_arg);
3394
+ if (check48(input)) return action48(action_arg);
3395
+ if (check49(input)) return action49(action_arg);
3396
+ if (check50(input)) return action50(action_arg);
3397
+ if (check51(input)) return action51(action_arg);
3398
+ if (check52(input)) return action52(action_arg);
3399
+ if (check53(input)) return action53(action_arg);
3400
+ return action_fail(action_arg);
3401
+ }
3402
+
3403
+ template <
3404
+ typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
3405
+ typename Check1, typename Check2, typename Check3, typename Check4,
3406
+ typename Check5, typename Check6, typename Check7, typename Check8,
3407
+ typename Check9, typename Check10, typename Check11, typename Check12,
3408
+ typename Check13, typename Check14, typename Check15, typename Check16,
3409
+ typename Check17, typename Check18, typename Check19, typename Check20,
3410
+ typename Check21, typename Check22, typename Check23, typename Check24,
3411
+ typename Check25, typename Check26, typename Check27, typename Check28,
3412
+ typename Check29, typename Check30, typename Check31, typename Check32,
3413
+ typename Check33, typename Check34, typename Check35, typename Check36,
3414
+ typename Check37, typename Check38, typename Check39, typename Check40,
3415
+ typename Check41, typename Check42, typename Check43, typename Check44,
3416
+ typename Check45, typename Check46, typename Check47, typename Check48,
3417
+ typename Check49, typename Check50, typename Check51, typename Check52,
3418
+ typename Check53, typename Check54, typename Action0, typename Action1,
3419
+ typename Action2, typename Action3, typename Action4, typename Action5,
3420
+ typename Action6, typename Action7, typename Action8, typename Action9,
3421
+ typename Action10, typename Action11, typename Action12, typename Action13,
3422
+ typename Action14, typename Action15, typename Action16, typename Action17,
3423
+ typename Action18, typename Action19, typename Action20, typename Action21,
3424
+ typename Action22, typename Action23, typename Action24, typename Action25,
3425
+ typename Action26, typename Action27, typename Action28, typename Action29,
3426
+ typename Action30, typename Action31, typename Action32, typename Action33,
3427
+ typename Action34, typename Action35, typename Action36, typename Action37,
3428
+ typename Action38, typename Action39, typename Action40, typename Action41,
3429
+ typename Action42, typename Action43, typename Action44, typename Action45,
3430
+ typename Action46, typename Action47, typename Action48, typename Action49,
3431
+ typename Action50, typename Action51, typename Action52, typename Action53,
3432
+ typename Action54>
3433
+ auto IfList(
3434
+ CheckArg input, ActionArg action_arg, ActionFail action_fail, Check0 check0,
3435
+ Check1 check1, Check2 check2, Check3 check3, Check4 check4, Check5 check5,
3436
+ Check6 check6, Check7 check7, Check8 check8, Check9 check9, Check10 check10,
3437
+ Check11 check11, Check12 check12, Check13 check13, Check14 check14,
3438
+ Check15 check15, Check16 check16, Check17 check17, Check18 check18,
3439
+ Check19 check19, Check20 check20, Check21 check21, Check22 check22,
3440
+ Check23 check23, Check24 check24, Check25 check25, Check26 check26,
3441
+ Check27 check27, Check28 check28, Check29 check29, Check30 check30,
3442
+ Check31 check31, Check32 check32, Check33 check33, Check34 check34,
3443
+ Check35 check35, Check36 check36, Check37 check37, Check38 check38,
3444
+ Check39 check39, Check40 check40, Check41 check41, Check42 check42,
3445
+ Check43 check43, Check44 check44, Check45 check45, Check46 check46,
3446
+ Check47 check47, Check48 check48, Check49 check49, Check50 check50,
3447
+ Check51 check51, Check52 check52, Check53 check53, Check54 check54,
3448
+ Action0 action0, Action1 action1, Action2 action2, Action3 action3,
3449
+ Action4 action4, Action5 action5, Action6 action6, Action7 action7,
3450
+ Action8 action8, Action9 action9, Action10 action10, Action11 action11,
3451
+ Action12 action12, Action13 action13, Action14 action14, Action15 action15,
3452
+ Action16 action16, Action17 action17, Action18 action18, Action19 action19,
3453
+ Action20 action20, Action21 action21, Action22 action22, Action23 action23,
3454
+ Action24 action24, Action25 action25, Action26 action26, Action27 action27,
3455
+ Action28 action28, Action29 action29, Action30 action30, Action31 action31,
3456
+ Action32 action32, Action33 action33, Action34 action34, Action35 action35,
3457
+ Action36 action36, Action37 action37, Action38 action38, Action39 action39,
3458
+ Action40 action40, Action41 action41, Action42 action42, Action43 action43,
3459
+ Action44 action44, Action45 action45, Action46 action46, Action47 action47,
3460
+ Action48 action48, Action49 action49, Action50 action50, Action51 action51,
3461
+ Action52 action52, Action53 action53, Action54 action54) {
3462
+ if (check0(input)) return action0(action_arg);
3463
+ if (check1(input)) return action1(action_arg);
3464
+ if (check2(input)) return action2(action_arg);
3465
+ if (check3(input)) return action3(action_arg);
3466
+ if (check4(input)) return action4(action_arg);
3467
+ if (check5(input)) return action5(action_arg);
3468
+ if (check6(input)) return action6(action_arg);
3469
+ if (check7(input)) return action7(action_arg);
3470
+ if (check8(input)) return action8(action_arg);
3471
+ if (check9(input)) return action9(action_arg);
3472
+ if (check10(input)) return action10(action_arg);
3473
+ if (check11(input)) return action11(action_arg);
3474
+ if (check12(input)) return action12(action_arg);
3475
+ if (check13(input)) return action13(action_arg);
3476
+ if (check14(input)) return action14(action_arg);
3477
+ if (check15(input)) return action15(action_arg);
3478
+ if (check16(input)) return action16(action_arg);
3479
+ if (check17(input)) return action17(action_arg);
3480
+ if (check18(input)) return action18(action_arg);
3481
+ if (check19(input)) return action19(action_arg);
3482
+ if (check20(input)) return action20(action_arg);
3483
+ if (check21(input)) return action21(action_arg);
3484
+ if (check22(input)) return action22(action_arg);
3485
+ if (check23(input)) return action23(action_arg);
3486
+ if (check24(input)) return action24(action_arg);
3487
+ if (check25(input)) return action25(action_arg);
3488
+ if (check26(input)) return action26(action_arg);
3489
+ if (check27(input)) return action27(action_arg);
3490
+ if (check28(input)) return action28(action_arg);
3491
+ if (check29(input)) return action29(action_arg);
3492
+ if (check30(input)) return action30(action_arg);
3493
+ if (check31(input)) return action31(action_arg);
3494
+ if (check32(input)) return action32(action_arg);
3495
+ if (check33(input)) return action33(action_arg);
3496
+ if (check34(input)) return action34(action_arg);
3497
+ if (check35(input)) return action35(action_arg);
3498
+ if (check36(input)) return action36(action_arg);
3499
+ if (check37(input)) return action37(action_arg);
3500
+ if (check38(input)) return action38(action_arg);
3501
+ if (check39(input)) return action39(action_arg);
3502
+ if (check40(input)) return action40(action_arg);
3503
+ if (check41(input)) return action41(action_arg);
3504
+ if (check42(input)) return action42(action_arg);
3505
+ if (check43(input)) return action43(action_arg);
3506
+ if (check44(input)) return action44(action_arg);
3507
+ if (check45(input)) return action45(action_arg);
3508
+ if (check46(input)) return action46(action_arg);
3509
+ if (check47(input)) return action47(action_arg);
3510
+ if (check48(input)) return action48(action_arg);
3511
+ if (check49(input)) return action49(action_arg);
3512
+ if (check50(input)) return action50(action_arg);
3513
+ if (check51(input)) return action51(action_arg);
3514
+ if (check52(input)) return action52(action_arg);
3515
+ if (check53(input)) return action53(action_arg);
3516
+ if (check54(input)) return action54(action_arg);
3517
+ return action_fail(action_arg);
3518
+ }
3519
+
3520
+ template <
3521
+ typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
3522
+ typename Check1, typename Check2, typename Check3, typename Check4,
3523
+ typename Check5, typename Check6, typename Check7, typename Check8,
3524
+ typename Check9, typename Check10, typename Check11, typename Check12,
3525
+ typename Check13, typename Check14, typename Check15, typename Check16,
3526
+ typename Check17, typename Check18, typename Check19, typename Check20,
3527
+ typename Check21, typename Check22, typename Check23, typename Check24,
3528
+ typename Check25, typename Check26, typename Check27, typename Check28,
3529
+ typename Check29, typename Check30, typename Check31, typename Check32,
3530
+ typename Check33, typename Check34, typename Check35, typename Check36,
3531
+ typename Check37, typename Check38, typename Check39, typename Check40,
3532
+ typename Check41, typename Check42, typename Check43, typename Check44,
3533
+ typename Check45, typename Check46, typename Check47, typename Check48,
3534
+ typename Check49, typename Check50, typename Check51, typename Check52,
3535
+ typename Check53, typename Check54, typename Check55, typename Action0,
3536
+ typename Action1, typename Action2, typename Action3, typename Action4,
3537
+ typename Action5, typename Action6, typename Action7, typename Action8,
3538
+ typename Action9, typename Action10, typename Action11, typename Action12,
3539
+ typename Action13, typename Action14, typename Action15, typename Action16,
3540
+ typename Action17, typename Action18, typename Action19, typename Action20,
3541
+ typename Action21, typename Action22, typename Action23, typename Action24,
3542
+ typename Action25, typename Action26, typename Action27, typename Action28,
3543
+ typename Action29, typename Action30, typename Action31, typename Action32,
3544
+ typename Action33, typename Action34, typename Action35, typename Action36,
3545
+ typename Action37, typename Action38, typename Action39, typename Action40,
3546
+ typename Action41, typename Action42, typename Action43, typename Action44,
3547
+ typename Action45, typename Action46, typename Action47, typename Action48,
3548
+ typename Action49, typename Action50, typename Action51, typename Action52,
3549
+ typename Action53, typename Action54, typename Action55>
3550
+ auto IfList(
3551
+ CheckArg input, ActionArg action_arg, ActionFail action_fail, Check0 check0,
3552
+ Check1 check1, Check2 check2, Check3 check3, Check4 check4, Check5 check5,
3553
+ Check6 check6, Check7 check7, Check8 check8, Check9 check9, Check10 check10,
3554
+ Check11 check11, Check12 check12, Check13 check13, Check14 check14,
3555
+ Check15 check15, Check16 check16, Check17 check17, Check18 check18,
3556
+ Check19 check19, Check20 check20, Check21 check21, Check22 check22,
3557
+ Check23 check23, Check24 check24, Check25 check25, Check26 check26,
3558
+ Check27 check27, Check28 check28, Check29 check29, Check30 check30,
3559
+ Check31 check31, Check32 check32, Check33 check33, Check34 check34,
3560
+ Check35 check35, Check36 check36, Check37 check37, Check38 check38,
3561
+ Check39 check39, Check40 check40, Check41 check41, Check42 check42,
3562
+ Check43 check43, Check44 check44, Check45 check45, Check46 check46,
3563
+ Check47 check47, Check48 check48, Check49 check49, Check50 check50,
3564
+ Check51 check51, Check52 check52, Check53 check53, Check54 check54,
3565
+ Check55 check55, Action0 action0, Action1 action1, Action2 action2,
3566
+ Action3 action3, Action4 action4, Action5 action5, Action6 action6,
3567
+ Action7 action7, Action8 action8, Action9 action9, Action10 action10,
3568
+ Action11 action11, Action12 action12, Action13 action13, Action14 action14,
3569
+ Action15 action15, Action16 action16, Action17 action17, Action18 action18,
3570
+ Action19 action19, Action20 action20, Action21 action21, Action22 action22,
3571
+ Action23 action23, Action24 action24, Action25 action25, Action26 action26,
3572
+ Action27 action27, Action28 action28, Action29 action29, Action30 action30,
3573
+ Action31 action31, Action32 action32, Action33 action33, Action34 action34,
3574
+ Action35 action35, Action36 action36, Action37 action37, Action38 action38,
3575
+ Action39 action39, Action40 action40, Action41 action41, Action42 action42,
3576
+ Action43 action43, Action44 action44, Action45 action45, Action46 action46,
3577
+ Action47 action47, Action48 action48, Action49 action49, Action50 action50,
3578
+ Action51 action51, Action52 action52, Action53 action53, Action54 action54,
3579
+ Action55 action55) {
3580
+ if (check0(input)) return action0(action_arg);
3581
+ if (check1(input)) return action1(action_arg);
3582
+ if (check2(input)) return action2(action_arg);
3583
+ if (check3(input)) return action3(action_arg);
3584
+ if (check4(input)) return action4(action_arg);
3585
+ if (check5(input)) return action5(action_arg);
3586
+ if (check6(input)) return action6(action_arg);
3587
+ if (check7(input)) return action7(action_arg);
3588
+ if (check8(input)) return action8(action_arg);
3589
+ if (check9(input)) return action9(action_arg);
3590
+ if (check10(input)) return action10(action_arg);
3591
+ if (check11(input)) return action11(action_arg);
3592
+ if (check12(input)) return action12(action_arg);
3593
+ if (check13(input)) return action13(action_arg);
3594
+ if (check14(input)) return action14(action_arg);
3595
+ if (check15(input)) return action15(action_arg);
3596
+ if (check16(input)) return action16(action_arg);
3597
+ if (check17(input)) return action17(action_arg);
3598
+ if (check18(input)) return action18(action_arg);
3599
+ if (check19(input)) return action19(action_arg);
3600
+ if (check20(input)) return action20(action_arg);
3601
+ if (check21(input)) return action21(action_arg);
3602
+ if (check22(input)) return action22(action_arg);
3603
+ if (check23(input)) return action23(action_arg);
3604
+ if (check24(input)) return action24(action_arg);
3605
+ if (check25(input)) return action25(action_arg);
3606
+ if (check26(input)) return action26(action_arg);
3607
+ if (check27(input)) return action27(action_arg);
3608
+ if (check28(input)) return action28(action_arg);
3609
+ if (check29(input)) return action29(action_arg);
3610
+ if (check30(input)) return action30(action_arg);
3611
+ if (check31(input)) return action31(action_arg);
3612
+ if (check32(input)) return action32(action_arg);
3613
+ if (check33(input)) return action33(action_arg);
3614
+ if (check34(input)) return action34(action_arg);
3615
+ if (check35(input)) return action35(action_arg);
3616
+ if (check36(input)) return action36(action_arg);
3617
+ if (check37(input)) return action37(action_arg);
3618
+ if (check38(input)) return action38(action_arg);
3619
+ if (check39(input)) return action39(action_arg);
3620
+ if (check40(input)) return action40(action_arg);
3621
+ if (check41(input)) return action41(action_arg);
3622
+ if (check42(input)) return action42(action_arg);
3623
+ if (check43(input)) return action43(action_arg);
3624
+ if (check44(input)) return action44(action_arg);
3625
+ if (check45(input)) return action45(action_arg);
3626
+ if (check46(input)) return action46(action_arg);
3627
+ if (check47(input)) return action47(action_arg);
3628
+ if (check48(input)) return action48(action_arg);
3629
+ if (check49(input)) return action49(action_arg);
3630
+ if (check50(input)) return action50(action_arg);
3631
+ if (check51(input)) return action51(action_arg);
3632
+ if (check52(input)) return action52(action_arg);
3633
+ if (check53(input)) return action53(action_arg);
3634
+ if (check54(input)) return action54(action_arg);
3635
+ if (check55(input)) return action55(action_arg);
3636
+ return action_fail(action_arg);
3637
+ }
3638
+
3639
+ template <
3640
+ typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
3641
+ typename Check1, typename Check2, typename Check3, typename Check4,
3642
+ typename Check5, typename Check6, typename Check7, typename Check8,
3643
+ typename Check9, typename Check10, typename Check11, typename Check12,
3644
+ typename Check13, typename Check14, typename Check15, typename Check16,
3645
+ typename Check17, typename Check18, typename Check19, typename Check20,
3646
+ typename Check21, typename Check22, typename Check23, typename Check24,
3647
+ typename Check25, typename Check26, typename Check27, typename Check28,
3648
+ typename Check29, typename Check30, typename Check31, typename Check32,
3649
+ typename Check33, typename Check34, typename Check35, typename Check36,
3650
+ typename Check37, typename Check38, typename Check39, typename Check40,
3651
+ typename Check41, typename Check42, typename Check43, typename Check44,
3652
+ typename Check45, typename Check46, typename Check47, typename Check48,
3653
+ typename Check49, typename Check50, typename Check51, typename Check52,
3654
+ typename Check53, typename Check54, typename Check55, typename Check56,
3655
+ typename Action0, typename Action1, typename Action2, typename Action3,
3656
+ typename Action4, typename Action5, typename Action6, typename Action7,
3657
+ typename Action8, typename Action9, typename Action10, typename Action11,
3658
+ typename Action12, typename Action13, typename Action14, typename Action15,
3659
+ typename Action16, typename Action17, typename Action18, typename Action19,
3660
+ typename Action20, typename Action21, typename Action22, typename Action23,
3661
+ typename Action24, typename Action25, typename Action26, typename Action27,
3662
+ typename Action28, typename Action29, typename Action30, typename Action31,
3663
+ typename Action32, typename Action33, typename Action34, typename Action35,
3664
+ typename Action36, typename Action37, typename Action38, typename Action39,
3665
+ typename Action40, typename Action41, typename Action42, typename Action43,
3666
+ typename Action44, typename Action45, typename Action46, typename Action47,
3667
+ typename Action48, typename Action49, typename Action50, typename Action51,
3668
+ typename Action52, typename Action53, typename Action54, typename Action55,
3669
+ typename Action56>
3670
+ auto IfList(
3671
+ CheckArg input, ActionArg action_arg, ActionFail action_fail, Check0 check0,
3672
+ Check1 check1, Check2 check2, Check3 check3, Check4 check4, Check5 check5,
3673
+ Check6 check6, Check7 check7, Check8 check8, Check9 check9, Check10 check10,
3674
+ Check11 check11, Check12 check12, Check13 check13, Check14 check14,
3675
+ Check15 check15, Check16 check16, Check17 check17, Check18 check18,
3676
+ Check19 check19, Check20 check20, Check21 check21, Check22 check22,
3677
+ Check23 check23, Check24 check24, Check25 check25, Check26 check26,
3678
+ Check27 check27, Check28 check28, Check29 check29, Check30 check30,
3679
+ Check31 check31, Check32 check32, Check33 check33, Check34 check34,
3680
+ Check35 check35, Check36 check36, Check37 check37, Check38 check38,
3681
+ Check39 check39, Check40 check40, Check41 check41, Check42 check42,
3682
+ Check43 check43, Check44 check44, Check45 check45, Check46 check46,
3683
+ Check47 check47, Check48 check48, Check49 check49, Check50 check50,
3684
+ Check51 check51, Check52 check52, Check53 check53, Check54 check54,
3685
+ Check55 check55, Check56 check56, Action0 action0, Action1 action1,
3686
+ Action2 action2, Action3 action3, Action4 action4, Action5 action5,
3687
+ Action6 action6, Action7 action7, Action8 action8, Action9 action9,
3688
+ Action10 action10, Action11 action11, Action12 action12, Action13 action13,
3689
+ Action14 action14, Action15 action15, Action16 action16, Action17 action17,
3690
+ Action18 action18, Action19 action19, Action20 action20, Action21 action21,
3691
+ Action22 action22, Action23 action23, Action24 action24, Action25 action25,
3692
+ Action26 action26, Action27 action27, Action28 action28, Action29 action29,
3693
+ Action30 action30, Action31 action31, Action32 action32, Action33 action33,
3694
+ Action34 action34, Action35 action35, Action36 action36, Action37 action37,
3695
+ Action38 action38, Action39 action39, Action40 action40, Action41 action41,
3696
+ Action42 action42, Action43 action43, Action44 action44, Action45 action45,
3697
+ Action46 action46, Action47 action47, Action48 action48, Action49 action49,
3698
+ Action50 action50, Action51 action51, Action52 action52, Action53 action53,
3699
+ Action54 action54, Action55 action55, Action56 action56) {
3700
+ if (check0(input)) return action0(action_arg);
3701
+ if (check1(input)) return action1(action_arg);
3702
+ if (check2(input)) return action2(action_arg);
3703
+ if (check3(input)) return action3(action_arg);
3704
+ if (check4(input)) return action4(action_arg);
3705
+ if (check5(input)) return action5(action_arg);
3706
+ if (check6(input)) return action6(action_arg);
3707
+ if (check7(input)) return action7(action_arg);
3708
+ if (check8(input)) return action8(action_arg);
3709
+ if (check9(input)) return action9(action_arg);
3710
+ if (check10(input)) return action10(action_arg);
3711
+ if (check11(input)) return action11(action_arg);
3712
+ if (check12(input)) return action12(action_arg);
3713
+ if (check13(input)) return action13(action_arg);
3714
+ if (check14(input)) return action14(action_arg);
3715
+ if (check15(input)) return action15(action_arg);
3716
+ if (check16(input)) return action16(action_arg);
3717
+ if (check17(input)) return action17(action_arg);
3718
+ if (check18(input)) return action18(action_arg);
3719
+ if (check19(input)) return action19(action_arg);
3720
+ if (check20(input)) return action20(action_arg);
3721
+ if (check21(input)) return action21(action_arg);
3722
+ if (check22(input)) return action22(action_arg);
3723
+ if (check23(input)) return action23(action_arg);
3724
+ if (check24(input)) return action24(action_arg);
3725
+ if (check25(input)) return action25(action_arg);
3726
+ if (check26(input)) return action26(action_arg);
3727
+ if (check27(input)) return action27(action_arg);
3728
+ if (check28(input)) return action28(action_arg);
3729
+ if (check29(input)) return action29(action_arg);
3730
+ if (check30(input)) return action30(action_arg);
3731
+ if (check31(input)) return action31(action_arg);
3732
+ if (check32(input)) return action32(action_arg);
3733
+ if (check33(input)) return action33(action_arg);
3734
+ if (check34(input)) return action34(action_arg);
3735
+ if (check35(input)) return action35(action_arg);
3736
+ if (check36(input)) return action36(action_arg);
3737
+ if (check37(input)) return action37(action_arg);
3738
+ if (check38(input)) return action38(action_arg);
3739
+ if (check39(input)) return action39(action_arg);
3740
+ if (check40(input)) return action40(action_arg);
3741
+ if (check41(input)) return action41(action_arg);
3742
+ if (check42(input)) return action42(action_arg);
3743
+ if (check43(input)) return action43(action_arg);
3744
+ if (check44(input)) return action44(action_arg);
3745
+ if (check45(input)) return action45(action_arg);
3746
+ if (check46(input)) return action46(action_arg);
3747
+ if (check47(input)) return action47(action_arg);
3748
+ if (check48(input)) return action48(action_arg);
3749
+ if (check49(input)) return action49(action_arg);
3750
+ if (check50(input)) return action50(action_arg);
3751
+ if (check51(input)) return action51(action_arg);
3752
+ if (check52(input)) return action52(action_arg);
3753
+ if (check53(input)) return action53(action_arg);
3754
+ if (check54(input)) return action54(action_arg);
3755
+ if (check55(input)) return action55(action_arg);
3756
+ if (check56(input)) return action56(action_arg);
3757
+ return action_fail(action_arg);
3758
+ }
3759
+
3760
+ template <
3761
+ typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
3762
+ typename Check1, typename Check2, typename Check3, typename Check4,
3763
+ typename Check5, typename Check6, typename Check7, typename Check8,
3764
+ typename Check9, typename Check10, typename Check11, typename Check12,
3765
+ typename Check13, typename Check14, typename Check15, typename Check16,
3766
+ typename Check17, typename Check18, typename Check19, typename Check20,
3767
+ typename Check21, typename Check22, typename Check23, typename Check24,
3768
+ typename Check25, typename Check26, typename Check27, typename Check28,
3769
+ typename Check29, typename Check30, typename Check31, typename Check32,
3770
+ typename Check33, typename Check34, typename Check35, typename Check36,
3771
+ typename Check37, typename Check38, typename Check39, typename Check40,
3772
+ typename Check41, typename Check42, typename Check43, typename Check44,
3773
+ typename Check45, typename Check46, typename Check47, typename Check48,
3774
+ typename Check49, typename Check50, typename Check51, typename Check52,
3775
+ typename Check53, typename Check54, typename Check55, typename Check56,
3776
+ typename Check57, typename Action0, typename Action1, typename Action2,
3777
+ typename Action3, typename Action4, typename Action5, typename Action6,
3778
+ typename Action7, typename Action8, typename Action9, typename Action10,
3779
+ typename Action11, typename Action12, typename Action13, typename Action14,
3780
+ typename Action15, typename Action16, typename Action17, typename Action18,
3781
+ typename Action19, typename Action20, typename Action21, typename Action22,
3782
+ typename Action23, typename Action24, typename Action25, typename Action26,
3783
+ typename Action27, typename Action28, typename Action29, typename Action30,
3784
+ typename Action31, typename Action32, typename Action33, typename Action34,
3785
+ typename Action35, typename Action36, typename Action37, typename Action38,
3786
+ typename Action39, typename Action40, typename Action41, typename Action42,
3787
+ typename Action43, typename Action44, typename Action45, typename Action46,
3788
+ typename Action47, typename Action48, typename Action49, typename Action50,
3789
+ typename Action51, typename Action52, typename Action53, typename Action54,
3790
+ typename Action55, typename Action56, typename Action57>
3791
+ auto IfList(
3792
+ CheckArg input, ActionArg action_arg, ActionFail action_fail, Check0 check0,
3793
+ Check1 check1, Check2 check2, Check3 check3, Check4 check4, Check5 check5,
3794
+ Check6 check6, Check7 check7, Check8 check8, Check9 check9, Check10 check10,
3795
+ Check11 check11, Check12 check12, Check13 check13, Check14 check14,
3796
+ Check15 check15, Check16 check16, Check17 check17, Check18 check18,
3797
+ Check19 check19, Check20 check20, Check21 check21, Check22 check22,
3798
+ Check23 check23, Check24 check24, Check25 check25, Check26 check26,
3799
+ Check27 check27, Check28 check28, Check29 check29, Check30 check30,
3800
+ Check31 check31, Check32 check32, Check33 check33, Check34 check34,
3801
+ Check35 check35, Check36 check36, Check37 check37, Check38 check38,
3802
+ Check39 check39, Check40 check40, Check41 check41, Check42 check42,
3803
+ Check43 check43, Check44 check44, Check45 check45, Check46 check46,
3804
+ Check47 check47, Check48 check48, Check49 check49, Check50 check50,
3805
+ Check51 check51, Check52 check52, Check53 check53, Check54 check54,
3806
+ Check55 check55, Check56 check56, Check57 check57, Action0 action0,
3807
+ Action1 action1, Action2 action2, Action3 action3, Action4 action4,
3808
+ Action5 action5, Action6 action6, Action7 action7, Action8 action8,
3809
+ Action9 action9, Action10 action10, Action11 action11, Action12 action12,
3810
+ Action13 action13, Action14 action14, Action15 action15, Action16 action16,
3811
+ Action17 action17, Action18 action18, Action19 action19, Action20 action20,
3812
+ Action21 action21, Action22 action22, Action23 action23, Action24 action24,
3813
+ Action25 action25, Action26 action26, Action27 action27, Action28 action28,
3814
+ Action29 action29, Action30 action30, Action31 action31, Action32 action32,
3815
+ Action33 action33, Action34 action34, Action35 action35, Action36 action36,
3816
+ Action37 action37, Action38 action38, Action39 action39, Action40 action40,
3817
+ Action41 action41, Action42 action42, Action43 action43, Action44 action44,
3818
+ Action45 action45, Action46 action46, Action47 action47, Action48 action48,
3819
+ Action49 action49, Action50 action50, Action51 action51, Action52 action52,
3820
+ Action53 action53, Action54 action54, Action55 action55, Action56 action56,
3821
+ Action57 action57) {
3822
+ if (check0(input)) return action0(action_arg);
3823
+ if (check1(input)) return action1(action_arg);
3824
+ if (check2(input)) return action2(action_arg);
3825
+ if (check3(input)) return action3(action_arg);
3826
+ if (check4(input)) return action4(action_arg);
3827
+ if (check5(input)) return action5(action_arg);
3828
+ if (check6(input)) return action6(action_arg);
3829
+ if (check7(input)) return action7(action_arg);
3830
+ if (check8(input)) return action8(action_arg);
3831
+ if (check9(input)) return action9(action_arg);
3832
+ if (check10(input)) return action10(action_arg);
3833
+ if (check11(input)) return action11(action_arg);
3834
+ if (check12(input)) return action12(action_arg);
3835
+ if (check13(input)) return action13(action_arg);
3836
+ if (check14(input)) return action14(action_arg);
3837
+ if (check15(input)) return action15(action_arg);
3838
+ if (check16(input)) return action16(action_arg);
3839
+ if (check17(input)) return action17(action_arg);
3840
+ if (check18(input)) return action18(action_arg);
3841
+ if (check19(input)) return action19(action_arg);
3842
+ if (check20(input)) return action20(action_arg);
3843
+ if (check21(input)) return action21(action_arg);
3844
+ if (check22(input)) return action22(action_arg);
3845
+ if (check23(input)) return action23(action_arg);
3846
+ if (check24(input)) return action24(action_arg);
3847
+ if (check25(input)) return action25(action_arg);
3848
+ if (check26(input)) return action26(action_arg);
3849
+ if (check27(input)) return action27(action_arg);
3850
+ if (check28(input)) return action28(action_arg);
3851
+ if (check29(input)) return action29(action_arg);
3852
+ if (check30(input)) return action30(action_arg);
3853
+ if (check31(input)) return action31(action_arg);
3854
+ if (check32(input)) return action32(action_arg);
3855
+ if (check33(input)) return action33(action_arg);
3856
+ if (check34(input)) return action34(action_arg);
3857
+ if (check35(input)) return action35(action_arg);
3858
+ if (check36(input)) return action36(action_arg);
3859
+ if (check37(input)) return action37(action_arg);
3860
+ if (check38(input)) return action38(action_arg);
3861
+ if (check39(input)) return action39(action_arg);
3862
+ if (check40(input)) return action40(action_arg);
3863
+ if (check41(input)) return action41(action_arg);
3864
+ if (check42(input)) return action42(action_arg);
3865
+ if (check43(input)) return action43(action_arg);
3866
+ if (check44(input)) return action44(action_arg);
3867
+ if (check45(input)) return action45(action_arg);
3868
+ if (check46(input)) return action46(action_arg);
3869
+ if (check47(input)) return action47(action_arg);
3870
+ if (check48(input)) return action48(action_arg);
3871
+ if (check49(input)) return action49(action_arg);
3872
+ if (check50(input)) return action50(action_arg);
3873
+ if (check51(input)) return action51(action_arg);
3874
+ if (check52(input)) return action52(action_arg);
3875
+ if (check53(input)) return action53(action_arg);
3876
+ if (check54(input)) return action54(action_arg);
3877
+ if (check55(input)) return action55(action_arg);
3878
+ if (check56(input)) return action56(action_arg);
3879
+ if (check57(input)) return action57(action_arg);
3880
+ return action_fail(action_arg);
3881
+ }
3882
+
3883
+ template <
3884
+ typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
3885
+ typename Check1, typename Check2, typename Check3, typename Check4,
3886
+ typename Check5, typename Check6, typename Check7, typename Check8,
3887
+ typename Check9, typename Check10, typename Check11, typename Check12,
3888
+ typename Check13, typename Check14, typename Check15, typename Check16,
3889
+ typename Check17, typename Check18, typename Check19, typename Check20,
3890
+ typename Check21, typename Check22, typename Check23, typename Check24,
3891
+ typename Check25, typename Check26, typename Check27, typename Check28,
3892
+ typename Check29, typename Check30, typename Check31, typename Check32,
3893
+ typename Check33, typename Check34, typename Check35, typename Check36,
3894
+ typename Check37, typename Check38, typename Check39, typename Check40,
3895
+ typename Check41, typename Check42, typename Check43, typename Check44,
3896
+ typename Check45, typename Check46, typename Check47, typename Check48,
3897
+ typename Check49, typename Check50, typename Check51, typename Check52,
3898
+ typename Check53, typename Check54, typename Check55, typename Check56,
3899
+ typename Check57, typename Check58, typename Action0, typename Action1,
3900
+ typename Action2, typename Action3, typename Action4, typename Action5,
3901
+ typename Action6, typename Action7, typename Action8, typename Action9,
3902
+ typename Action10, typename Action11, typename Action12, typename Action13,
3903
+ typename Action14, typename Action15, typename Action16, typename Action17,
3904
+ typename Action18, typename Action19, typename Action20, typename Action21,
3905
+ typename Action22, typename Action23, typename Action24, typename Action25,
3906
+ typename Action26, typename Action27, typename Action28, typename Action29,
3907
+ typename Action30, typename Action31, typename Action32, typename Action33,
3908
+ typename Action34, typename Action35, typename Action36, typename Action37,
3909
+ typename Action38, typename Action39, typename Action40, typename Action41,
3910
+ typename Action42, typename Action43, typename Action44, typename Action45,
3911
+ typename Action46, typename Action47, typename Action48, typename Action49,
3912
+ typename Action50, typename Action51, typename Action52, typename Action53,
3913
+ typename Action54, typename Action55, typename Action56, typename Action57,
3914
+ typename Action58>
3915
+ auto IfList(
3916
+ CheckArg input, ActionArg action_arg, ActionFail action_fail, Check0 check0,
3917
+ Check1 check1, Check2 check2, Check3 check3, Check4 check4, Check5 check5,
3918
+ Check6 check6, Check7 check7, Check8 check8, Check9 check9, Check10 check10,
3919
+ Check11 check11, Check12 check12, Check13 check13, Check14 check14,
3920
+ Check15 check15, Check16 check16, Check17 check17, Check18 check18,
3921
+ Check19 check19, Check20 check20, Check21 check21, Check22 check22,
3922
+ Check23 check23, Check24 check24, Check25 check25, Check26 check26,
3923
+ Check27 check27, Check28 check28, Check29 check29, Check30 check30,
3924
+ Check31 check31, Check32 check32, Check33 check33, Check34 check34,
3925
+ Check35 check35, Check36 check36, Check37 check37, Check38 check38,
3926
+ Check39 check39, Check40 check40, Check41 check41, Check42 check42,
3927
+ Check43 check43, Check44 check44, Check45 check45, Check46 check46,
3928
+ Check47 check47, Check48 check48, Check49 check49, Check50 check50,
3929
+ Check51 check51, Check52 check52, Check53 check53, Check54 check54,
3930
+ Check55 check55, Check56 check56, Check57 check57, Check58 check58,
3931
+ Action0 action0, Action1 action1, Action2 action2, Action3 action3,
3932
+ Action4 action4, Action5 action5, Action6 action6, Action7 action7,
3933
+ Action8 action8, Action9 action9, Action10 action10, Action11 action11,
3934
+ Action12 action12, Action13 action13, Action14 action14, Action15 action15,
3935
+ Action16 action16, Action17 action17, Action18 action18, Action19 action19,
3936
+ Action20 action20, Action21 action21, Action22 action22, Action23 action23,
3937
+ Action24 action24, Action25 action25, Action26 action26, Action27 action27,
3938
+ Action28 action28, Action29 action29, Action30 action30, Action31 action31,
3939
+ Action32 action32, Action33 action33, Action34 action34, Action35 action35,
3940
+ Action36 action36, Action37 action37, Action38 action38, Action39 action39,
3941
+ Action40 action40, Action41 action41, Action42 action42, Action43 action43,
3942
+ Action44 action44, Action45 action45, Action46 action46, Action47 action47,
3943
+ Action48 action48, Action49 action49, Action50 action50, Action51 action51,
3944
+ Action52 action52, Action53 action53, Action54 action54, Action55 action55,
3945
+ Action56 action56, Action57 action57, Action58 action58) {
3946
+ if (check0(input)) return action0(action_arg);
3947
+ if (check1(input)) return action1(action_arg);
3948
+ if (check2(input)) return action2(action_arg);
3949
+ if (check3(input)) return action3(action_arg);
3950
+ if (check4(input)) return action4(action_arg);
3951
+ if (check5(input)) return action5(action_arg);
3952
+ if (check6(input)) return action6(action_arg);
3953
+ if (check7(input)) return action7(action_arg);
3954
+ if (check8(input)) return action8(action_arg);
3955
+ if (check9(input)) return action9(action_arg);
3956
+ if (check10(input)) return action10(action_arg);
3957
+ if (check11(input)) return action11(action_arg);
3958
+ if (check12(input)) return action12(action_arg);
3959
+ if (check13(input)) return action13(action_arg);
3960
+ if (check14(input)) return action14(action_arg);
3961
+ if (check15(input)) return action15(action_arg);
3962
+ if (check16(input)) return action16(action_arg);
3963
+ if (check17(input)) return action17(action_arg);
3964
+ if (check18(input)) return action18(action_arg);
3965
+ if (check19(input)) return action19(action_arg);
3966
+ if (check20(input)) return action20(action_arg);
3967
+ if (check21(input)) return action21(action_arg);
3968
+ if (check22(input)) return action22(action_arg);
3969
+ if (check23(input)) return action23(action_arg);
3970
+ if (check24(input)) return action24(action_arg);
3971
+ if (check25(input)) return action25(action_arg);
3972
+ if (check26(input)) return action26(action_arg);
3973
+ if (check27(input)) return action27(action_arg);
3974
+ if (check28(input)) return action28(action_arg);
3975
+ if (check29(input)) return action29(action_arg);
3976
+ if (check30(input)) return action30(action_arg);
3977
+ if (check31(input)) return action31(action_arg);
3978
+ if (check32(input)) return action32(action_arg);
3979
+ if (check33(input)) return action33(action_arg);
3980
+ if (check34(input)) return action34(action_arg);
3981
+ if (check35(input)) return action35(action_arg);
3982
+ if (check36(input)) return action36(action_arg);
3983
+ if (check37(input)) return action37(action_arg);
3984
+ if (check38(input)) return action38(action_arg);
3985
+ if (check39(input)) return action39(action_arg);
3986
+ if (check40(input)) return action40(action_arg);
3987
+ if (check41(input)) return action41(action_arg);
3988
+ if (check42(input)) return action42(action_arg);
3989
+ if (check43(input)) return action43(action_arg);
3990
+ if (check44(input)) return action44(action_arg);
3991
+ if (check45(input)) return action45(action_arg);
3992
+ if (check46(input)) return action46(action_arg);
3993
+ if (check47(input)) return action47(action_arg);
3994
+ if (check48(input)) return action48(action_arg);
3995
+ if (check49(input)) return action49(action_arg);
3996
+ if (check50(input)) return action50(action_arg);
3997
+ if (check51(input)) return action51(action_arg);
3998
+ if (check52(input)) return action52(action_arg);
3999
+ if (check53(input)) return action53(action_arg);
4000
+ if (check54(input)) return action54(action_arg);
4001
+ if (check55(input)) return action55(action_arg);
4002
+ if (check56(input)) return action56(action_arg);
4003
+ if (check57(input)) return action57(action_arg);
4004
+ if (check58(input)) return action58(action_arg);
4005
+ return action_fail(action_arg);
4006
+ }
4007
+
4008
+ template <
4009
+ typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
4010
+ typename Check1, typename Check2, typename Check3, typename Check4,
4011
+ typename Check5, typename Check6, typename Check7, typename Check8,
4012
+ typename Check9, typename Check10, typename Check11, typename Check12,
4013
+ typename Check13, typename Check14, typename Check15, typename Check16,
4014
+ typename Check17, typename Check18, typename Check19, typename Check20,
4015
+ typename Check21, typename Check22, typename Check23, typename Check24,
4016
+ typename Check25, typename Check26, typename Check27, typename Check28,
4017
+ typename Check29, typename Check30, typename Check31, typename Check32,
4018
+ typename Check33, typename Check34, typename Check35, typename Check36,
4019
+ typename Check37, typename Check38, typename Check39, typename Check40,
4020
+ typename Check41, typename Check42, typename Check43, typename Check44,
4021
+ typename Check45, typename Check46, typename Check47, typename Check48,
4022
+ typename Check49, typename Check50, typename Check51, typename Check52,
4023
+ typename Check53, typename Check54, typename Check55, typename Check56,
4024
+ typename Check57, typename Check58, typename Check59, typename Action0,
4025
+ typename Action1, typename Action2, typename Action3, typename Action4,
4026
+ typename Action5, typename Action6, typename Action7, typename Action8,
4027
+ typename Action9, typename Action10, typename Action11, typename Action12,
4028
+ typename Action13, typename Action14, typename Action15, typename Action16,
4029
+ typename Action17, typename Action18, typename Action19, typename Action20,
4030
+ typename Action21, typename Action22, typename Action23, typename Action24,
4031
+ typename Action25, typename Action26, typename Action27, typename Action28,
4032
+ typename Action29, typename Action30, typename Action31, typename Action32,
4033
+ typename Action33, typename Action34, typename Action35, typename Action36,
4034
+ typename Action37, typename Action38, typename Action39, typename Action40,
4035
+ typename Action41, typename Action42, typename Action43, typename Action44,
4036
+ typename Action45, typename Action46, typename Action47, typename Action48,
4037
+ typename Action49, typename Action50, typename Action51, typename Action52,
4038
+ typename Action53, typename Action54, typename Action55, typename Action56,
4039
+ typename Action57, typename Action58, typename Action59>
4040
+ auto IfList(
4041
+ CheckArg input, ActionArg action_arg, ActionFail action_fail, Check0 check0,
4042
+ Check1 check1, Check2 check2, Check3 check3, Check4 check4, Check5 check5,
4043
+ Check6 check6, Check7 check7, Check8 check8, Check9 check9, Check10 check10,
4044
+ Check11 check11, Check12 check12, Check13 check13, Check14 check14,
4045
+ Check15 check15, Check16 check16, Check17 check17, Check18 check18,
4046
+ Check19 check19, Check20 check20, Check21 check21, Check22 check22,
4047
+ Check23 check23, Check24 check24, Check25 check25, Check26 check26,
4048
+ Check27 check27, Check28 check28, Check29 check29, Check30 check30,
4049
+ Check31 check31, Check32 check32, Check33 check33, Check34 check34,
4050
+ Check35 check35, Check36 check36, Check37 check37, Check38 check38,
4051
+ Check39 check39, Check40 check40, Check41 check41, Check42 check42,
4052
+ Check43 check43, Check44 check44, Check45 check45, Check46 check46,
4053
+ Check47 check47, Check48 check48, Check49 check49, Check50 check50,
4054
+ Check51 check51, Check52 check52, Check53 check53, Check54 check54,
4055
+ Check55 check55, Check56 check56, Check57 check57, Check58 check58,
4056
+ Check59 check59, Action0 action0, Action1 action1, Action2 action2,
4057
+ Action3 action3, Action4 action4, Action5 action5, Action6 action6,
4058
+ Action7 action7, Action8 action8, Action9 action9, Action10 action10,
4059
+ Action11 action11, Action12 action12, Action13 action13, Action14 action14,
4060
+ Action15 action15, Action16 action16, Action17 action17, Action18 action18,
4061
+ Action19 action19, Action20 action20, Action21 action21, Action22 action22,
4062
+ Action23 action23, Action24 action24, Action25 action25, Action26 action26,
4063
+ Action27 action27, Action28 action28, Action29 action29, Action30 action30,
4064
+ Action31 action31, Action32 action32, Action33 action33, Action34 action34,
4065
+ Action35 action35, Action36 action36, Action37 action37, Action38 action38,
4066
+ Action39 action39, Action40 action40, Action41 action41, Action42 action42,
4067
+ Action43 action43, Action44 action44, Action45 action45, Action46 action46,
4068
+ Action47 action47, Action48 action48, Action49 action49, Action50 action50,
4069
+ Action51 action51, Action52 action52, Action53 action53, Action54 action54,
4070
+ Action55 action55, Action56 action56, Action57 action57, Action58 action58,
4071
+ Action59 action59) {
4072
+ if (check0(input)) return action0(action_arg);
4073
+ if (check1(input)) return action1(action_arg);
4074
+ if (check2(input)) return action2(action_arg);
4075
+ if (check3(input)) return action3(action_arg);
4076
+ if (check4(input)) return action4(action_arg);
4077
+ if (check5(input)) return action5(action_arg);
4078
+ if (check6(input)) return action6(action_arg);
4079
+ if (check7(input)) return action7(action_arg);
4080
+ if (check8(input)) return action8(action_arg);
4081
+ if (check9(input)) return action9(action_arg);
4082
+ if (check10(input)) return action10(action_arg);
4083
+ if (check11(input)) return action11(action_arg);
4084
+ if (check12(input)) return action12(action_arg);
4085
+ if (check13(input)) return action13(action_arg);
4086
+ if (check14(input)) return action14(action_arg);
4087
+ if (check15(input)) return action15(action_arg);
4088
+ if (check16(input)) return action16(action_arg);
4089
+ if (check17(input)) return action17(action_arg);
4090
+ if (check18(input)) return action18(action_arg);
4091
+ if (check19(input)) return action19(action_arg);
4092
+ if (check20(input)) return action20(action_arg);
4093
+ if (check21(input)) return action21(action_arg);
4094
+ if (check22(input)) return action22(action_arg);
4095
+ if (check23(input)) return action23(action_arg);
4096
+ if (check24(input)) return action24(action_arg);
4097
+ if (check25(input)) return action25(action_arg);
4098
+ if (check26(input)) return action26(action_arg);
4099
+ if (check27(input)) return action27(action_arg);
4100
+ if (check28(input)) return action28(action_arg);
4101
+ if (check29(input)) return action29(action_arg);
4102
+ if (check30(input)) return action30(action_arg);
4103
+ if (check31(input)) return action31(action_arg);
4104
+ if (check32(input)) return action32(action_arg);
4105
+ if (check33(input)) return action33(action_arg);
4106
+ if (check34(input)) return action34(action_arg);
4107
+ if (check35(input)) return action35(action_arg);
4108
+ if (check36(input)) return action36(action_arg);
4109
+ if (check37(input)) return action37(action_arg);
4110
+ if (check38(input)) return action38(action_arg);
4111
+ if (check39(input)) return action39(action_arg);
4112
+ if (check40(input)) return action40(action_arg);
4113
+ if (check41(input)) return action41(action_arg);
4114
+ if (check42(input)) return action42(action_arg);
4115
+ if (check43(input)) return action43(action_arg);
4116
+ if (check44(input)) return action44(action_arg);
4117
+ if (check45(input)) return action45(action_arg);
4118
+ if (check46(input)) return action46(action_arg);
4119
+ if (check47(input)) return action47(action_arg);
4120
+ if (check48(input)) return action48(action_arg);
4121
+ if (check49(input)) return action49(action_arg);
4122
+ if (check50(input)) return action50(action_arg);
4123
+ if (check51(input)) return action51(action_arg);
4124
+ if (check52(input)) return action52(action_arg);
4125
+ if (check53(input)) return action53(action_arg);
4126
+ if (check54(input)) return action54(action_arg);
4127
+ if (check55(input)) return action55(action_arg);
4128
+ if (check56(input)) return action56(action_arg);
4129
+ if (check57(input)) return action57(action_arg);
4130
+ if (check58(input)) return action58(action_arg);
4131
+ if (check59(input)) return action59(action_arg);
4132
+ return action_fail(action_arg);
4133
+ }
4134
+
4135
+ template <
4136
+ typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
4137
+ typename Check1, typename Check2, typename Check3, typename Check4,
4138
+ typename Check5, typename Check6, typename Check7, typename Check8,
4139
+ typename Check9, typename Check10, typename Check11, typename Check12,
4140
+ typename Check13, typename Check14, typename Check15, typename Check16,
4141
+ typename Check17, typename Check18, typename Check19, typename Check20,
4142
+ typename Check21, typename Check22, typename Check23, typename Check24,
4143
+ typename Check25, typename Check26, typename Check27, typename Check28,
4144
+ typename Check29, typename Check30, typename Check31, typename Check32,
4145
+ typename Check33, typename Check34, typename Check35, typename Check36,
4146
+ typename Check37, typename Check38, typename Check39, typename Check40,
4147
+ typename Check41, typename Check42, typename Check43, typename Check44,
4148
+ typename Check45, typename Check46, typename Check47, typename Check48,
4149
+ typename Check49, typename Check50, typename Check51, typename Check52,
4150
+ typename Check53, typename Check54, typename Check55, typename Check56,
4151
+ typename Check57, typename Check58, typename Check59, typename Check60,
4152
+ typename Action0, typename Action1, typename Action2, typename Action3,
4153
+ typename Action4, typename Action5, typename Action6, typename Action7,
4154
+ typename Action8, typename Action9, typename Action10, typename Action11,
4155
+ typename Action12, typename Action13, typename Action14, typename Action15,
4156
+ typename Action16, typename Action17, typename Action18, typename Action19,
4157
+ typename Action20, typename Action21, typename Action22, typename Action23,
4158
+ typename Action24, typename Action25, typename Action26, typename Action27,
4159
+ typename Action28, typename Action29, typename Action30, typename Action31,
4160
+ typename Action32, typename Action33, typename Action34, typename Action35,
4161
+ typename Action36, typename Action37, typename Action38, typename Action39,
4162
+ typename Action40, typename Action41, typename Action42, typename Action43,
4163
+ typename Action44, typename Action45, typename Action46, typename Action47,
4164
+ typename Action48, typename Action49, typename Action50, typename Action51,
4165
+ typename Action52, typename Action53, typename Action54, typename Action55,
4166
+ typename Action56, typename Action57, typename Action58, typename Action59,
4167
+ typename Action60>
4168
+ auto IfList(
4169
+ CheckArg input, ActionArg action_arg, ActionFail action_fail, Check0 check0,
4170
+ Check1 check1, Check2 check2, Check3 check3, Check4 check4, Check5 check5,
4171
+ Check6 check6, Check7 check7, Check8 check8, Check9 check9, Check10 check10,
4172
+ Check11 check11, Check12 check12, Check13 check13, Check14 check14,
4173
+ Check15 check15, Check16 check16, Check17 check17, Check18 check18,
4174
+ Check19 check19, Check20 check20, Check21 check21, Check22 check22,
4175
+ Check23 check23, Check24 check24, Check25 check25, Check26 check26,
4176
+ Check27 check27, Check28 check28, Check29 check29, Check30 check30,
4177
+ Check31 check31, Check32 check32, Check33 check33, Check34 check34,
4178
+ Check35 check35, Check36 check36, Check37 check37, Check38 check38,
4179
+ Check39 check39, Check40 check40, Check41 check41, Check42 check42,
4180
+ Check43 check43, Check44 check44, Check45 check45, Check46 check46,
4181
+ Check47 check47, Check48 check48, Check49 check49, Check50 check50,
4182
+ Check51 check51, Check52 check52, Check53 check53, Check54 check54,
4183
+ Check55 check55, Check56 check56, Check57 check57, Check58 check58,
4184
+ Check59 check59, Check60 check60, Action0 action0, Action1 action1,
4185
+ Action2 action2, Action3 action3, Action4 action4, Action5 action5,
4186
+ Action6 action6, Action7 action7, Action8 action8, Action9 action9,
4187
+ Action10 action10, Action11 action11, Action12 action12, Action13 action13,
4188
+ Action14 action14, Action15 action15, Action16 action16, Action17 action17,
4189
+ Action18 action18, Action19 action19, Action20 action20, Action21 action21,
4190
+ Action22 action22, Action23 action23, Action24 action24, Action25 action25,
4191
+ Action26 action26, Action27 action27, Action28 action28, Action29 action29,
4192
+ Action30 action30, Action31 action31, Action32 action32, Action33 action33,
4193
+ Action34 action34, Action35 action35, Action36 action36, Action37 action37,
4194
+ Action38 action38, Action39 action39, Action40 action40, Action41 action41,
4195
+ Action42 action42, Action43 action43, Action44 action44, Action45 action45,
4196
+ Action46 action46, Action47 action47, Action48 action48, Action49 action49,
4197
+ Action50 action50, Action51 action51, Action52 action52, Action53 action53,
4198
+ Action54 action54, Action55 action55, Action56 action56, Action57 action57,
4199
+ Action58 action58, Action59 action59, Action60 action60) {
4200
+ if (check0(input)) return action0(action_arg);
4201
+ if (check1(input)) return action1(action_arg);
4202
+ if (check2(input)) return action2(action_arg);
4203
+ if (check3(input)) return action3(action_arg);
4204
+ if (check4(input)) return action4(action_arg);
4205
+ if (check5(input)) return action5(action_arg);
4206
+ if (check6(input)) return action6(action_arg);
4207
+ if (check7(input)) return action7(action_arg);
4208
+ if (check8(input)) return action8(action_arg);
4209
+ if (check9(input)) return action9(action_arg);
4210
+ if (check10(input)) return action10(action_arg);
4211
+ if (check11(input)) return action11(action_arg);
4212
+ if (check12(input)) return action12(action_arg);
4213
+ if (check13(input)) return action13(action_arg);
4214
+ if (check14(input)) return action14(action_arg);
4215
+ if (check15(input)) return action15(action_arg);
4216
+ if (check16(input)) return action16(action_arg);
4217
+ if (check17(input)) return action17(action_arg);
4218
+ if (check18(input)) return action18(action_arg);
4219
+ if (check19(input)) return action19(action_arg);
4220
+ if (check20(input)) return action20(action_arg);
4221
+ if (check21(input)) return action21(action_arg);
4222
+ if (check22(input)) return action22(action_arg);
4223
+ if (check23(input)) return action23(action_arg);
4224
+ if (check24(input)) return action24(action_arg);
4225
+ if (check25(input)) return action25(action_arg);
4226
+ if (check26(input)) return action26(action_arg);
4227
+ if (check27(input)) return action27(action_arg);
4228
+ if (check28(input)) return action28(action_arg);
4229
+ if (check29(input)) return action29(action_arg);
4230
+ if (check30(input)) return action30(action_arg);
4231
+ if (check31(input)) return action31(action_arg);
4232
+ if (check32(input)) return action32(action_arg);
4233
+ if (check33(input)) return action33(action_arg);
4234
+ if (check34(input)) return action34(action_arg);
4235
+ if (check35(input)) return action35(action_arg);
4236
+ if (check36(input)) return action36(action_arg);
4237
+ if (check37(input)) return action37(action_arg);
4238
+ if (check38(input)) return action38(action_arg);
4239
+ if (check39(input)) return action39(action_arg);
4240
+ if (check40(input)) return action40(action_arg);
4241
+ if (check41(input)) return action41(action_arg);
4242
+ if (check42(input)) return action42(action_arg);
4243
+ if (check43(input)) return action43(action_arg);
4244
+ if (check44(input)) return action44(action_arg);
4245
+ if (check45(input)) return action45(action_arg);
4246
+ if (check46(input)) return action46(action_arg);
4247
+ if (check47(input)) return action47(action_arg);
4248
+ if (check48(input)) return action48(action_arg);
4249
+ if (check49(input)) return action49(action_arg);
4250
+ if (check50(input)) return action50(action_arg);
4251
+ if (check51(input)) return action51(action_arg);
4252
+ if (check52(input)) return action52(action_arg);
4253
+ if (check53(input)) return action53(action_arg);
4254
+ if (check54(input)) return action54(action_arg);
4255
+ if (check55(input)) return action55(action_arg);
4256
+ if (check56(input)) return action56(action_arg);
4257
+ if (check57(input)) return action57(action_arg);
4258
+ if (check58(input)) return action58(action_arg);
4259
+ if (check59(input)) return action59(action_arg);
4260
+ if (check60(input)) return action60(action_arg);
4261
+ return action_fail(action_arg);
4262
+ }
4263
+
4264
+ template <
4265
+ typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
4266
+ typename Check1, typename Check2, typename Check3, typename Check4,
4267
+ typename Check5, typename Check6, typename Check7, typename Check8,
4268
+ typename Check9, typename Check10, typename Check11, typename Check12,
4269
+ typename Check13, typename Check14, typename Check15, typename Check16,
4270
+ typename Check17, typename Check18, typename Check19, typename Check20,
4271
+ typename Check21, typename Check22, typename Check23, typename Check24,
4272
+ typename Check25, typename Check26, typename Check27, typename Check28,
4273
+ typename Check29, typename Check30, typename Check31, typename Check32,
4274
+ typename Check33, typename Check34, typename Check35, typename Check36,
4275
+ typename Check37, typename Check38, typename Check39, typename Check40,
4276
+ typename Check41, typename Check42, typename Check43, typename Check44,
4277
+ typename Check45, typename Check46, typename Check47, typename Check48,
4278
+ typename Check49, typename Check50, typename Check51, typename Check52,
4279
+ typename Check53, typename Check54, typename Check55, typename Check56,
4280
+ typename Check57, typename Check58, typename Check59, typename Check60,
4281
+ typename Check61, typename Action0, typename Action1, typename Action2,
4282
+ typename Action3, typename Action4, typename Action5, typename Action6,
4283
+ typename Action7, typename Action8, typename Action9, typename Action10,
4284
+ typename Action11, typename Action12, typename Action13, typename Action14,
4285
+ typename Action15, typename Action16, typename Action17, typename Action18,
4286
+ typename Action19, typename Action20, typename Action21, typename Action22,
4287
+ typename Action23, typename Action24, typename Action25, typename Action26,
4288
+ typename Action27, typename Action28, typename Action29, typename Action30,
4289
+ typename Action31, typename Action32, typename Action33, typename Action34,
4290
+ typename Action35, typename Action36, typename Action37, typename Action38,
4291
+ typename Action39, typename Action40, typename Action41, typename Action42,
4292
+ typename Action43, typename Action44, typename Action45, typename Action46,
4293
+ typename Action47, typename Action48, typename Action49, typename Action50,
4294
+ typename Action51, typename Action52, typename Action53, typename Action54,
4295
+ typename Action55, typename Action56, typename Action57, typename Action58,
4296
+ typename Action59, typename Action60, typename Action61>
4297
+ auto IfList(
4298
+ CheckArg input, ActionArg action_arg, ActionFail action_fail, Check0 check0,
4299
+ Check1 check1, Check2 check2, Check3 check3, Check4 check4, Check5 check5,
4300
+ Check6 check6, Check7 check7, Check8 check8, Check9 check9, Check10 check10,
4301
+ Check11 check11, Check12 check12, Check13 check13, Check14 check14,
4302
+ Check15 check15, Check16 check16, Check17 check17, Check18 check18,
4303
+ Check19 check19, Check20 check20, Check21 check21, Check22 check22,
4304
+ Check23 check23, Check24 check24, Check25 check25, Check26 check26,
4305
+ Check27 check27, Check28 check28, Check29 check29, Check30 check30,
4306
+ Check31 check31, Check32 check32, Check33 check33, Check34 check34,
4307
+ Check35 check35, Check36 check36, Check37 check37, Check38 check38,
4308
+ Check39 check39, Check40 check40, Check41 check41, Check42 check42,
4309
+ Check43 check43, Check44 check44, Check45 check45, Check46 check46,
4310
+ Check47 check47, Check48 check48, Check49 check49, Check50 check50,
4311
+ Check51 check51, Check52 check52, Check53 check53, Check54 check54,
4312
+ Check55 check55, Check56 check56, Check57 check57, Check58 check58,
4313
+ Check59 check59, Check60 check60, Check61 check61, Action0 action0,
4314
+ Action1 action1, Action2 action2, Action3 action3, Action4 action4,
4315
+ Action5 action5, Action6 action6, Action7 action7, Action8 action8,
4316
+ Action9 action9, Action10 action10, Action11 action11, Action12 action12,
4317
+ Action13 action13, Action14 action14, Action15 action15, Action16 action16,
4318
+ Action17 action17, Action18 action18, Action19 action19, Action20 action20,
4319
+ Action21 action21, Action22 action22, Action23 action23, Action24 action24,
4320
+ Action25 action25, Action26 action26, Action27 action27, Action28 action28,
4321
+ Action29 action29, Action30 action30, Action31 action31, Action32 action32,
4322
+ Action33 action33, Action34 action34, Action35 action35, Action36 action36,
4323
+ Action37 action37, Action38 action38, Action39 action39, Action40 action40,
4324
+ Action41 action41, Action42 action42, Action43 action43, Action44 action44,
4325
+ Action45 action45, Action46 action46, Action47 action47, Action48 action48,
4326
+ Action49 action49, Action50 action50, Action51 action51, Action52 action52,
4327
+ Action53 action53, Action54 action54, Action55 action55, Action56 action56,
4328
+ Action57 action57, Action58 action58, Action59 action59, Action60 action60,
4329
+ Action61 action61) {
4330
+ if (check0(input)) return action0(action_arg);
4331
+ if (check1(input)) return action1(action_arg);
4332
+ if (check2(input)) return action2(action_arg);
4333
+ if (check3(input)) return action3(action_arg);
4334
+ if (check4(input)) return action4(action_arg);
4335
+ if (check5(input)) return action5(action_arg);
4336
+ if (check6(input)) return action6(action_arg);
4337
+ if (check7(input)) return action7(action_arg);
4338
+ if (check8(input)) return action8(action_arg);
4339
+ if (check9(input)) return action9(action_arg);
4340
+ if (check10(input)) return action10(action_arg);
4341
+ if (check11(input)) return action11(action_arg);
4342
+ if (check12(input)) return action12(action_arg);
4343
+ if (check13(input)) return action13(action_arg);
4344
+ if (check14(input)) return action14(action_arg);
4345
+ if (check15(input)) return action15(action_arg);
4346
+ if (check16(input)) return action16(action_arg);
4347
+ if (check17(input)) return action17(action_arg);
4348
+ if (check18(input)) return action18(action_arg);
4349
+ if (check19(input)) return action19(action_arg);
4350
+ if (check20(input)) return action20(action_arg);
4351
+ if (check21(input)) return action21(action_arg);
4352
+ if (check22(input)) return action22(action_arg);
4353
+ if (check23(input)) return action23(action_arg);
4354
+ if (check24(input)) return action24(action_arg);
4355
+ if (check25(input)) return action25(action_arg);
4356
+ if (check26(input)) return action26(action_arg);
4357
+ if (check27(input)) return action27(action_arg);
4358
+ if (check28(input)) return action28(action_arg);
4359
+ if (check29(input)) return action29(action_arg);
4360
+ if (check30(input)) return action30(action_arg);
4361
+ if (check31(input)) return action31(action_arg);
4362
+ if (check32(input)) return action32(action_arg);
4363
+ if (check33(input)) return action33(action_arg);
4364
+ if (check34(input)) return action34(action_arg);
4365
+ if (check35(input)) return action35(action_arg);
4366
+ if (check36(input)) return action36(action_arg);
4367
+ if (check37(input)) return action37(action_arg);
4368
+ if (check38(input)) return action38(action_arg);
4369
+ if (check39(input)) return action39(action_arg);
4370
+ if (check40(input)) return action40(action_arg);
4371
+ if (check41(input)) return action41(action_arg);
4372
+ if (check42(input)) return action42(action_arg);
4373
+ if (check43(input)) return action43(action_arg);
4374
+ if (check44(input)) return action44(action_arg);
4375
+ if (check45(input)) return action45(action_arg);
4376
+ if (check46(input)) return action46(action_arg);
4377
+ if (check47(input)) return action47(action_arg);
4378
+ if (check48(input)) return action48(action_arg);
4379
+ if (check49(input)) return action49(action_arg);
4380
+ if (check50(input)) return action50(action_arg);
4381
+ if (check51(input)) return action51(action_arg);
4382
+ if (check52(input)) return action52(action_arg);
4383
+ if (check53(input)) return action53(action_arg);
4384
+ if (check54(input)) return action54(action_arg);
4385
+ if (check55(input)) return action55(action_arg);
4386
+ if (check56(input)) return action56(action_arg);
4387
+ if (check57(input)) return action57(action_arg);
4388
+ if (check58(input)) return action58(action_arg);
4389
+ if (check59(input)) return action59(action_arg);
4390
+ if (check60(input)) return action60(action_arg);
4391
+ if (check61(input)) return action61(action_arg);
4392
+ return action_fail(action_arg);
4393
+ }
4394
+
4395
+ template <
4396
+ typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
4397
+ typename Check1, typename Check2, typename Check3, typename Check4,
4398
+ typename Check5, typename Check6, typename Check7, typename Check8,
4399
+ typename Check9, typename Check10, typename Check11, typename Check12,
4400
+ typename Check13, typename Check14, typename Check15, typename Check16,
4401
+ typename Check17, typename Check18, typename Check19, typename Check20,
4402
+ typename Check21, typename Check22, typename Check23, typename Check24,
4403
+ typename Check25, typename Check26, typename Check27, typename Check28,
4404
+ typename Check29, typename Check30, typename Check31, typename Check32,
4405
+ typename Check33, typename Check34, typename Check35, typename Check36,
4406
+ typename Check37, typename Check38, typename Check39, typename Check40,
4407
+ typename Check41, typename Check42, typename Check43, typename Check44,
4408
+ typename Check45, typename Check46, typename Check47, typename Check48,
4409
+ typename Check49, typename Check50, typename Check51, typename Check52,
4410
+ typename Check53, typename Check54, typename Check55, typename Check56,
4411
+ typename Check57, typename Check58, typename Check59, typename Check60,
4412
+ typename Check61, typename Check62, typename Action0, typename Action1,
4413
+ typename Action2, typename Action3, typename Action4, typename Action5,
4414
+ typename Action6, typename Action7, typename Action8, typename Action9,
4415
+ typename Action10, typename Action11, typename Action12, typename Action13,
4416
+ typename Action14, typename Action15, typename Action16, typename Action17,
4417
+ typename Action18, typename Action19, typename Action20, typename Action21,
4418
+ typename Action22, typename Action23, typename Action24, typename Action25,
4419
+ typename Action26, typename Action27, typename Action28, typename Action29,
4420
+ typename Action30, typename Action31, typename Action32, typename Action33,
4421
+ typename Action34, typename Action35, typename Action36, typename Action37,
4422
+ typename Action38, typename Action39, typename Action40, typename Action41,
4423
+ typename Action42, typename Action43, typename Action44, typename Action45,
4424
+ typename Action46, typename Action47, typename Action48, typename Action49,
4425
+ typename Action50, typename Action51, typename Action52, typename Action53,
4426
+ typename Action54, typename Action55, typename Action56, typename Action57,
4427
+ typename Action58, typename Action59, typename Action60, typename Action61,
4428
+ typename Action62>
4429
+ auto IfList(
4430
+ CheckArg input, ActionArg action_arg, ActionFail action_fail, Check0 check0,
4431
+ Check1 check1, Check2 check2, Check3 check3, Check4 check4, Check5 check5,
4432
+ Check6 check6, Check7 check7, Check8 check8, Check9 check9, Check10 check10,
4433
+ Check11 check11, Check12 check12, Check13 check13, Check14 check14,
4434
+ Check15 check15, Check16 check16, Check17 check17, Check18 check18,
4435
+ Check19 check19, Check20 check20, Check21 check21, Check22 check22,
4436
+ Check23 check23, Check24 check24, Check25 check25, Check26 check26,
4437
+ Check27 check27, Check28 check28, Check29 check29, Check30 check30,
4438
+ Check31 check31, Check32 check32, Check33 check33, Check34 check34,
4439
+ Check35 check35, Check36 check36, Check37 check37, Check38 check38,
4440
+ Check39 check39, Check40 check40, Check41 check41, Check42 check42,
4441
+ Check43 check43, Check44 check44, Check45 check45, Check46 check46,
4442
+ Check47 check47, Check48 check48, Check49 check49, Check50 check50,
4443
+ Check51 check51, Check52 check52, Check53 check53, Check54 check54,
4444
+ Check55 check55, Check56 check56, Check57 check57, Check58 check58,
4445
+ Check59 check59, Check60 check60, Check61 check61, Check62 check62,
4446
+ Action0 action0, Action1 action1, Action2 action2, Action3 action3,
4447
+ Action4 action4, Action5 action5, Action6 action6, Action7 action7,
4448
+ Action8 action8, Action9 action9, Action10 action10, Action11 action11,
4449
+ Action12 action12, Action13 action13, Action14 action14, Action15 action15,
4450
+ Action16 action16, Action17 action17, Action18 action18, Action19 action19,
4451
+ Action20 action20, Action21 action21, Action22 action22, Action23 action23,
4452
+ Action24 action24, Action25 action25, Action26 action26, Action27 action27,
4453
+ Action28 action28, Action29 action29, Action30 action30, Action31 action31,
4454
+ Action32 action32, Action33 action33, Action34 action34, Action35 action35,
4455
+ Action36 action36, Action37 action37, Action38 action38, Action39 action39,
4456
+ Action40 action40, Action41 action41, Action42 action42, Action43 action43,
4457
+ Action44 action44, Action45 action45, Action46 action46, Action47 action47,
4458
+ Action48 action48, Action49 action49, Action50 action50, Action51 action51,
4459
+ Action52 action52, Action53 action53, Action54 action54, Action55 action55,
4460
+ Action56 action56, Action57 action57, Action58 action58, Action59 action59,
4461
+ Action60 action60, Action61 action61, Action62 action62) {
4462
+ if (check0(input)) return action0(action_arg);
4463
+ if (check1(input)) return action1(action_arg);
4464
+ if (check2(input)) return action2(action_arg);
4465
+ if (check3(input)) return action3(action_arg);
4466
+ if (check4(input)) return action4(action_arg);
4467
+ if (check5(input)) return action5(action_arg);
4468
+ if (check6(input)) return action6(action_arg);
4469
+ if (check7(input)) return action7(action_arg);
4470
+ if (check8(input)) return action8(action_arg);
4471
+ if (check9(input)) return action9(action_arg);
4472
+ if (check10(input)) return action10(action_arg);
4473
+ if (check11(input)) return action11(action_arg);
4474
+ if (check12(input)) return action12(action_arg);
4475
+ if (check13(input)) return action13(action_arg);
4476
+ if (check14(input)) return action14(action_arg);
4477
+ if (check15(input)) return action15(action_arg);
4478
+ if (check16(input)) return action16(action_arg);
4479
+ if (check17(input)) return action17(action_arg);
4480
+ if (check18(input)) return action18(action_arg);
4481
+ if (check19(input)) return action19(action_arg);
4482
+ if (check20(input)) return action20(action_arg);
4483
+ if (check21(input)) return action21(action_arg);
4484
+ if (check22(input)) return action22(action_arg);
4485
+ if (check23(input)) return action23(action_arg);
4486
+ if (check24(input)) return action24(action_arg);
4487
+ if (check25(input)) return action25(action_arg);
4488
+ if (check26(input)) return action26(action_arg);
4489
+ if (check27(input)) return action27(action_arg);
4490
+ if (check28(input)) return action28(action_arg);
4491
+ if (check29(input)) return action29(action_arg);
4492
+ if (check30(input)) return action30(action_arg);
4493
+ if (check31(input)) return action31(action_arg);
4494
+ if (check32(input)) return action32(action_arg);
4495
+ if (check33(input)) return action33(action_arg);
4496
+ if (check34(input)) return action34(action_arg);
4497
+ if (check35(input)) return action35(action_arg);
4498
+ if (check36(input)) return action36(action_arg);
4499
+ if (check37(input)) return action37(action_arg);
4500
+ if (check38(input)) return action38(action_arg);
4501
+ if (check39(input)) return action39(action_arg);
4502
+ if (check40(input)) return action40(action_arg);
4503
+ if (check41(input)) return action41(action_arg);
4504
+ if (check42(input)) return action42(action_arg);
4505
+ if (check43(input)) return action43(action_arg);
4506
+ if (check44(input)) return action44(action_arg);
4507
+ if (check45(input)) return action45(action_arg);
4508
+ if (check46(input)) return action46(action_arg);
4509
+ if (check47(input)) return action47(action_arg);
4510
+ if (check48(input)) return action48(action_arg);
4511
+ if (check49(input)) return action49(action_arg);
4512
+ if (check50(input)) return action50(action_arg);
4513
+ if (check51(input)) return action51(action_arg);
4514
+ if (check52(input)) return action52(action_arg);
4515
+ if (check53(input)) return action53(action_arg);
4516
+ if (check54(input)) return action54(action_arg);
4517
+ if (check55(input)) return action55(action_arg);
4518
+ if (check56(input)) return action56(action_arg);
4519
+ if (check57(input)) return action57(action_arg);
4520
+ if (check58(input)) return action58(action_arg);
4521
+ if (check59(input)) return action59(action_arg);
4522
+ if (check60(input)) return action60(action_arg);
4523
+ if (check61(input)) return action61(action_arg);
4524
+ if (check62(input)) return action62(action_arg);
4525
+ return action_fail(action_arg);
4526
+ }
4527
+
4528
+ } // namespace grpc_core
4529
+
4530
+ #endif // GRPC_SRC_CORE_UTIL_IF_LIST_H