grpc 1.67.0 → 1.72.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 (3236) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +378 -397
  3. data/include/grpc/compression.h +1 -2
  4. data/include/grpc/credentials.h +1 -2
  5. data/include/grpc/event_engine/endpoint_config.h +7 -7
  6. data/include/grpc/event_engine/event_engine.h +56 -14
  7. data/include/grpc/event_engine/extensible.h +2 -2
  8. data/include/grpc/event_engine/internal/memory_allocator_impl.h +4 -4
  9. data/include/grpc/event_engine/memory_allocator.h +3 -4
  10. data/include/grpc/event_engine/memory_request.h +4 -5
  11. data/include/grpc/event_engine/slice.h +3 -4
  12. data/include/grpc/event_engine/slice_buffer.h +6 -7
  13. data/include/grpc/grpc.h +1 -2
  14. data/include/grpc/grpc_audit_logging.h +3 -3
  15. data/include/grpc/grpc_crl_provider.h +4 -4
  16. data/include/grpc/grpc_posix.h +1 -2
  17. data/include/grpc/grpc_security.h +1 -2
  18. data/include/grpc/impl/call.h +2 -2
  19. data/include/grpc/impl/channel_arg_names.h +72 -50
  20. data/include/grpc/impl/grpc_types.h +1 -2
  21. data/include/grpc/impl/slice_type.h +1 -2
  22. data/include/grpc/passive_listener.h +2 -2
  23. data/include/grpc/status.h +1 -1
  24. data/include/grpc/support/alloc.h +1 -2
  25. data/include/grpc/support/atm.h +0 -13
  26. data/include/grpc/support/json.h +17 -18
  27. data/include/grpc/support/log.h +1 -2
  28. data/include/grpc/support/metrics.h +7 -3
  29. data/include/grpc/support/port_platform.h +6 -1
  30. data/include/grpc/support/sync_posix.h +1 -2
  31. data/include/grpc/support/time.h +1 -2
  32. data/include/grpc/support/workaround_list.h +1 -4
  33. data/src/core/call/call_arena_allocator.cc +27 -0
  34. data/src/core/call/call_arena_allocator.h +91 -0
  35. data/src/core/call/call_destination.h +76 -0
  36. data/src/core/call/call_filters.cc +148 -0
  37. data/src/core/call/call_filters.h +1967 -0
  38. data/src/core/call/call_finalization.h +88 -0
  39. data/src/core/call/call_spine.cc +90 -0
  40. data/src/core/call/call_spine.h +644 -0
  41. data/src/core/call/call_state.cc +39 -0
  42. data/src/core/call/call_state.h +1154 -0
  43. data/src/core/call/client_call.cc +458 -0
  44. data/src/core/call/client_call.h +192 -0
  45. data/src/core/call/custom_metadata.h +30 -0
  46. data/src/core/call/interception_chain.cc +155 -0
  47. data/src/core/call/interception_chain.h +282 -0
  48. data/src/core/call/message.cc +44 -0
  49. data/src/core/call/message.h +70 -0
  50. data/src/core/call/metadata.cc +61 -0
  51. data/src/core/call/metadata.h +201 -0
  52. data/src/core/call/metadata_batch.cc +383 -0
  53. data/src/core/call/metadata_batch.h +1668 -0
  54. data/src/core/call/metadata_compression_traits.h +66 -0
  55. data/src/core/call/metadata_info.cc +73 -0
  56. data/src/core/call/metadata_info.h +85 -0
  57. data/src/core/call/parsed_metadata.cc +35 -0
  58. data/src/core/call/parsed_metadata.h +429 -0
  59. data/src/core/call/request_buffer.cc +224 -0
  60. data/src/core/call/request_buffer.h +192 -0
  61. data/src/core/call/security_context.cc +125 -0
  62. data/src/core/call/security_context.h +114 -0
  63. data/src/core/call/server_call.cc +259 -0
  64. data/src/core/call/server_call.h +169 -0
  65. data/src/core/call/simple_slice_based_metadata.h +53 -0
  66. data/src/core/call/status_util.cc +153 -0
  67. data/src/core/call/status_util.h +80 -0
  68. data/src/core/channelz/channel_trace.cc +5 -6
  69. data/src/core/channelz/channel_trace.h +5 -7
  70. data/src/core/channelz/channelz.cc +7 -8
  71. data/src/core/channelz/channelz.h +11 -32
  72. data/src/core/channelz/channelz_registry.cc +6 -14
  73. data/src/core/channelz/channelz_registry.h +4 -5
  74. data/src/core/client_channel/backup_poller.cc +21 -11
  75. data/src/core/client_channel/client_channel.cc +66 -65
  76. data/src/core/client_channel/client_channel.h +10 -7
  77. data/src/core/client_channel/client_channel_args.h +21 -0
  78. data/src/core/client_channel/client_channel_factory.cc +2 -2
  79. data/src/core/client_channel/client_channel_factory.h +1 -2
  80. data/src/core/client_channel/client_channel_filter.cc +91 -175
  81. data/src/core/client_channel/client_channel_filter.h +23 -21
  82. data/src/core/client_channel/client_channel_internal.h +3 -4
  83. data/src/core/client_channel/client_channel_plugin.cc +3 -4
  84. data/src/core/client_channel/client_channel_service_config.cc +3 -4
  85. data/src/core/client_channel/client_channel_service_config.h +9 -11
  86. data/src/core/client_channel/config_selector.h +6 -9
  87. data/src/core/client_channel/connector.h +3 -3
  88. data/src/core/client_channel/direct_channel.cc +6 -6
  89. data/src/core/client_channel/direct_channel.h +1 -1
  90. data/src/core/client_channel/dynamic_filters.cc +10 -9
  91. data/src/core/client_channel/dynamic_filters.h +8 -8
  92. data/src/core/client_channel/global_subchannel_pool.cc +2 -2
  93. data/src/core/client_channel/global_subchannel_pool.h +2 -3
  94. data/src/core/client_channel/lb_metadata.cc +7 -8
  95. data/src/core/client_channel/lb_metadata.h +6 -7
  96. data/src/core/client_channel/load_balanced_call_destination.cc +7 -8
  97. data/src/core/client_channel/load_balanced_call_destination.h +1 -2
  98. data/src/core/client_channel/local_subchannel_pool.cc +2 -3
  99. data/src/core/client_channel/local_subchannel_pool.h +1 -1
  100. data/src/core/client_channel/retry_filter.cc +6 -8
  101. data/src/core/client_channel/retry_filter.h +5 -8
  102. data/src/core/client_channel/retry_filter_legacy_call_data.cc +62 -62
  103. data/src/core/client_channel/retry_filter_legacy_call_data.h +22 -23
  104. data/src/core/client_channel/retry_interceptor.cc +408 -0
  105. data/src/core/client_channel/retry_interceptor.h +157 -0
  106. data/src/core/client_channel/retry_service_config.cc +8 -10
  107. data/src/core/client_channel/retry_service_config.h +20 -9
  108. data/src/core/client_channel/retry_throttle.cc +60 -50
  109. data/src/core/client_channel/retry_throttle.h +16 -11
  110. data/src/core/client_channel/subchannel.cc +62 -99
  111. data/src/core/client_channel/subchannel.h +22 -22
  112. data/src/core/client_channel/subchannel_interface_internal.h +1 -1
  113. data/src/core/client_channel/subchannel_pool_interface.cc +1 -3
  114. data/src/core/client_channel/subchannel_pool_interface.h +2 -3
  115. data/src/core/client_channel/subchannel_stream_client.cc +20 -21
  116. data/src/core/client_channel/subchannel_stream_client.h +13 -15
  117. data/src/core/config/config_vars.cc +152 -0
  118. data/src/core/config/config_vars.h +129 -0
  119. data/src/core/config/config_vars_non_generated.cc +49 -0
  120. data/src/core/config/core_configuration.cc +111 -0
  121. data/src/core/config/core_configuration.h +242 -0
  122. data/src/core/config/load_config.cc +78 -0
  123. data/src/core/config/load_config.h +54 -0
  124. data/src/core/credentials/call/call_credentials.h +157 -0
  125. data/src/core/credentials/call/call_creds_util.cc +97 -0
  126. data/src/core/credentials/call/call_creds_util.h +43 -0
  127. data/src/core/credentials/call/composite/composite_call_credentials.cc +115 -0
  128. data/src/core/credentials/call/composite/composite_call_credentials.h +82 -0
  129. data/src/core/credentials/call/external/aws_external_account_credentials.cc +528 -0
  130. data/src/core/credentials/call/external/aws_external_account_credentials.h +117 -0
  131. data/src/core/credentials/call/external/aws_request_signer.cc +230 -0
  132. data/src/core/credentials/call/external/aws_request_signer.h +72 -0
  133. data/src/core/credentials/call/external/external_account_credentials.cc +641 -0
  134. data/src/core/credentials/call/external/external_account_credentials.h +207 -0
  135. data/src/core/credentials/call/external/file_external_account_credentials.cc +174 -0
  136. data/src/core/credentials/call/external/file_external_account_credentials.h +80 -0
  137. data/src/core/credentials/call/external/url_external_account_credentials.cc +222 -0
  138. data/src/core/credentials/call/external/url_external_account_credentials.h +73 -0
  139. data/src/core/credentials/call/gcp_service_account_identity/gcp_service_account_identity_credentials.cc +196 -0
  140. data/src/core/credentials/call/gcp_service_account_identity/gcp_service_account_identity_credentials.h +90 -0
  141. data/src/core/credentials/call/iam/iam_credentials.cc +78 -0
  142. data/src/core/credentials/call/iam/iam_credentials.h +66 -0
  143. data/src/core/credentials/call/json_util.cc +69 -0
  144. data/src/core/credentials/call/json_util.h +43 -0
  145. data/src/core/credentials/call/jwt/json_token.cc +318 -0
  146. data/src/core/credentials/call/jwt/json_token.h +78 -0
  147. data/src/core/credentials/call/jwt/jwt_credentials.cc +181 -0
  148. data/src/core/credentials/call/jwt/jwt_credentials.h +106 -0
  149. data/src/core/credentials/call/jwt/jwt_verifier.cc +988 -0
  150. data/src/core/credentials/call/jwt/jwt_verifier.h +122 -0
  151. data/src/core/credentials/call/oauth2/oauth2_credentials.cc +654 -0
  152. data/src/core/credentials/call/oauth2/oauth2_credentials.h +197 -0
  153. data/src/core/credentials/call/plugin/plugin_credentials.cc +201 -0
  154. data/src/core/credentials/call/plugin/plugin_credentials.h +123 -0
  155. data/src/core/credentials/call/token_fetcher/token_fetcher_credentials.cc +304 -0
  156. data/src/core/credentials/call/token_fetcher/token_fetcher_credentials.h +181 -0
  157. data/src/core/credentials/transport/alts/alts_credentials.cc +116 -0
  158. data/src/core/credentials/transport/alts/alts_credentials.h +127 -0
  159. data/src/core/credentials/transport/alts/alts_security_connector.cc +303 -0
  160. data/src/core/credentials/transport/alts/alts_security_connector.h +78 -0
  161. data/src/core/credentials/transport/alts/check_gcp_environment.cc +71 -0
  162. data/src/core/credentials/transport/alts/check_gcp_environment.h +57 -0
  163. data/src/core/credentials/transport/alts/check_gcp_environment_linux.cc +67 -0
  164. data/src/core/credentials/transport/alts/check_gcp_environment_no_op.cc +32 -0
  165. data/src/core/credentials/transport/alts/check_gcp_environment_windows.cc +101 -0
  166. data/src/core/credentials/transport/alts/grpc_alts_credentials_client_options.cc +123 -0
  167. data/src/core/credentials/transport/alts/grpc_alts_credentials_options.cc +45 -0
  168. data/src/core/credentials/transport/alts/grpc_alts_credentials_options.h +74 -0
  169. data/src/core/credentials/transport/alts/grpc_alts_credentials_server_options.cc +55 -0
  170. data/src/core/credentials/transport/channel_creds_registry.h +126 -0
  171. data/src/core/credentials/transport/channel_creds_registry_init.cc +245 -0
  172. data/src/core/credentials/transport/composite/composite_channel_credentials.cc +68 -0
  173. data/src/core/credentials/transport/composite/composite_channel_credentials.h +89 -0
  174. data/src/core/credentials/transport/fake/fake_credentials.cc +81 -0
  175. data/src/core/credentials/transport/fake/fake_credentials.h +92 -0
  176. data/src/core/credentials/transport/fake/fake_security_connector.cc +314 -0
  177. data/src/core/credentials/transport/fake/fake_security_connector.h +42 -0
  178. data/src/core/credentials/transport/google_default/credentials_generic.cc +38 -0
  179. data/src/core/credentials/transport/google_default/google_default_credentials.cc +442 -0
  180. data/src/core/credentials/transport/google_default/google_default_credentials.h +101 -0
  181. data/src/core/credentials/transport/insecure/insecure_credentials.cc +71 -0
  182. data/src/core/credentials/transport/insecure/insecure_credentials.h +61 -0
  183. data/src/core/credentials/transport/insecure/insecure_security_connector.cc +118 -0
  184. data/src/core/credentials/transport/insecure/insecure_security_connector.h +102 -0
  185. data/src/core/credentials/transport/local/local_credentials.cc +68 -0
  186. data/src/core/credentials/transport/local/local_credentials.h +77 -0
  187. data/src/core/credentials/transport/local/local_security_connector.cc +306 -0
  188. data/src/core/credentials/transport/local/local_security_connector.h +62 -0
  189. data/src/core/credentials/transport/security_connector.cc +123 -0
  190. data/src/core/credentials/transport/security_connector.h +197 -0
  191. data/src/core/credentials/transport/ssl/ssl_credentials.cc +474 -0
  192. data/src/core/credentials/transport/ssl/ssl_credentials.h +144 -0
  193. data/src/core/credentials/transport/ssl/ssl_security_connector.cc +403 -0
  194. data/src/core/credentials/transport/ssl/ssl_security_connector.h +81 -0
  195. data/src/core/credentials/transport/tls/certificate_provider_factory.h +69 -0
  196. data/src/core/credentials/transport/tls/certificate_provider_registry.cc +50 -0
  197. data/src/core/credentials/transport/tls/certificate_provider_registry.h +75 -0
  198. data/src/core/credentials/transport/tls/grpc_tls_certificate_distributor.cc +337 -0
  199. data/src/core/credentials/transport/tls/grpc_tls_certificate_distributor.h +215 -0
  200. data/src/core/credentials/transport/tls/grpc_tls_certificate_match.cc +84 -0
  201. data/src/core/credentials/transport/tls/grpc_tls_certificate_provider.cc +490 -0
  202. data/src/core/credentials/transport/tls/grpc_tls_certificate_provider.h +206 -0
  203. data/src/core/credentials/transport/tls/grpc_tls_certificate_verifier.cc +237 -0
  204. data/src/core/credentials/transport/tls/grpc_tls_certificate_verifier.h +169 -0
  205. data/src/core/credentials/transport/tls/grpc_tls_credentials_options.cc +161 -0
  206. data/src/core/credentials/transport/tls/grpc_tls_credentials_options.h +145 -0
  207. data/src/core/credentials/transport/tls/grpc_tls_crl_provider.cc +257 -0
  208. data/src/core/credentials/transport/tls/grpc_tls_crl_provider.h +129 -0
  209. data/src/core/credentials/transport/tls/load_system_roots.h +35 -0
  210. data/src/core/credentials/transport/tls/load_system_roots_fallback.cc +36 -0
  211. data/src/core/credentials/transport/tls/load_system_roots_supported.cc +165 -0
  212. data/src/core/credentials/transport/tls/load_system_roots_supported.h +44 -0
  213. data/src/core/credentials/transport/tls/load_system_roots_windows.cc +85 -0
  214. data/src/core/credentials/transport/tls/ssl_utils.cc +628 -0
  215. data/src/core/credentials/transport/tls/ssl_utils.h +188 -0
  216. data/src/core/credentials/transport/tls/tls_credentials.cc +170 -0
  217. data/src/core/credentials/transport/tls/tls_credentials.h +75 -0
  218. data/src/core/credentials/transport/tls/tls_security_connector.cc +816 -0
  219. data/src/core/credentials/transport/tls/tls_security_connector.h +285 -0
  220. data/src/core/credentials/transport/tls/tls_utils.cc +127 -0
  221. data/src/core/credentials/transport/tls/tls_utils.h +50 -0
  222. data/src/core/credentials/transport/transport_credentials.cc +158 -0
  223. data/src/core/credentials/transport/transport_credentials.h +182 -0
  224. data/src/core/credentials/transport/xds/xds_credentials.cc +231 -0
  225. data/src/core/credentials/transport/xds/xds_credentials.h +110 -0
  226. data/src/core/ext/filters/backend_metrics/backend_metric_filter.cc +14 -21
  227. data/src/core/ext/filters/backend_metrics/backend_metric_filter.h +7 -8
  228. data/src/core/ext/filters/census/grpc_context.cc +1 -2
  229. data/src/core/ext/filters/channel_idle/idle_filter_state.cc +1 -2
  230. data/src/core/ext/filters/channel_idle/idle_filter_state.h +0 -1
  231. data/src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc +25 -24
  232. data/src/core/ext/filters/channel_idle/legacy_channel_idle_filter.h +6 -8
  233. data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +19 -23
  234. data/src/core/ext/filters/fault_injection/fault_injection_filter.h +7 -9
  235. data/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc +4 -5
  236. data/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.h +4 -7
  237. data/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.cc +56 -25
  238. data/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.h +35 -20
  239. data/src/core/ext/filters/gcp_authentication/gcp_authentication_service_config_parser.cc +3 -4
  240. data/src/core/ext/filters/gcp_authentication/gcp_authentication_service_config_parser.h +3 -4
  241. data/src/core/ext/filters/http/client/http_client_filter.cc +13 -13
  242. data/src/core/ext/filters/http/client/http_client_filter.h +5 -6
  243. data/src/core/ext/filters/http/client_authority_filter.cc +15 -19
  244. data/src/core/ext/filters/http/client_authority_filter.h +6 -7
  245. data/src/core/ext/filters/http/http_filters_plugin.cc +1 -2
  246. data/src/core/ext/filters/http/message_compress/compression_filter.cc +43 -33
  247. data/src/core/ext/filters/http/message_compress/compression_filter.h +20 -18
  248. data/src/core/ext/filters/http/server/http_server_filter.cc +15 -15
  249. data/src/core/ext/filters/http/server/http_server_filter.h +4 -5
  250. data/src/core/ext/filters/message_size/message_size_filter.cc +27 -33
  251. data/src/core/ext/filters/message_size/message_size_filter.h +22 -25
  252. data/src/core/ext/filters/rbac/rbac_filter.cc +8 -15
  253. data/src/core/ext/filters/rbac/rbac_filter.h +6 -8
  254. data/src/core/ext/filters/rbac/rbac_service_config_parser.cc +17 -11
  255. data/src/core/ext/filters/rbac/rbac_service_config_parser.h +2 -4
  256. data/src/core/ext/filters/stateful_session/stateful_session_filter.cc +13 -13
  257. data/src/core/ext/filters/stateful_session/stateful_session_filter.h +6 -8
  258. data/src/core/ext/filters/stateful_session/stateful_session_service_config_parser.cc +3 -4
  259. data/src/core/ext/filters/stateful_session/stateful_session_service_config_parser.h +5 -7
  260. data/src/core/ext/transport/chttp2/alpn/alpn.cc +1 -2
  261. data/src/core/ext/transport/chttp2/alpn/alpn.h +1 -2
  262. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +24 -29
  263. data/src/core/ext/transport/chttp2/client/chttp2_connector.h +7 -7
  264. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +765 -189
  265. data/src/core/ext/transport/chttp2/server/chttp2_server.h +195 -15
  266. data/src/core/ext/transport/chttp2/transport/bin_decoder.cc +7 -7
  267. data/src/core/ext/transport/chttp2/transport/bin_decoder.h +2 -3
  268. data/src/core/ext/transport/chttp2/transport/bin_encoder.cc +4 -6
  269. data/src/core/ext/transport/chttp2/transport/bin_encoder.h +1 -2
  270. data/src/core/ext/transport/chttp2/transport/call_tracer_wrapper.cc +53 -0
  271. data/src/core/ext/transport/chttp2/transport/call_tracer_wrapper.h +70 -0
  272. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +277 -193
  273. data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +12 -13
  274. data/src/core/ext/transport/chttp2/transport/context_list_entry.h +4 -5
  275. data/src/core/ext/transport/chttp2/transport/decode_huff.h +4 -4
  276. data/src/core/ext/transport/chttp2/transport/flow_control.cc +4 -6
  277. data/src/core/ext/transport/chttp2/transport/flow_control.h +5 -7
  278. data/src/core/ext/transport/chttp2/transport/frame.cc +109 -70
  279. data/src/core/ext/transport/chttp2/transport/frame.h +52 -7
  280. data/src/core/ext/transport/chttp2/transport/frame_data.cc +19 -13
  281. data/src/core/ext/transport/chttp2/transport/frame_data.h +2 -4
  282. data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +11 -13
  283. data/src/core/ext/transport/chttp2/transport/frame_goaway.h +1 -2
  284. data/src/core/ext/transport/chttp2/transport/frame_ping.cc +2 -4
  285. data/src/core/ext/transport/chttp2/transport/frame_ping.h +1 -2
  286. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +10 -8
  287. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +1 -2
  288. data/src/core/ext/transport/chttp2/transport/frame_security.cc +80 -0
  289. data/src/core/ext/transport/chttp2/transport/frame_security.h +44 -0
  290. data/src/core/ext/transport/chttp2/transport/frame_settings.cc +28 -12
  291. data/src/core/ext/transport/chttp2/transport/frame_settings.h +3 -4
  292. data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +21 -3
  293. data/src/core/ext/transport/chttp2/transport/frame_window_update.h +1 -2
  294. data/src/core/ext/transport/chttp2/transport/hpack_constants.h +2 -2
  295. data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +10 -11
  296. data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +8 -10
  297. data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.cc +2 -2
  298. data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.h +4 -5
  299. data/src/core/ext/transport/chttp2/transport/hpack_parse_result.cc +2 -4
  300. data/src/core/ext/transport/chttp2/transport/hpack_parse_result.h +7 -9
  301. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +38 -39
  302. data/src/core/ext/transport/chttp2/transport/hpack_parser.h +10 -13
  303. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +1 -3
  304. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.h +4 -6
  305. data/src/core/ext/transport/chttp2/transport/http2_settings.cc +22 -12
  306. data/src/core/ext/transport/chttp2/transport/http2_settings.h +14 -8
  307. data/src/core/ext/transport/chttp2/transport/http2_status.h +52 -0
  308. data/src/core/ext/transport/chttp2/transport/internal.h +58 -112
  309. data/src/core/ext/transport/chttp2/transport/legacy_frame.h +1 -0
  310. data/src/core/ext/transport/chttp2/transport/parsing.cc +90 -42
  311. data/src/core/ext/transport/chttp2/transport/ping_abuse_policy.cc +4 -4
  312. data/src/core/ext/transport/chttp2/transport/ping_abuse_policy.h +3 -3
  313. data/src/core/ext/transport/chttp2/transport/ping_callbacks.cc +4 -4
  314. data/src/core/ext/transport/chttp2/transport/ping_callbacks.h +5 -7
  315. data/src/core/ext/transport/chttp2/transport/ping_rate_policy.cc +6 -7
  316. data/src/core/ext/transport/chttp2/transport/ping_rate_policy.h +4 -6
  317. data/src/core/ext/transport/chttp2/transport/stream_lists.cc +5 -3
  318. data/src/core/ext/transport/chttp2/transport/stream_lists.h +65 -0
  319. data/src/core/ext/transport/chttp2/transport/varint.cc +6 -6
  320. data/src/core/ext/transport/chttp2/transport/varint.h +1 -2
  321. data/src/core/ext/transport/chttp2/transport/write_size_policy.cc +2 -2
  322. data/src/core/ext/transport/chttp2/transport/write_size_policy.h +3 -4
  323. data/src/core/ext/transport/chttp2/transport/writing.cc +40 -45
  324. data/src/core/ext/transport/inproc/inproc_transport.cc +8 -11
  325. data/src/core/ext/transport/inproc/legacy_inproc_transport.cc +28 -25
  326. data/src/core/ext/upb-gen/envoy/admin/v3/certs.upb.h +35 -4
  327. data/src/core/ext/upb-gen/envoy/admin/v3/certs.upb_minitable.c +25 -18
  328. data/src/core/ext/upb-gen/envoy/admin/v3/certs.upb_minitable.h +10 -4
  329. data/src/core/ext/upb-gen/envoy/admin/v3/clusters.upb.h +101 -69
  330. data/src/core/ext/upb-gen/envoy/admin/v3/clusters.upb_minitable.c +52 -46
  331. data/src/core/ext/upb-gen/envoy/admin/v3/clusters.upb_minitable.h +9 -4
  332. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump.upb.h +39 -4
  333. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump.upb_minitable.c +29 -22
  334. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump.upb_minitable.h +10 -4
  335. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump_shared.upb.h +154 -19
  336. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump_shared.upb_minitable.c +111 -90
  337. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump_shared.upb_minitable.h +24 -4
  338. data/src/core/ext/upb-gen/envoy/admin/v3/init_dump.upb.h +10 -4
  339. data/src/core/ext/upb-gen/envoy/admin/v3/init_dump.upb_minitable.c +8 -4
  340. data/src/core/ext/upb-gen/envoy/admin/v3/init_dump.upb_minitable.h +7 -4
  341. data/src/core/ext/upb-gen/envoy/admin/v3/listeners.upb.h +17 -4
  342. data/src/core/ext/upb-gen/envoy/admin/v3/listeners.upb_minitable.c +12 -8
  343. data/src/core/ext/upb-gen/envoy/admin/v3/listeners.upb_minitable.h +7 -4
  344. data/src/core/ext/upb-gen/envoy/admin/v3/memory.upb.h +5 -4
  345. data/src/core/ext/upb-gen/envoy/admin/v3/memory.upb_minitable.c +4 -1
  346. data/src/core/ext/upb-gen/envoy/admin/v3/memory.upb_minitable.h +6 -4
  347. data/src/core/ext/upb-gen/envoy/admin/v3/metrics.upb.h +11 -10
  348. data/src/core/ext/upb-gen/envoy/admin/v3/metrics.upb_minitable.c +8 -5
  349. data/src/core/ext/upb-gen/envoy/admin/v3/metrics.upb_minitable.h +6 -4
  350. data/src/core/ext/upb-gen/envoy/admin/v3/mutex_stats.upb.h +5 -4
  351. data/src/core/ext/upb-gen/envoy/admin/v3/mutex_stats.upb_minitable.c +4 -1
  352. data/src/core/ext/upb-gen/envoy/admin/v3/mutex_stats.upb_minitable.h +6 -4
  353. data/src/core/ext/upb-gen/envoy/admin/v3/server_info.upb.h +165 -134
  354. data/src/core/ext/upb-gen/envoy/admin/v3/server_info.upb_minitable.c +88 -83
  355. data/src/core/ext/upb-gen/envoy/admin/v3/server_info.upb_minitable.h +7 -4
  356. data/src/core/ext/upb-gen/envoy/admin/v3/tap.upb.h +7 -4
  357. data/src/core/ext/upb-gen/envoy/admin/v3/tap.upb_minitable.c +7 -4
  358. data/src/core/ext/upb-gen/envoy/admin/v3/tap.upb_minitable.h +6 -4
  359. data/src/core/ext/upb-gen/envoy/annotations/deprecation.upb.h +5 -4
  360. data/src/core/ext/upb-gen/envoy/annotations/deprecation.upb_minitable.c +7 -1
  361. data/src/core/ext/upb-gen/envoy/annotations/deprecation.upb_minitable.h +5 -4
  362. data/src/core/ext/upb-gen/envoy/annotations/resource.upb.h +7 -6
  363. data/src/core/ext/upb-gen/envoy/annotations/resource.upb_minitable.c +10 -6
  364. data/src/core/ext/upb-gen/envoy/annotations/resource.upb_minitable.h +6 -4
  365. data/src/core/ext/upb-gen/envoy/config/accesslog/v3/accesslog.upb.h +87 -30
  366. data/src/core/ext/upb-gen/envoy/config/accesslog/v3/accesslog.upb_minitable.c +73 -55
  367. data/src/core/ext/upb-gen/envoy/config/accesslog/v3/accesslog.upb_minitable.h +21 -4
  368. data/src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb.h +397 -220
  369. data/src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb_minitable.c +197 -172
  370. data/src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb_minitable.h +28 -4
  371. data/src/core/ext/upb-gen/envoy/config/cluster/v3/circuit_breaker.upb.h +58 -31
  372. data/src/core/ext/upb-gen/envoy/config/cluster/v3/circuit_breaker.upb_minitable.c +31 -26
  373. data/src/core/ext/upb-gen/envoy/config/cluster/v3/circuit_breaker.upb_minitable.h +8 -4
  374. data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb.h +535 -326
  375. data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb_minitable.c +259 -230
  376. data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb_minitable.h +30 -4
  377. data/src/core/ext/upb-gen/envoy/config/cluster/v3/filter.upb.h +9 -4
  378. data/src/core/ext/upb-gen/envoy/config/cluster/v3/filter.upb_minitable.c +8 -5
  379. data/src/core/ext/upb-gen/envoy/config/cluster/v3/filter.upb_minitable.h +6 -4
  380. data/src/core/ext/upb-gen/envoy/config/cluster/v3/outlier_detection.upb.h +114 -62
  381. data/src/core/ext/upb-gen/envoy/config/cluster/v3/outlier_detection.upb_minitable.c +44 -41
  382. data/src/core/ext/upb-gen/envoy/config/cluster/v3/outlier_detection.upb_minitable.h +6 -4
  383. data/src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb.h +116 -26
  384. data/src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb_minitable.c +83 -66
  385. data/src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb_minitable.h +20 -4
  386. data/src/core/ext/upb-gen/envoy/config/core/v3/address.upb.h +73 -33
  387. data/src/core/ext/upb-gen/envoy/config/core/v3/address.upb_minitable.c +52 -42
  388. data/src/core/ext/upb-gen/envoy/config/core/v3/address.upb_minitable.h +13 -4
  389. data/src/core/ext/upb-gen/envoy/config/core/v3/backoff.upb.h +9 -4
  390. data/src/core/ext/upb-gen/envoy/config/core/v3/backoff.upb_minitable.c +8 -5
  391. data/src/core/ext/upb-gen/envoy/config/core/v3/backoff.upb_minitable.h +6 -4
  392. data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb.h +405 -190
  393. data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb_minitable.c +192 -135
  394. data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb_minitable.h +36 -4
  395. data/src/core/ext/upb-gen/envoy/config/core/v3/config_source.upb.h +100 -58
  396. data/src/core/ext/upb-gen/envoy/config/core/v3/config_source.upb_minitable.c +57 -48
  397. data/src/core/ext/upb-gen/envoy/config/core/v3/config_source.upb_minitable.h +12 -4
  398. data/src/core/ext/upb-gen/envoy/config/core/v3/event_service_config.upb.h +7 -4
  399. data/src/core/ext/upb-gen/envoy/config/core/v3/event_service_config.upb_minitable.c +7 -4
  400. data/src/core/ext/upb-gen/envoy/config/core/v3/event_service_config.upb_minitable.h +6 -4
  401. data/src/core/ext/upb-gen/envoy/config/core/v3/extension.upb.h +7 -4
  402. data/src/core/ext/upb-gen/envoy/config/core/v3/extension.upb_minitable.c +7 -4
  403. data/src/core/ext/upb-gen/envoy/config/core/v3/extension.upb_minitable.h +6 -4
  404. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_method_list.upb.h +10 -4
  405. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_method_list.upb_minitable.c +8 -4
  406. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_method_list.upb_minitable.h +7 -4
  407. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb.h +128 -63
  408. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb_minitable.c +76 -60
  409. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb_minitable.h +19 -4
  410. data/src/core/ext/upb-gen/envoy/config/core/v3/health_check.upb.h +192 -104
  411. data/src/core/ext/upb-gen/envoy/config/core/v3/health_check.upb_minitable.c +89 -78
  412. data/src/core/ext/upb-gen/envoy/config/core/v3/health_check.upb_minitable.h +14 -4
  413. data/src/core/ext/upb-gen/envoy/config/core/v3/http_service.upb.h +12 -4
  414. data/src/core/ext/upb-gen/envoy/config/core/v3/http_service.upb_minitable.c +8 -5
  415. data/src/core/ext/upb-gen/envoy/config/core/v3/http_service.upb_minitable.h +6 -4
  416. data/src/core/ext/upb-gen/envoy/config/core/v3/http_uri.upb.h +19 -16
  417. data/src/core/ext/upb-gen/envoy/config/core/v3/http_uri.upb_minitable.c +12 -9
  418. data/src/core/ext/upb-gen/envoy/config/core/v3/http_uri.upb_minitable.h +6 -4
  419. data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb.h +304 -118
  420. data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb_minitable.c +138 -114
  421. data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb_minitable.h +21 -4
  422. data/src/core/ext/upb-gen/envoy/config/core/v3/proxy_protocol.upb.h +7 -4
  423. data/src/core/ext/upb-gen/envoy/config/core/v3/proxy_protocol.upb_minitable.c +8 -4
  424. data/src/core/ext/upb-gen/envoy/config/core/v3/proxy_protocol.upb_minitable.h +7 -4
  425. data/src/core/ext/upb-gen/envoy/config/core/v3/resolver.upb.h +12 -4
  426. data/src/core/ext/upb-gen/envoy/config/core/v3/resolver.upb_minitable.c +9 -5
  427. data/src/core/ext/upb-gen/envoy/config/core/v3/resolver.upb_minitable.h +7 -4
  428. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_cmsg_headers.upb.h +151 -0
  429. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_cmsg_headers.upb_minitable.c +60 -0
  430. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_cmsg_headers.upb_minitable.h +32 -0
  431. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb.h +235 -22
  432. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb_minitable.c +71 -19
  433. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb_minitable.h +13 -4
  434. data/src/core/ext/upb-gen/envoy/config/core/v3/substitution_format_string.upb.h +43 -31
  435. data/src/core/ext/upb-gen/envoy/config/core/v3/substitution_format_string.upb_minitable.c +21 -17
  436. data/src/core/ext/upb-gen/envoy/config/core/v3/substitution_format_string.upb_minitable.h +7 -4
  437. data/src/core/ext/upb-gen/envoy/config/core/v3/udp_socket_config.upb.h +9 -4
  438. data/src/core/ext/upb-gen/envoy/config/core/v3/udp_socket_config.upb_minitable.c +8 -5
  439. data/src/core/ext/upb-gen/envoy/config/core/v3/udp_socket_config.upb_minitable.h +6 -4
  440. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint.upb.h +45 -16
  441. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint.upb_minitable.c +25 -19
  442. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint.upb_minitable.h +9 -4
  443. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb.h +89 -45
  444. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb_minitable.c +57 -48
  445. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb_minitable.h +12 -4
  446. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/load_report.upb.h +68 -28
  447. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/load_report.upb_minitable.c +36 -28
  448. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/load_report.upb_minitable.h +11 -4
  449. data/src/core/ext/upb-gen/envoy/config/listener/v3/api_listener.upb.h +7 -4
  450. data/src/core/ext/upb-gen/envoy/config/listener/v3/api_listener.upb_minitable.c +7 -4
  451. data/src/core/ext/upb-gen/envoy/config/listener/v3/api_listener.upb_minitable.h +6 -4
  452. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb.h +222 -143
  453. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb_minitable.c +99 -87
  454. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb_minitable.h +15 -4
  455. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb.h +127 -164
  456. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb_minitable.c +67 -79
  457. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb_minitable.h +11 -5
  458. data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb.h +112 -4
  459. data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb_minitable.c +41 -16
  460. data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb_minitable.h +6 -4
  461. data/src/core/ext/upb-gen/envoy/config/listener/v3/udp_listener_config.upb.h +11 -4
  462. data/src/core/ext/upb-gen/envoy/config/listener/v3/udp_listener_config.upb_minitable.c +10 -6
  463. data/src/core/ext/upb-gen/envoy/config/listener/v3/udp_listener_config.upb_minitable.h +7 -4
  464. data/src/core/ext/upb-gen/envoy/config/metrics/v3/metrics_service.upb.h +15 -10
  465. data/src/core/ext/upb-gen/envoy/config/metrics/v3/metrics_service.upb_minitable.c +12 -9
  466. data/src/core/ext/upb-gen/envoy/config/metrics/v3/metrics_service.upb_minitable.h +6 -4
  467. data/src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb.h +66 -37
  468. data/src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb_minitable.c +48 -38
  469. data/src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb_minitable.h +13 -4
  470. data/src/core/ext/upb-gen/envoy/config/overload/v3/overload.upb.h +53 -5
  471. data/src/core/ext/upb-gen/envoy/config/overload/v3/overload.upb_minitable.c +41 -29
  472. data/src/core/ext/upb-gen/envoy/config/overload/v3/overload.upb_minitable.h +15 -4
  473. data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb.h +258 -16
  474. data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb_minitable.c +108 -65
  475. data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb_minitable.h +18 -4
  476. data/src/core/ext/upb-gen/envoy/config/route/v3/route.upb.h +102 -56
  477. data/src/core/ext/upb-gen/envoy/config/route/v3/route.upb_minitable.c +34 -29
  478. data/src/core/ext/upb-gen/envoy/config/route/v3/route.upb_minitable.h +8 -4
  479. data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb.h +1289 -615
  480. data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb_minitable.c +582 -465
  481. data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb_minitable.h +67 -4
  482. data/src/core/ext/upb-gen/envoy/config/route/v3/scoped_route.upb.h +27 -17
  483. data/src/core/ext/upb-gen/envoy/config/route/v3/scoped_route.upb_minitable.c +17 -12
  484. data/src/core/ext/upb-gen/envoy/config/route/v3/scoped_route.upb_minitable.h +8 -4
  485. data/src/core/ext/upb-gen/envoy/config/tap/v3/common.upb.h +72 -7
  486. data/src/core/ext/upb-gen/envoy/config/tap/v3/common.upb_minitable.c +61 -47
  487. data/src/core/ext/upb-gen/envoy/config/tap/v3/common.upb_minitable.h +17 -4
  488. data/src/core/ext/upb-gen/envoy/config/trace/v3/datadog.upb.h +9 -4
  489. data/src/core/ext/upb-gen/envoy/config/trace/v3/datadog.upb_minitable.c +11 -7
  490. data/src/core/ext/upb-gen/envoy/config/trace/v3/datadog.upb_minitable.h +7 -4
  491. data/src/core/ext/upb-gen/envoy/config/trace/v3/dynamic_ot.upb.h +7 -4
  492. data/src/core/ext/upb-gen/envoy/config/trace/v3/dynamic_ot.upb_minitable.c +7 -4
  493. data/src/core/ext/upb-gen/envoy/config/trace/v3/dynamic_ot.upb_minitable.h +6 -4
  494. data/src/core/ext/upb-gen/envoy/config/trace/v3/http_tracer.upb.h +9 -4
  495. data/src/core/ext/upb-gen/envoy/config/trace/v3/http_tracer.upb_minitable.c +11 -7
  496. data/src/core/ext/upb-gen/envoy/config/trace/v3/http_tracer.upb_minitable.h +7 -4
  497. data/src/core/ext/upb-gen/envoy/config/trace/v3/lightstep.upb.h +7 -4
  498. data/src/core/ext/upb-gen/envoy/config/trace/v3/lightstep.upb_minitable.c +7 -4
  499. data/src/core/ext/upb-gen/envoy/config/trace/v3/lightstep.upb_minitable.h +6 -4
  500. data/src/core/ext/upb-gen/envoy/config/trace/v3/opentelemetry.upb.h +23 -11
  501. data/src/core/ext/upb-gen/envoy/config/trace/v3/opentelemetry.upb_minitable.c +13 -10
  502. data/src/core/ext/upb-gen/envoy/config/trace/v3/opentelemetry.upb_minitable.h +6 -4
  503. data/src/core/ext/upb-gen/envoy/config/trace/v3/service.upb.h +7 -4
  504. data/src/core/ext/upb-gen/envoy/config/trace/v3/service.upb_minitable.c +7 -4
  505. data/src/core/ext/upb-gen/envoy/config/trace/v3/service.upb_minitable.h +6 -4
  506. data/src/core/ext/upb-gen/envoy/config/trace/v3/skywalking.upb.h +26 -19
  507. data/src/core/ext/upb-gen/envoy/config/trace/v3/skywalking.upb_minitable.c +19 -15
  508. data/src/core/ext/upb-gen/envoy/config/trace/v3/skywalking.upb_minitable.h +7 -4
  509. data/src/core/ext/upb-gen/envoy/config/trace/v3/trace.upb.h +5 -6
  510. data/src/core/ext/upb-gen/envoy/config/trace/v3/trace.upb_minitable.c +3 -2
  511. data/src/core/ext/upb-gen/envoy/config/trace/v3/trace.upb_minitable.h +5 -5
  512. data/src/core/ext/upb-gen/envoy/config/trace/v3/xray.upb.h +20 -11
  513. data/src/core/ext/upb-gen/envoy/config/trace/v3/xray.upb_minitable.c +16 -12
  514. data/src/core/ext/upb-gen/envoy/config/trace/v3/xray.upb_minitable.h +7 -4
  515. data/src/core/ext/upb-gen/envoy/config/trace/v3/zipkin.upb.h +23 -20
  516. data/src/core/ext/upb-gen/envoy/config/trace/v3/zipkin.upb_minitable.c +17 -14
  517. data/src/core/ext/upb-gen/envoy/config/trace/v3/zipkin.upb_minitable.h +6 -4
  518. data/src/core/ext/upb-gen/envoy/data/accesslog/v3/accesslog.upb.h +402 -310
  519. data/src/core/ext/upb-gen/envoy/data/accesslog/v3/accesslog.upb_minitable.c +168 -150
  520. data/src/core/ext/upb-gen/envoy/data/accesslog/v3/accesslog.upb_minitable.h +21 -4
  521. data/src/core/ext/upb-gen/envoy/extensions/clusters/aggregate/v3/cluster.upb.h +5 -4
  522. data/src/core/ext/upb-gen/envoy/extensions/clusters/aggregate/v3/cluster.upb_minitable.c +4 -1
  523. data/src/core/ext/upb-gen/envoy/extensions/clusters/aggregate/v3/cluster.upb_minitable.h +6 -4
  524. data/src/core/ext/upb-gen/envoy/extensions/filters/common/fault/v3/fault.upb.h +17 -4
  525. data/src/core/ext/upb-gen/envoy/extensions/filters/common/fault/v3/fault.upb_minitable.c +18 -11
  526. data/src/core/ext/upb-gen/envoy/extensions/filters/common/fault/v3/fault.upb_minitable.h +10 -4
  527. data/src/core/ext/upb-gen/envoy/extensions/filters/http/fault/v3/fault.upb.h +85 -65
  528. data/src/core/ext/upb-gen/envoy/extensions/filters/http/fault/v3/fault.upb_minitable.c +45 -40
  529. data/src/core/ext/upb-gen/envoy/extensions/filters/http/fault/v3/fault.upb_minitable.h +8 -4
  530. data/src/core/ext/upb-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upb.h +36 -23
  531. data/src/core/ext/upb-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upb_minitable.c +23 -17
  532. data/src/core/ext/upb-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upb_minitable.h +9 -4
  533. data/src/core/ext/upb-gen/envoy/extensions/filters/http/rbac/v3/rbac.upb.h +40 -29
  534. data/src/core/ext/upb-gen/envoy/extensions/filters/http/rbac/v3/rbac.upb_minitable.c +23 -19
  535. data/src/core/ext/upb-gen/envoy/extensions/filters/http/rbac/v3/rbac.upb_minitable.h +7 -4
  536. data/src/core/ext/upb-gen/envoy/extensions/filters/http/router/v3/router.upb.h +55 -38
  537. data/src/core/ext/upb-gen/envoy/extensions/filters/http/router/v3/router.upb_minitable.c +23 -19
  538. data/src/core/ext/upb-gen/envoy/extensions/filters/http/router/v3/router.upb_minitable.h +7 -4
  539. data/src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.h +12 -7
  540. data/src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb_minitable.c +13 -9
  541. data/src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb_minitable.h +7 -4
  542. data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +488 -295
  543. data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb_minitable.c +240 -216
  544. data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb_minitable.h +26 -4
  545. data/src/core/ext/upb-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.h +7 -4
  546. data/src/core/ext/upb-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb_minitable.c +7 -4
  547. data/src/core/ext/upb-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb_minitable.h +6 -4
  548. 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
  549. 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
  550. 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
  551. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb.h +24 -7
  552. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb_minitable.c +25 -18
  553. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb_minitable.h +10 -4
  554. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb.h +5 -4
  555. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb_minitable.c +4 -1
  556. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb_minitable.h +6 -4
  557. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.h +38 -27
  558. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb_minitable.c +19 -16
  559. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb_minitable.h +6 -4
  560. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.h +7 -4
  561. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb_minitable.c +7 -4
  562. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb_minitable.h +6 -4
  563. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upb.h +105 -0
  564. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upb_minitable.c +51 -0
  565. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upb_minitable.h +32 -0
  566. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/cert.upb.h +5 -4
  567. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/cert.upb_minitable.c +3 -1
  568. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/cert.upb_minitable.h +5 -4
  569. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb.h +143 -88
  570. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb_minitable.c +70 -60
  571. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb_minitable.h +13 -4
  572. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +17 -4
  573. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/secret.upb_minitable.c +18 -13
  574. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/secret.upb_minitable.h +8 -4
  575. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +229 -78
  576. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb_minitable.c +98 -80
  577. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb_minitable.h +12 -4
  578. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.h +49 -11
  579. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb_minitable.c +17 -11
  580. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb_minitable.h +7 -4
  581. data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb.h +66 -28
  582. data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb_minitable.c +37 -31
  583. data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb_minitable.h +9 -4
  584. data/src/core/ext/upb-gen/envoy/service/discovery/v3/ads.upb.h +5 -4
  585. data/src/core/ext/upb-gen/envoy/service/discovery/v3/ads.upb_minitable.c +4 -1
  586. data/src/core/ext/upb-gen/envoy/service/discovery/v3/ads.upb_minitable.h +6 -4
  587. data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb.h +440 -127
  588. data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb_minitable.c +137 -96
  589. data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb_minitable.h +21 -4
  590. data/src/core/ext/upb-gen/envoy/service/load_stats/v3/lrs.upb.h +20 -10
  591. data/src/core/ext/upb-gen/envoy/service/load_stats/v3/lrs.upb_minitable.c +14 -10
  592. data/src/core/ext/upb-gen/envoy/service/load_stats/v3/lrs.upb_minitable.h +7 -4
  593. data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb.h +107 -65
  594. data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb_minitable.c +58 -51
  595. data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb_minitable.h +10 -4
  596. data/src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb.h +14 -11
  597. data/src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb_minitable.c +10 -7
  598. data/src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb_minitable.h +6 -4
  599. data/src/core/ext/upb-gen/envoy/type/http/v3/path_transformation.upb.h +14 -4
  600. data/src/core/ext/upb-gen/envoy/type/http/v3/path_transformation.upb_minitable.c +14 -8
  601. data/src/core/ext/upb-gen/envoy/type/http/v3/path_transformation.upb_minitable.h +9 -4
  602. data/src/core/ext/upb-gen/envoy/type/matcher/v3/address.upb.h +142 -0
  603. data/src/core/ext/upb-gen/envoy/type/matcher/v3/address.upb_minitable.c +55 -0
  604. data/src/core/ext/upb-gen/envoy/type/matcher/v3/address.upb_minitable.h +32 -0
  605. data/src/core/ext/upb-gen/envoy/type/matcher/v3/filter_state.upb.h +40 -4
  606. data/src/core/ext/upb-gen/envoy/type/matcher/v3/filter_state.upb_minitable.c +13 -7
  607. data/src/core/ext/upb-gen/envoy/type/matcher/v3/filter_state.upb_minitable.h +6 -4
  608. data/src/core/ext/upb-gen/envoy/type/matcher/v3/http_inputs.upb.h +5 -4
  609. data/src/core/ext/upb-gen/envoy/type/matcher/v3/http_inputs.upb_minitable.c +8 -1
  610. data/src/core/ext/upb-gen/envoy/type/matcher/v3/http_inputs.upb_minitable.h +10 -4
  611. data/src/core/ext/upb-gen/envoy/type/matcher/v3/metadata.upb.h +18 -10
  612. data/src/core/ext/upb-gen/envoy/type/matcher/v3/metadata.upb_minitable.c +11 -7
  613. data/src/core/ext/upb-gen/envoy/type/matcher/v3/metadata.upb_minitable.h +7 -4
  614. data/src/core/ext/upb-gen/envoy/type/matcher/v3/node.upb.h +12 -4
  615. data/src/core/ext/upb-gen/envoy/type/matcher/v3/node.upb_minitable.c +8 -5
  616. data/src/core/ext/upb-gen/envoy/type/matcher/v3/node.upb_minitable.h +6 -4
  617. data/src/core/ext/upb-gen/envoy/type/matcher/v3/number.upb.h +7 -4
  618. data/src/core/ext/upb-gen/envoy/type/matcher/v3/number.upb_minitable.c +7 -4
  619. data/src/core/ext/upb-gen/envoy/type/matcher/v3/number.upb_minitable.h +6 -4
  620. data/src/core/ext/upb-gen/envoy/type/matcher/v3/path.upb.h +7 -4
  621. data/src/core/ext/upb-gen/envoy/type/matcher/v3/path.upb_minitable.c +7 -4
  622. data/src/core/ext/upb-gen/envoy/type/matcher/v3/path.upb_minitable.h +6 -4
  623. data/src/core/ext/upb-gen/envoy/type/matcher/v3/regex.upb.h +18 -11
  624. data/src/core/ext/upb-gen/envoy/type/matcher/v3/regex.upb_minitable.c +18 -13
  625. data/src/core/ext/upb-gen/envoy/type/matcher/v3/regex.upb_minitable.h +8 -4
  626. data/src/core/ext/upb-gen/envoy/type/matcher/v3/status_code_input.upb.h +5 -4
  627. data/src/core/ext/upb-gen/envoy/type/matcher/v3/status_code_input.upb_minitable.c +5 -1
  628. data/src/core/ext/upb-gen/envoy/type/matcher/v3/status_code_input.upb_minitable.h +7 -4
  629. data/src/core/ext/upb-gen/envoy/type/matcher/v3/string.upb.h +14 -4
  630. data/src/core/ext/upb-gen/envoy/type/matcher/v3/string.upb_minitable.c +12 -8
  631. data/src/core/ext/upb-gen/envoy/type/matcher/v3/string.upb_minitable.h +7 -4
  632. data/src/core/ext/upb-gen/envoy/type/matcher/v3/struct.upb.h +12 -4
  633. data/src/core/ext/upb-gen/envoy/type/matcher/v3/struct.upb_minitable.c +9 -5
  634. data/src/core/ext/upb-gen/envoy/type/matcher/v3/struct.upb_minitable.h +7 -4
  635. data/src/core/ext/upb-gen/envoy/type/matcher/v3/value.upb.h +22 -4
  636. data/src/core/ext/upb-gen/envoy/type/matcher/v3/value.upb_minitable.c +20 -14
  637. data/src/core/ext/upb-gen/envoy/type/matcher/v3/value.upb_minitable.h +9 -4
  638. data/src/core/ext/upb-gen/envoy/type/metadata/v3/metadata.upb.h +18 -4
  639. data/src/core/ext/upb-gen/envoy/type/metadata/v3/metadata.upb_minitable.c +19 -10
  640. data/src/core/ext/upb-gen/envoy/type/metadata/v3/metadata.upb_minitable.h +12 -4
  641. data/src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb.h +28 -15
  642. data/src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb_minitable.c +22 -15
  643. data/src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb_minitable.h +10 -4
  644. data/src/core/ext/upb-gen/envoy/type/v3/hash_policy.upb.h +9 -4
  645. data/src/core/ext/upb-gen/envoy/type/v3/hash_policy.upb_minitable.c +10 -5
  646. data/src/core/ext/upb-gen/envoy/type/v3/hash_policy.upb_minitable.h +8 -4
  647. data/src/core/ext/upb-gen/envoy/type/v3/http.upb.h +5 -4
  648. data/src/core/ext/upb-gen/envoy/type/v3/http.upb_minitable.c +3 -1
  649. data/src/core/ext/upb-gen/envoy/type/v3/http.upb_minitable.h +5 -4
  650. data/src/core/ext/upb-gen/envoy/type/v3/http_status.upb.h +5 -4
  651. data/src/core/ext/upb-gen/envoy/type/v3/http_status.upb_minitable.c +4 -1
  652. data/src/core/ext/upb-gen/envoy/type/v3/http_status.upb_minitable.h +6 -4
  653. data/src/core/ext/upb-gen/envoy/type/v3/percent.upb.h +5 -4
  654. data/src/core/ext/upb-gen/envoy/type/v3/percent.upb_minitable.c +5 -1
  655. data/src/core/ext/upb-gen/envoy/type/v3/percent.upb_minitable.h +7 -4
  656. data/src/core/ext/upb-gen/envoy/type/v3/range.upb.h +5 -4
  657. data/src/core/ext/upb-gen/envoy/type/v3/range.upb_minitable.c +6 -1
  658. data/src/core/ext/upb-gen/envoy/type/v3/range.upb_minitable.h +8 -4
  659. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_strategy.upb.h +9 -4
  660. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_strategy.upb_minitable.c +9 -5
  661. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_strategy.upb_minitable.h +7 -4
  662. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_unit.upb.h +5 -4
  663. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_unit.upb_minitable.c +3 -1
  664. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_unit.upb_minitable.h +5 -4
  665. data/src/core/ext/upb-gen/envoy/type/v3/semantic_version.upb.h +5 -4
  666. data/src/core/ext/upb-gen/envoy/type/v3/semantic_version.upb_minitable.c +4 -1
  667. data/src/core/ext/upb-gen/envoy/type/v3/semantic_version.upb_minitable.h +6 -4
  668. data/src/core/ext/upb-gen/envoy/type/v3/token_bucket.upb.h +9 -4
  669. data/src/core/ext/upb-gen/envoy/type/v3/token_bucket.upb_minitable.c +8 -5
  670. data/src/core/ext/upb-gen/envoy/type/v3/token_bucket.upb_minitable.h +6 -4
  671. data/src/core/ext/upb-gen/google/api/annotations.upb.h +7 -6
  672. data/src/core/ext/upb-gen/google/api/annotations.upb_minitable.c +5 -2
  673. data/src/core/ext/upb-gen/google/api/annotations.upb_minitable.h +5 -4
  674. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb.h +168 -89
  675. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb_minitable.c +89 -74
  676. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb_minitable.h +18 -4
  677. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb.h +162 -84
  678. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb_minitable.c +98 -80
  679. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb_minitable.h +21 -4
  680. data/src/core/ext/upb-gen/google/api/http.upb.h +69 -55
  681. data/src/core/ext/upb-gen/google/api/http.upb_minitable.c +35 -30
  682. data/src/core/ext/upb-gen/google/api/http.upb_minitable.h +8 -4
  683. data/src/core/ext/upb-gen/google/api/httpbody.upb.h +10 -4
  684. data/src/core/ext/upb-gen/google/api/httpbody.upb_minitable.c +7 -4
  685. data/src/core/ext/upb-gen/google/api/httpbody.upb_minitable.h +6 -4
  686. data/src/core/ext/upb-gen/google/protobuf/any.upb.h +6 -4
  687. data/src/core/ext/upb-gen/google/protobuf/any.upb_minitable.c +4 -1
  688. data/src/core/ext/upb-gen/google/protobuf/any.upb_minitable.h +6 -4
  689. data/src/core/ext/upb-gen/google/protobuf/descriptor.upb.h +529 -305
  690. data/src/core/ext/upb-gen/google/protobuf/descriptor.upb_minitable.c +337 -290
  691. data/src/core/ext/upb-gen/google/protobuf/descriptor.upb_minitable.h +56 -21
  692. data/src/core/ext/upb-gen/google/protobuf/duration.upb.h +6 -4
  693. data/src/core/ext/upb-gen/google/protobuf/duration.upb_minitable.c +4 -1
  694. data/src/core/ext/upb-gen/google/protobuf/duration.upb_minitable.h +6 -4
  695. data/src/core/ext/upb-gen/google/protobuf/empty.upb.h +6 -4
  696. data/src/core/ext/upb-gen/google/protobuf/empty.upb_minitable.c +4 -1
  697. data/src/core/ext/upb-gen/google/protobuf/empty.upb_minitable.h +6 -4
  698. data/src/core/ext/upb-gen/google/protobuf/struct.upb.h +34 -13
  699. data/src/core/ext/upb-gen/google/protobuf/struct.upb_minitable.c +20 -14
  700. data/src/core/ext/upb-gen/google/protobuf/struct.upb_minitable.h +9 -4
  701. data/src/core/ext/upb-gen/google/protobuf/timestamp.upb.h +6 -4
  702. data/src/core/ext/upb-gen/google/protobuf/timestamp.upb_minitable.c +4 -1
  703. data/src/core/ext/upb-gen/google/protobuf/timestamp.upb_minitable.h +6 -4
  704. data/src/core/ext/upb-gen/google/protobuf/wrappers.upb.h +6 -4
  705. data/src/core/ext/upb-gen/google/protobuf/wrappers.upb_minitable.c +12 -1
  706. data/src/core/ext/upb-gen/google/protobuf/wrappers.upb_minitable.h +14 -4
  707. data/src/core/ext/upb-gen/google/rpc/status.upb.h +10 -4
  708. data/src/core/ext/upb-gen/google/rpc/status.upb_minitable.c +7 -4
  709. data/src/core/ext/upb-gen/google/rpc/status.upb_minitable.h +6 -4
  710. data/src/core/ext/upb-gen/src/proto/grpc/gcp/altscontext.upb.h +21 -13
  711. data/src/core/ext/upb-gen/src/proto/grpc/gcp/altscontext.upb_minitable.c +9 -5
  712. data/src/core/ext/upb-gen/src/proto/grpc/gcp/altscontext.upb_minitable.h +7 -4
  713. data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb.h +170 -114
  714. data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb_minitable.c +76 -62
  715. data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb_minitable.h +17 -4
  716. data/src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb.h +10 -4
  717. data/src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb_minitable.c +9 -5
  718. data/src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb_minitable.h +7 -4
  719. data/src/core/ext/upb-gen/src/proto/grpc/health/v1/health.upb.h +6 -4
  720. data/src/core/ext/upb-gen/src/proto/grpc/health/v1/health.upb_minitable.c +5 -1
  721. data/src/core/ext/upb-gen/src/proto/grpc/health/v1/health.upb_minitable.h +7 -4
  722. data/src/core/ext/upb-gen/src/proto/grpc/lb/v1/load_balancer.upb.h +35 -10
  723. data/src/core/ext/upb-gen/src/proto/grpc/lb/v1/load_balancer.upb_minitable.c +35 -24
  724. data/src/core/ext/upb-gen/src/proto/grpc/lb/v1/load_balancer.upb_minitable.h +14 -4
  725. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls.upb.h +32 -25
  726. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls.upb_minitable.c +12 -7
  727. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls.upb_minitable.h +8 -4
  728. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls_config.upb.h +125 -74
  729. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls_config.upb_minitable.c +50 -39
  730. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls_config.upb_minitable.h +14 -4
  731. data/src/core/ext/upb-gen/udpa/annotations/migrate.upb.h +15 -14
  732. data/src/core/ext/upb-gen/udpa/annotations/migrate.upb_minitable.c +22 -12
  733. data/src/core/ext/upb-gen/udpa/annotations/migrate.upb_minitable.h +8 -4
  734. data/src/core/ext/upb-gen/udpa/annotations/security.upb.h +7 -6
  735. data/src/core/ext/upb-gen/udpa/annotations/security.upb_minitable.c +10 -6
  736. data/src/core/ext/upb-gen/udpa/annotations/security.upb_minitable.h +6 -4
  737. data/src/core/ext/upb-gen/udpa/annotations/sensitive.upb.h +5 -4
  738. data/src/core/ext/upb-gen/udpa/annotations/sensitive.upb_minitable.c +4 -1
  739. data/src/core/ext/upb-gen/udpa/annotations/sensitive.upb_minitable.h +5 -4
  740. data/src/core/ext/upb-gen/udpa/annotations/status.upb.h +7 -6
  741. data/src/core/ext/upb-gen/udpa/annotations/status.upb_minitable.c +10 -6
  742. data/src/core/ext/upb-gen/udpa/annotations/status.upb_minitable.h +6 -4
  743. data/src/core/ext/upb-gen/udpa/annotations/versioning.upb.h +7 -6
  744. data/src/core/ext/upb-gen/udpa/annotations/versioning.upb_minitable.c +10 -6
  745. data/src/core/ext/upb-gen/udpa/annotations/versioning.upb_minitable.h +6 -4
  746. data/src/core/ext/upb-gen/validate/validate.upb.h +457 -374
  747. data/src/core/ext/upb-gen/validate/validate.upb_minitable.c +233 -204
  748. data/src/core/ext/upb-gen/validate/validate.upb_minitable.h +29 -5
  749. data/src/core/ext/upb-gen/xds/annotations/v3/migrate.upb.h +15 -14
  750. data/src/core/ext/upb-gen/xds/annotations/v3/migrate.upb_minitable.c +22 -12
  751. data/src/core/ext/upb-gen/xds/annotations/v3/migrate.upb_minitable.h +8 -4
  752. data/src/core/ext/upb-gen/xds/annotations/v3/security.upb.h +7 -6
  753. data/src/core/ext/upb-gen/xds/annotations/v3/security.upb_minitable.c +10 -6
  754. data/src/core/ext/upb-gen/xds/annotations/v3/security.upb_minitable.h +6 -4
  755. data/src/core/ext/upb-gen/xds/annotations/v3/sensitive.upb.h +5 -4
  756. data/src/core/ext/upb-gen/xds/annotations/v3/sensitive.upb_minitable.c +4 -1
  757. data/src/core/ext/upb-gen/xds/annotations/v3/sensitive.upb_minitable.h +5 -4
  758. data/src/core/ext/upb-gen/xds/annotations/v3/status.upb.h +11 -10
  759. data/src/core/ext/upb-gen/xds/annotations/v3/status.upb_minitable.c +20 -11
  760. data/src/core/ext/upb-gen/xds/annotations/v3/status.upb_minitable.h +9 -4
  761. data/src/core/ext/upb-gen/xds/annotations/v3/versioning.upb.h +7 -6
  762. data/src/core/ext/upb-gen/xds/annotations/v3/versioning.upb_minitable.c +10 -6
  763. data/src/core/ext/upb-gen/xds/annotations/v3/versioning.upb_minitable.h +6 -4
  764. data/src/core/ext/upb-gen/xds/core/v3/authority.upb.h +5 -4
  765. data/src/core/ext/upb-gen/xds/core/v3/authority.upb_minitable.c +4 -1
  766. data/src/core/ext/upb-gen/xds/core/v3/authority.upb_minitable.h +6 -4
  767. data/src/core/ext/upb-gen/xds/core/v3/cidr.upb.h +7 -4
  768. data/src/core/ext/upb-gen/xds/core/v3/cidr.upb_minitable.c +7 -4
  769. data/src/core/ext/upb-gen/xds/core/v3/cidr.upb_minitable.h +6 -4
  770. data/src/core/ext/upb-gen/xds/core/v3/collection_entry.upb.h +11 -4
  771. data/src/core/ext/upb-gen/xds/core/v3/collection_entry.upb_minitable.c +12 -8
  772. data/src/core/ext/upb-gen/xds/core/v3/collection_entry.upb_minitable.h +7 -4
  773. data/src/core/ext/upb-gen/xds/core/v3/context_params.upb.h +19 -13
  774. data/src/core/ext/upb-gen/xds/core/v3/context_params.upb_minitable.c +8 -4
  775. data/src/core/ext/upb-gen/xds/core/v3/context_params.upb_minitable.h +7 -4
  776. data/src/core/ext/upb-gen/xds/core/v3/extension.upb.h +7 -4
  777. data/src/core/ext/upb-gen/xds/core/v3/extension.upb_minitable.c +7 -4
  778. data/src/core/ext/upb-gen/xds/core/v3/extension.upb_minitable.h +6 -4
  779. data/src/core/ext/upb-gen/xds/core/v3/resource.upb.h +16 -11
  780. data/src/core/ext/upb-gen/xds/core/v3/resource.upb_minitable.c +11 -8
  781. data/src/core/ext/upb-gen/xds/core/v3/resource.upb_minitable.h +6 -4
  782. data/src/core/ext/upb-gen/xds/core/v3/resource_locator.upb.h +26 -16
  783. data/src/core/ext/upb-gen/xds/core/v3/resource_locator.upb_minitable.c +14 -10
  784. data/src/core/ext/upb-gen/xds/core/v3/resource_locator.upb_minitable.h +7 -4
  785. data/src/core/ext/upb-gen/xds/core/v3/resource_name.upb.h +7 -4
  786. data/src/core/ext/upb-gen/xds/core/v3/resource_name.upb_minitable.c +7 -4
  787. data/src/core/ext/upb-gen/xds/core/v3/resource_name.upb_minitable.h +6 -4
  788. data/src/core/ext/upb-gen/xds/data/orca/v3/orca_load_report.upb.h +47 -31
  789. data/src/core/ext/upb-gen/xds/data/orca/v3/orca_load_report.upb_minitable.c +12 -6
  790. data/src/core/ext/upb-gen/xds/data/orca/v3/orca_load_report.upb_minitable.h +9 -4
  791. data/src/core/ext/upb-gen/xds/service/orca/v3/orca.upb.h +7 -4
  792. data/src/core/ext/upb-gen/xds/service/orca/v3/orca.upb_minitable.c +7 -4
  793. data/src/core/ext/upb-gen/xds/service/orca/v3/orca.upb_minitable.h +6 -4
  794. data/src/core/ext/upb-gen/xds/type/matcher/v3/cel.upb.h +14 -11
  795. data/src/core/ext/upb-gen/xds/type/matcher/v3/cel.upb_minitable.c +10 -7
  796. data/src/core/ext/upb-gen/xds/type/matcher/v3/cel.upb_minitable.h +6 -4
  797. data/src/core/ext/upb-gen/xds/type/matcher/v3/domain.upb.h +12 -4
  798. data/src/core/ext/upb-gen/xds/type/matcher/v3/domain.upb_minitable.c +11 -7
  799. data/src/core/ext/upb-gen/xds/type/matcher/v3/domain.upb_minitable.h +7 -4
  800. data/src/core/ext/upb-gen/xds/type/matcher/v3/http_inputs.upb.h +5 -4
  801. data/src/core/ext/upb-gen/xds/type/matcher/v3/http_inputs.upb_minitable.c +4 -1
  802. data/src/core/ext/upb-gen/xds/type/matcher/v3/http_inputs.upb_minitable.h +6 -4
  803. data/src/core/ext/upb-gen/xds/type/matcher/v3/ip.upb.h +20 -7
  804. data/src/core/ext/upb-gen/xds/type/matcher/v3/ip.upb_minitable.c +13 -9
  805. data/src/core/ext/upb-gen/xds/type/matcher/v3/ip.upb_minitable.h +7 -4
  806. data/src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb.h +83 -26
  807. data/src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb_minitable.c +58 -46
  808. data/src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb_minitable.h +15 -4
  809. data/src/core/ext/upb-gen/xds/type/matcher/v3/range.upb.h +41 -4
  810. data/src/core/ext/upb-gen/xds/type/matcher/v3/range.upb_minitable.c +30 -22
  811. data/src/core/ext/upb-gen/xds/type/matcher/v3/range.upb_minitable.h +11 -4
  812. data/src/core/ext/upb-gen/xds/type/matcher/v3/regex.upb.h +7 -4
  813. data/src/core/ext/upb-gen/xds/type/matcher/v3/regex.upb_minitable.c +8 -4
  814. data/src/core/ext/upb-gen/xds/type/matcher/v3/regex.upb_minitable.h +7 -4
  815. data/src/core/ext/upb-gen/xds/type/matcher/v3/string.upb.h +12 -4
  816. data/src/core/ext/upb-gen/xds/type/matcher/v3/string.upb_minitable.c +11 -7
  817. data/src/core/ext/upb-gen/xds/type/matcher/v3/string.upb_minitable.h +7 -4
  818. data/src/core/ext/upb-gen/xds/type/v3/cel.upb.h +13 -4
  819. data/src/core/ext/upb-gen/xds/type/v3/cel.upb_minitable.c +13 -9
  820. data/src/core/ext/upb-gen/xds/type/v3/cel.upb_minitable.h +7 -4
  821. data/src/core/ext/upb-gen/xds/type/v3/range.upb.h +6 -4
  822. data/src/core/ext/upb-gen/xds/type/v3/range.upb_minitable.c +6 -1
  823. data/src/core/ext/upb-gen/xds/type/v3/range.upb_minitable.h +8 -4
  824. data/src/core/ext/upb-gen/xds/type/v3/typed_struct.upb.h +7 -4
  825. data/src/core/ext/upb-gen/xds/type/v3/typed_struct.upb_minitable.c +7 -4
  826. data/src/core/ext/upb-gen/xds/type/v3/typed_struct.upb_minitable.h +6 -4
  827. data/src/core/ext/upbdefs-gen/envoy/admin/v3/certs.upbdefs.c +2 -1
  828. data/src/core/ext/upbdefs-gen/envoy/admin/v3/certs.upbdefs.h +5 -4
  829. data/src/core/ext/upbdefs-gen/envoy/admin/v3/clusters.upbdefs.c +2 -1
  830. data/src/core/ext/upbdefs-gen/envoy/admin/v3/clusters.upbdefs.h +5 -4
  831. data/src/core/ext/upbdefs-gen/envoy/admin/v3/config_dump.upbdefs.c +2 -1
  832. data/src/core/ext/upbdefs-gen/envoy/admin/v3/config_dump.upbdefs.h +5 -4
  833. data/src/core/ext/upbdefs-gen/envoy/admin/v3/config_dump_shared.upbdefs.c +13 -11
  834. data/src/core/ext/upbdefs-gen/envoy/admin/v3/config_dump_shared.upbdefs.h +5 -4
  835. data/src/core/ext/upbdefs-gen/envoy/admin/v3/init_dump.upbdefs.c +2 -1
  836. data/src/core/ext/upbdefs-gen/envoy/admin/v3/init_dump.upbdefs.h +5 -4
  837. data/src/core/ext/upbdefs-gen/envoy/admin/v3/listeners.upbdefs.c +2 -1
  838. data/src/core/ext/upbdefs-gen/envoy/admin/v3/listeners.upbdefs.h +5 -4
  839. data/src/core/ext/upbdefs-gen/envoy/admin/v3/memory.upbdefs.c +2 -1
  840. data/src/core/ext/upbdefs-gen/envoy/admin/v3/memory.upbdefs.h +5 -4
  841. data/src/core/ext/upbdefs-gen/envoy/admin/v3/metrics.upbdefs.c +2 -1
  842. data/src/core/ext/upbdefs-gen/envoy/admin/v3/metrics.upbdefs.h +5 -4
  843. data/src/core/ext/upbdefs-gen/envoy/admin/v3/mutex_stats.upbdefs.c +2 -1
  844. data/src/core/ext/upbdefs-gen/envoy/admin/v3/mutex_stats.upbdefs.h +5 -4
  845. data/src/core/ext/upbdefs-gen/envoy/admin/v3/server_info.upbdefs.c +8 -5
  846. data/src/core/ext/upbdefs-gen/envoy/admin/v3/server_info.upbdefs.h +5 -4
  847. data/src/core/ext/upbdefs-gen/envoy/admin/v3/tap.upbdefs.c +2 -1
  848. data/src/core/ext/upbdefs-gen/envoy/admin/v3/tap.upbdefs.h +5 -4
  849. data/src/core/ext/upbdefs-gen/envoy/annotations/deprecation.upbdefs.c +2 -1
  850. data/src/core/ext/upbdefs-gen/envoy/annotations/deprecation.upbdefs.h +5 -4
  851. data/src/core/ext/upbdefs-gen/envoy/annotations/resource.upbdefs.c +2 -1
  852. data/src/core/ext/upbdefs-gen/envoy/annotations/resource.upbdefs.h +5 -4
  853. data/src/core/ext/upbdefs-gen/envoy/config/accesslog/v3/accesslog.upbdefs.c +2 -1
  854. data/src/core/ext/upbdefs-gen/envoy/config/accesslog/v3/accesslog.upbdefs.h +5 -4
  855. data/src/core/ext/upbdefs-gen/envoy/config/bootstrap/v3/bootstrap.upbdefs.c +2 -1
  856. data/src/core/ext/upbdefs-gen/envoy/config/bootstrap/v3/bootstrap.upbdefs.h +5 -4
  857. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/circuit_breaker.upbdefs.c +2 -1
  858. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/circuit_breaker.upbdefs.h +5 -4
  859. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/cluster.upbdefs.c +420 -414
  860. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/cluster.upbdefs.h +5 -4
  861. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/filter.upbdefs.c +2 -1
  862. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/filter.upbdefs.h +5 -4
  863. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/outlier_detection.upbdefs.c +2 -1
  864. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/outlier_detection.upbdefs.h +5 -4
  865. data/src/core/ext/upbdefs-gen/envoy/config/common/matcher/v3/matcher.upbdefs.c +2 -1
  866. data/src/core/ext/upbdefs-gen/envoy/config/common/matcher/v3/matcher.upbdefs.h +5 -4
  867. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/address.upbdefs.c +2 -1
  868. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/address.upbdefs.h +5 -4
  869. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/backoff.upbdefs.c +2 -1
  870. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/backoff.upbdefs.h +5 -4
  871. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/base.upbdefs.c +163 -154
  872. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/base.upbdefs.h +10 -4
  873. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/config_source.upbdefs.c +2 -1
  874. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/config_source.upbdefs.h +5 -4
  875. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/event_service_config.upbdefs.c +2 -1
  876. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/event_service_config.upbdefs.h +5 -4
  877. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/extension.upbdefs.c +2 -1
  878. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/extension.upbdefs.h +5 -4
  879. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/grpc_method_list.upbdefs.c +2 -1
  880. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/grpc_method_list.upbdefs.h +5 -4
  881. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/grpc_service.upbdefs.c +2 -1
  882. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/grpc_service.upbdefs.h +5 -4
  883. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/health_check.upbdefs.c +2 -1
  884. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/health_check.upbdefs.h +5 -4
  885. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/http_service.upbdefs.c +2 -1
  886. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/http_service.upbdefs.h +5 -4
  887. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/http_uri.upbdefs.c +2 -1
  888. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/http_uri.upbdefs.h +5 -4
  889. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/protocol.upbdefs.c +272 -262
  890. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/protocol.upbdefs.h +5 -4
  891. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/proxy_protocol.upbdefs.c +2 -1
  892. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/proxy_protocol.upbdefs.h +5 -4
  893. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/resolver.upbdefs.c +2 -1
  894. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/resolver.upbdefs.h +5 -4
  895. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_cmsg_headers.upbdefs.c +46 -0
  896. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_cmsg_headers.upbdefs.h +33 -0
  897. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_option.upbdefs.c +31 -20
  898. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_option.upbdefs.h +20 -4
  899. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/substitution_format_string.upbdefs.c +2 -1
  900. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/substitution_format_string.upbdefs.h +5 -4
  901. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/udp_socket_config.upbdefs.c +2 -1
  902. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/udp_socket_config.upbdefs.h +5 -4
  903. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/endpoint.upbdefs.c +2 -1
  904. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/endpoint.upbdefs.h +5 -4
  905. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/endpoint_components.upbdefs.c +2 -1
  906. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/endpoint_components.upbdefs.h +5 -4
  907. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/load_report.upbdefs.c +2 -1
  908. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/load_report.upbdefs.h +5 -4
  909. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/api_listener.upbdefs.c +2 -1
  910. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/api_listener.upbdefs.h +5 -4
  911. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener.upbdefs.c +2 -1
  912. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener.upbdefs.h +5 -4
  913. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener_components.upbdefs.c +60 -66
  914. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener_components.upbdefs.h +5 -9
  915. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/quic_config.upbdefs.c +75 -64
  916. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/quic_config.upbdefs.h +5 -4
  917. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/udp_listener_config.upbdefs.c +2 -1
  918. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/udp_listener_config.upbdefs.h +5 -4
  919. data/src/core/ext/upbdefs-gen/envoy/config/metrics/v3/metrics_service.upbdefs.c +2 -1
  920. data/src/core/ext/upbdefs-gen/envoy/config/metrics/v3/metrics_service.upbdefs.h +5 -4
  921. data/src/core/ext/upbdefs-gen/envoy/config/metrics/v3/stats.upbdefs.c +2 -1
  922. data/src/core/ext/upbdefs-gen/envoy/config/metrics/v3/stats.upbdefs.h +5 -4
  923. data/src/core/ext/upbdefs-gen/envoy/config/overload/v3/overload.upbdefs.c +51 -49
  924. data/src/core/ext/upbdefs-gen/envoy/config/overload/v3/overload.upbdefs.h +5 -4
  925. data/src/core/ext/upbdefs-gen/envoy/config/rbac/v3/rbac.upbdefs.c +119 -101
  926. data/src/core/ext/upbdefs-gen/envoy/config/rbac/v3/rbac.upbdefs.h +10 -4
  927. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route.upbdefs.c +2 -1
  928. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route.upbdefs.h +5 -4
  929. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route_components.upbdefs.c +919 -899
  930. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route_components.upbdefs.h +15 -4
  931. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/scoped_route.upbdefs.c +2 -1
  932. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/scoped_route.upbdefs.h +5 -4
  933. data/src/core/ext/upbdefs-gen/envoy/config/tap/v3/common.upbdefs.c +2 -1
  934. data/src/core/ext/upbdefs-gen/envoy/config/tap/v3/common.upbdefs.h +5 -4
  935. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/datadog.upbdefs.c +2 -1
  936. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/datadog.upbdefs.h +5 -4
  937. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/dynamic_ot.upbdefs.c +2 -1
  938. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/dynamic_ot.upbdefs.h +5 -4
  939. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/http_tracer.upbdefs.c +2 -1
  940. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/http_tracer.upbdefs.h +5 -4
  941. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/lightstep.upbdefs.c +2 -1
  942. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/lightstep.upbdefs.h +5 -4
  943. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/opentelemetry.upbdefs.c +2 -1
  944. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/opentelemetry.upbdefs.h +5 -4
  945. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/service.upbdefs.c +2 -1
  946. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/service.upbdefs.h +5 -4
  947. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/skywalking.upbdefs.c +2 -1
  948. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/skywalking.upbdefs.h +5 -4
  949. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/trace.upbdefs.c +17 -19
  950. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/trace.upbdefs.h +5 -4
  951. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/xray.upbdefs.c +2 -1
  952. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/xray.upbdefs.h +5 -4
  953. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/zipkin.upbdefs.c +2 -1
  954. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/zipkin.upbdefs.h +5 -4
  955. data/src/core/ext/upbdefs-gen/envoy/data/accesslog/v3/accesslog.upbdefs.c +2 -1
  956. data/src/core/ext/upbdefs-gen/envoy/data/accesslog/v3/accesslog.upbdefs.h +5 -4
  957. data/src/core/ext/upbdefs-gen/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.c +2 -1
  958. data/src/core/ext/upbdefs-gen/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.h +5 -4
  959. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/common/fault/v3/fault.upbdefs.c +2 -1
  960. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/common/fault/v3/fault.upbdefs.h +5 -4
  961. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c +2 -1
  962. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/fault/v3/fault.upbdefs.h +5 -4
  963. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upbdefs.c +2 -1
  964. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upbdefs.h +5 -4
  965. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.c +35 -34
  966. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.h +5 -4
  967. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/router/v3/router.upbdefs.c +2 -1
  968. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/router/v3/router.upbdefs.h +5 -4
  969. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.c +2 -1
  970. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.h +5 -4
  971. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +462 -458
  972. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h +5 -4
  973. data/src/core/ext/upbdefs-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.c +2 -1
  974. data/src/core/ext/upbdefs-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.h +5 -4
  975. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upbdefs.c +50 -0
  976. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upbdefs.h +33 -0
  977. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c +2 -1
  978. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.h +5 -4
  979. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c +97 -96
  980. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.h +5 -4
  981. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.c +2 -1
  982. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.h +5 -4
  983. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c +204 -192
  984. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.h +5 -4
  985. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.c +21 -18
  986. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.h +5 -4
  987. data/src/core/ext/upbdefs-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upbdefs.c +2 -1
  988. data/src/core/ext/upbdefs-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upbdefs.h +5 -4
  989. data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/ads.upbdefs.c +2 -1
  990. data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/ads.upbdefs.h +5 -4
  991. data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/discovery.upbdefs.c +150 -136
  992. data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/discovery.upbdefs.h +10 -4
  993. data/src/core/ext/upbdefs-gen/envoy/service/load_stats/v3/lrs.upbdefs.c +2 -1
  994. data/src/core/ext/upbdefs-gen/envoy/service/load_stats/v3/lrs.upbdefs.h +5 -4
  995. data/src/core/ext/upbdefs-gen/envoy/service/status/v3/csds.upbdefs.c +25 -23
  996. data/src/core/ext/upbdefs-gen/envoy/service/status/v3/csds.upbdefs.h +5 -4
  997. data/src/core/ext/upbdefs-gen/envoy/type/http/v3/cookie.upbdefs.c +2 -1
  998. data/src/core/ext/upbdefs-gen/envoy/type/http/v3/cookie.upbdefs.h +5 -4
  999. data/src/core/ext/upbdefs-gen/envoy/type/http/v3/path_transformation.upbdefs.c +2 -1
  1000. data/src/core/ext/upbdefs-gen/envoy/type/http/v3/path_transformation.upbdefs.h +5 -4
  1001. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/address.upbdefs.c +41 -0
  1002. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/address.upbdefs.h +33 -0
  1003. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/filter_state.upbdefs.c +28 -20
  1004. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/filter_state.upbdefs.h +5 -4
  1005. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/http_inputs.upbdefs.c +2 -1
  1006. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/http_inputs.upbdefs.h +5 -4
  1007. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/metadata.upbdefs.c +2 -1
  1008. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/metadata.upbdefs.h +5 -4
  1009. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/node.upbdefs.c +2 -1
  1010. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/node.upbdefs.h +5 -4
  1011. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/number.upbdefs.c +2 -1
  1012. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/number.upbdefs.h +5 -4
  1013. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/path.upbdefs.c +2 -1
  1014. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/path.upbdefs.h +5 -4
  1015. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/regex.upbdefs.c +2 -1
  1016. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/regex.upbdefs.h +5 -4
  1017. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/status_code_input.upbdefs.c +2 -1
  1018. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/status_code_input.upbdefs.h +5 -4
  1019. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/string.upbdefs.c +2 -1
  1020. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/string.upbdefs.h +5 -4
  1021. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/struct.upbdefs.c +2 -1
  1022. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/struct.upbdefs.h +5 -4
  1023. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/value.upbdefs.c +2 -1
  1024. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/value.upbdefs.h +5 -4
  1025. data/src/core/ext/upbdefs-gen/envoy/type/metadata/v3/metadata.upbdefs.c +2 -1
  1026. data/src/core/ext/upbdefs-gen/envoy/type/metadata/v3/metadata.upbdefs.h +5 -4
  1027. data/src/core/ext/upbdefs-gen/envoy/type/tracing/v3/custom_tag.upbdefs.c +2 -1
  1028. data/src/core/ext/upbdefs-gen/envoy/type/tracing/v3/custom_tag.upbdefs.h +5 -4
  1029. data/src/core/ext/upbdefs-gen/envoy/type/v3/hash_policy.upbdefs.c +2 -1
  1030. data/src/core/ext/upbdefs-gen/envoy/type/v3/hash_policy.upbdefs.h +5 -4
  1031. data/src/core/ext/upbdefs-gen/envoy/type/v3/http.upbdefs.c +2 -1
  1032. data/src/core/ext/upbdefs-gen/envoy/type/v3/http.upbdefs.h +5 -4
  1033. data/src/core/ext/upbdefs-gen/envoy/type/v3/http_status.upbdefs.c +2 -1
  1034. data/src/core/ext/upbdefs-gen/envoy/type/v3/http_status.upbdefs.h +5 -4
  1035. data/src/core/ext/upbdefs-gen/envoy/type/v3/percent.upbdefs.c +2 -1
  1036. data/src/core/ext/upbdefs-gen/envoy/type/v3/percent.upbdefs.h +5 -4
  1037. data/src/core/ext/upbdefs-gen/envoy/type/v3/range.upbdefs.c +2 -1
  1038. data/src/core/ext/upbdefs-gen/envoy/type/v3/range.upbdefs.h +5 -4
  1039. data/src/core/ext/upbdefs-gen/envoy/type/v3/ratelimit_strategy.upbdefs.c +2 -1
  1040. data/src/core/ext/upbdefs-gen/envoy/type/v3/ratelimit_strategy.upbdefs.h +5 -4
  1041. data/src/core/ext/upbdefs-gen/envoy/type/v3/ratelimit_unit.upbdefs.c +2 -1
  1042. data/src/core/ext/upbdefs-gen/envoy/type/v3/ratelimit_unit.upbdefs.h +5 -4
  1043. data/src/core/ext/upbdefs-gen/envoy/type/v3/semantic_version.upbdefs.c +2 -1
  1044. data/src/core/ext/upbdefs-gen/envoy/type/v3/semantic_version.upbdefs.h +5 -4
  1045. data/src/core/ext/upbdefs-gen/envoy/type/v3/token_bucket.upbdefs.c +2 -1
  1046. data/src/core/ext/upbdefs-gen/envoy/type/v3/token_bucket.upbdefs.h +5 -4
  1047. data/src/core/ext/upbdefs-gen/google/api/annotations.upbdefs.c +2 -1
  1048. data/src/core/ext/upbdefs-gen/google/api/annotations.upbdefs.h +5 -4
  1049. data/src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/checked.upbdefs.c +2 -1
  1050. data/src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/checked.upbdefs.h +5 -4
  1051. data/src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/syntax.upbdefs.c +2 -1
  1052. data/src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/syntax.upbdefs.h +5 -4
  1053. data/src/core/ext/upbdefs-gen/google/api/http.upbdefs.c +2 -1
  1054. data/src/core/ext/upbdefs-gen/google/api/http.upbdefs.h +5 -4
  1055. data/src/core/ext/upbdefs-gen/google/api/httpbody.upbdefs.c +2 -1
  1056. data/src/core/ext/upbdefs-gen/google/api/httpbody.upbdefs.h +5 -4
  1057. data/src/core/ext/upbdefs-gen/google/protobuf/any.upbdefs.c +2 -1
  1058. data/src/core/ext/upbdefs-gen/google/protobuf/any.upbdefs.h +5 -4
  1059. data/src/core/ext/upbdefs-gen/google/protobuf/descriptor.upbdefs.c +497 -484
  1060. data/src/core/ext/upbdefs-gen/google/protobuf/descriptor.upbdefs.h +5 -4
  1061. data/src/core/ext/upbdefs-gen/google/protobuf/duration.upbdefs.c +2 -1
  1062. data/src/core/ext/upbdefs-gen/google/protobuf/duration.upbdefs.h +5 -4
  1063. data/src/core/ext/upbdefs-gen/google/protobuf/empty.upbdefs.c +2 -1
  1064. data/src/core/ext/upbdefs-gen/google/protobuf/empty.upbdefs.h +5 -4
  1065. data/src/core/ext/upbdefs-gen/google/protobuf/struct.upbdefs.c +2 -1
  1066. data/src/core/ext/upbdefs-gen/google/protobuf/struct.upbdefs.h +5 -4
  1067. data/src/core/ext/upbdefs-gen/google/protobuf/timestamp.upbdefs.c +2 -1
  1068. data/src/core/ext/upbdefs-gen/google/protobuf/timestamp.upbdefs.h +5 -4
  1069. data/src/core/ext/upbdefs-gen/google/protobuf/wrappers.upbdefs.c +2 -1
  1070. data/src/core/ext/upbdefs-gen/google/protobuf/wrappers.upbdefs.h +5 -4
  1071. data/src/core/ext/upbdefs-gen/google/rpc/status.upbdefs.c +2 -1
  1072. data/src/core/ext/upbdefs-gen/google/rpc/status.upbdefs.h +5 -4
  1073. data/src/core/ext/upbdefs-gen/src/proto/grpc/lookup/v1/rls_config.upbdefs.c +2 -1
  1074. data/src/core/ext/upbdefs-gen/src/proto/grpc/lookup/v1/rls_config.upbdefs.h +5 -4
  1075. data/src/core/ext/upbdefs-gen/udpa/annotations/migrate.upbdefs.c +2 -1
  1076. data/src/core/ext/upbdefs-gen/udpa/annotations/migrate.upbdefs.h +5 -4
  1077. data/src/core/ext/upbdefs-gen/udpa/annotations/security.upbdefs.c +2 -1
  1078. data/src/core/ext/upbdefs-gen/udpa/annotations/security.upbdefs.h +5 -4
  1079. data/src/core/ext/upbdefs-gen/udpa/annotations/sensitive.upbdefs.c +2 -1
  1080. data/src/core/ext/upbdefs-gen/udpa/annotations/sensitive.upbdefs.h +5 -4
  1081. data/src/core/ext/upbdefs-gen/udpa/annotations/status.upbdefs.c +2 -1
  1082. data/src/core/ext/upbdefs-gen/udpa/annotations/status.upbdefs.h +5 -4
  1083. data/src/core/ext/upbdefs-gen/udpa/annotations/versioning.upbdefs.c +2 -1
  1084. data/src/core/ext/upbdefs-gen/udpa/annotations/versioning.upbdefs.h +5 -4
  1085. data/src/core/ext/upbdefs-gen/validate/validate.upbdefs.c +2 -1
  1086. data/src/core/ext/upbdefs-gen/validate/validate.upbdefs.h +5 -4
  1087. data/src/core/ext/upbdefs-gen/xds/annotations/v3/migrate.upbdefs.c +2 -1
  1088. data/src/core/ext/upbdefs-gen/xds/annotations/v3/migrate.upbdefs.h +5 -4
  1089. data/src/core/ext/upbdefs-gen/xds/annotations/v3/security.upbdefs.c +2 -1
  1090. data/src/core/ext/upbdefs-gen/xds/annotations/v3/security.upbdefs.h +5 -4
  1091. data/src/core/ext/upbdefs-gen/xds/annotations/v3/sensitive.upbdefs.c +2 -1
  1092. data/src/core/ext/upbdefs-gen/xds/annotations/v3/sensitive.upbdefs.h +5 -4
  1093. data/src/core/ext/upbdefs-gen/xds/annotations/v3/status.upbdefs.c +2 -1
  1094. data/src/core/ext/upbdefs-gen/xds/annotations/v3/status.upbdefs.h +5 -4
  1095. data/src/core/ext/upbdefs-gen/xds/annotations/v3/versioning.upbdefs.c +2 -1
  1096. data/src/core/ext/upbdefs-gen/xds/annotations/v3/versioning.upbdefs.h +5 -4
  1097. data/src/core/ext/upbdefs-gen/xds/core/v3/authority.upbdefs.c +2 -1
  1098. data/src/core/ext/upbdefs-gen/xds/core/v3/authority.upbdefs.h +5 -4
  1099. data/src/core/ext/upbdefs-gen/xds/core/v3/cidr.upbdefs.c +2 -1
  1100. data/src/core/ext/upbdefs-gen/xds/core/v3/cidr.upbdefs.h +5 -4
  1101. data/src/core/ext/upbdefs-gen/xds/core/v3/collection_entry.upbdefs.c +2 -1
  1102. data/src/core/ext/upbdefs-gen/xds/core/v3/collection_entry.upbdefs.h +5 -4
  1103. data/src/core/ext/upbdefs-gen/xds/core/v3/context_params.upbdefs.c +2 -1
  1104. data/src/core/ext/upbdefs-gen/xds/core/v3/context_params.upbdefs.h +5 -4
  1105. data/src/core/ext/upbdefs-gen/xds/core/v3/extension.upbdefs.c +2 -1
  1106. data/src/core/ext/upbdefs-gen/xds/core/v3/extension.upbdefs.h +5 -4
  1107. data/src/core/ext/upbdefs-gen/xds/core/v3/resource.upbdefs.c +2 -1
  1108. data/src/core/ext/upbdefs-gen/xds/core/v3/resource.upbdefs.h +5 -4
  1109. data/src/core/ext/upbdefs-gen/xds/core/v3/resource_locator.upbdefs.c +2 -1
  1110. data/src/core/ext/upbdefs-gen/xds/core/v3/resource_locator.upbdefs.h +5 -4
  1111. data/src/core/ext/upbdefs-gen/xds/core/v3/resource_name.upbdefs.c +2 -1
  1112. data/src/core/ext/upbdefs-gen/xds/core/v3/resource_name.upbdefs.h +5 -4
  1113. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/cel.upbdefs.c +2 -1
  1114. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/cel.upbdefs.h +5 -4
  1115. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/domain.upbdefs.c +2 -1
  1116. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/domain.upbdefs.h +5 -4
  1117. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/http_inputs.upbdefs.c +2 -1
  1118. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/http_inputs.upbdefs.h +5 -4
  1119. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/ip.upbdefs.c +2 -1
  1120. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/ip.upbdefs.h +5 -4
  1121. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/matcher.upbdefs.c +2 -1
  1122. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/matcher.upbdefs.h +5 -4
  1123. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/range.upbdefs.c +2 -1
  1124. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/range.upbdefs.h +5 -4
  1125. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/regex.upbdefs.c +2 -1
  1126. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/regex.upbdefs.h +5 -4
  1127. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/string.upbdefs.c +2 -1
  1128. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/string.upbdefs.h +5 -4
  1129. data/src/core/ext/upbdefs-gen/xds/type/v3/cel.upbdefs.c +2 -1
  1130. data/src/core/ext/upbdefs-gen/xds/type/v3/cel.upbdefs.h +5 -4
  1131. data/src/core/ext/upbdefs-gen/xds/type/v3/range.upbdefs.c +2 -1
  1132. data/src/core/ext/upbdefs-gen/xds/type/v3/range.upbdefs.h +5 -4
  1133. data/src/core/ext/upbdefs-gen/xds/type/v3/typed_struct.upbdefs.c +2 -1
  1134. data/src/core/ext/upbdefs-gen/xds/type/v3/typed_struct.upbdefs.h +5 -4
  1135. data/src/core/filter/auth/auth_filters.h +233 -0
  1136. data/src/core/filter/auth/client_auth_filter.cc +310 -0
  1137. data/src/core/filter/auth/server_auth_filter.cc +208 -0
  1138. data/src/core/filter/blackboard.cc +33 -0
  1139. data/src/core/filter/blackboard.h +70 -0
  1140. data/src/core/filter/filter_args.h +112 -0
  1141. data/src/core/handshaker/endpoint_info/endpoint_info_handshaker.cc +4 -5
  1142. data/src/core/handshaker/endpoint_info/endpoint_info_handshaker.h +1 -1
  1143. data/src/core/handshaker/handshaker.cc +8 -22
  1144. data/src/core/handshaker/handshaker.h +8 -10
  1145. data/src/core/handshaker/handshaker_registry.cc +1 -2
  1146. data/src/core/handshaker/handshaker_registry.h +2 -2
  1147. data/src/core/handshaker/http_connect/http_connect_handshaker.cc +17 -16
  1148. data/src/core/handshaker/http_connect/http_connect_handshaker.h +1 -1
  1149. data/src/core/handshaker/http_connect/http_proxy_mapper.cc +38 -41
  1150. data/src/core/handshaker/http_connect/http_proxy_mapper.h +7 -8
  1151. data/src/core/handshaker/http_connect/xds_http_proxy_mapper.cc +57 -0
  1152. data/src/core/handshaker/http_connect/xds_http_proxy_mapper.h +46 -0
  1153. data/src/core/handshaker/proxy_mapper.h +6 -7
  1154. data/src/core/handshaker/proxy_mapper_registry.cc +7 -8
  1155. data/src/core/handshaker/proxy_mapper_registry.h +6 -7
  1156. data/src/core/handshaker/security/secure_endpoint.cc +14 -16
  1157. data/src/core/handshaker/security/secure_endpoint.h +2 -3
  1158. data/src/core/handshaker/security/security_handshaker.cc +19 -27
  1159. data/src/core/handshaker/security/security_handshaker.h +4 -5
  1160. data/src/core/handshaker/tcp_connect/tcp_connect_handshaker.cc +16 -15
  1161. data/src/core/handshaker/tcp_connect/tcp_connect_handshaker.h +1 -1
  1162. data/src/core/lib/address_utils/parse_address.cc +3 -4
  1163. data/src/core/lib/address_utils/parse_address.h +2 -4
  1164. data/src/core/lib/address_utils/sockaddr_utils.cc +4 -6
  1165. data/src/core/lib/address_utils/sockaddr_utils.h +1 -3
  1166. data/src/core/lib/channel/channel_args.cc +17 -19
  1167. data/src/core/lib/channel/channel_args.h +68 -51
  1168. data/src/core/lib/channel/channel_args_preconditioning.cc +2 -2
  1169. data/src/core/lib/channel/channel_args_preconditioning.h +4 -4
  1170. data/src/core/lib/channel/channel_stack.cc +5 -4
  1171. data/src/core/lib/channel/channel_stack.h +18 -19
  1172. data/src/core/lib/channel/channel_stack_builder.cc +2 -2
  1173. data/src/core/lib/channel/channel_stack_builder.h +3 -4
  1174. data/src/core/lib/channel/channel_stack_builder_impl.cc +6 -8
  1175. data/src/core/lib/channel/channel_stack_builder_impl.h +15 -3
  1176. data/src/core/lib/channel/connected_channel.cc +12 -14
  1177. data/src/core/lib/channel/promise_based_filter.cc +42 -33
  1178. data/src/core/lib/channel/promise_based_filter.h +101 -147
  1179. data/src/core/lib/compression/compression.cc +5 -6
  1180. data/src/core/lib/compression/compression_internal.cc +14 -16
  1181. data/src/core/lib/compression/compression_internal.h +6 -8
  1182. data/src/core/lib/compression/message_compress.cc +3 -6
  1183. data/src/core/lib/debug/trace.cc +5 -6
  1184. data/src/core/lib/debug/trace_flags.cc +6 -6
  1185. data/src/core/lib/debug/trace_flags.h +2 -2
  1186. data/src/core/lib/debug/trace_impl.h +2 -2
  1187. data/src/core/lib/event_engine/ares_resolver.cc +20 -26
  1188. data/src/core/lib/event_engine/ares_resolver.h +13 -20
  1189. data/src/core/lib/event_engine/cf_engine/cf_engine.cc +4 -8
  1190. data/src/core/lib/event_engine/cf_engine/cf_engine.h +3 -5
  1191. data/src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc +7 -9
  1192. data/src/core/lib/event_engine/cf_engine/cfstream_endpoint.h +6 -10
  1193. data/src/core/lib/event_engine/cf_engine/cftype_unique_ref.h +2 -4
  1194. data/src/core/lib/event_engine/cf_engine/dns_service_resolver.cc +11 -13
  1195. data/src/core/lib/event_engine/cf_engine/dns_service_resolver.h +5 -9
  1196. data/src/core/lib/event_engine/channel_args_endpoint_config.cc +7 -10
  1197. data/src/core/lib/event_engine/channel_args_endpoint_config.h +7 -9
  1198. data/src/core/lib/event_engine/common_closures.h +5 -7
  1199. data/src/core/lib/event_engine/default_event_engine.cc +69 -41
  1200. data/src/core/lib/event_engine/default_event_engine.h +27 -36
  1201. data/src/core/lib/event_engine/default_event_engine_factory.cc +14 -20
  1202. data/src/core/lib/event_engine/default_event_engine_factory.h +5 -7
  1203. data/src/core/lib/event_engine/event_engine.cc +4 -6
  1204. data/src/core/lib/event_engine/extensions/can_track_errors.h +4 -6
  1205. data/src/core/lib/event_engine/extensions/chaotic_good_extension.h +3 -6
  1206. data/src/core/lib/event_engine/extensions/iomgr_compatible.h +39 -0
  1207. data/src/core/lib/event_engine/extensions/supports_fd.h +22 -7
  1208. data/src/core/lib/event_engine/extensions/supports_win_sockets.h +48 -0
  1209. data/src/core/lib/event_engine/extensions/tcp_trace.h +3 -6
  1210. data/src/core/lib/event_engine/forkable.cc +5 -7
  1211. data/src/core/lib/event_engine/forkable.h +4 -6
  1212. data/src/core/lib/event_engine/grpc_polled_fd.h +5 -8
  1213. data/src/core/lib/event_engine/handle_containers.h +4 -7
  1214. data/src/core/lib/event_engine/memory_allocator_factory.h +5 -8
  1215. data/src/core/lib/event_engine/nameser.h +1 -1
  1216. data/src/core/lib/event_engine/poller.h +4 -6
  1217. data/src/core/lib/event_engine/posix.h +2 -4
  1218. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc +14 -62
  1219. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.h +6 -9
  1220. data/src/core/lib/event_engine/posix_engine/ev_poll_posix.cc +21 -71
  1221. data/src/core/lib/event_engine/posix_engine/ev_poll_posix.h +6 -9
  1222. data/src/core/lib/event_engine/posix_engine/event_poller.h +5 -8
  1223. data/src/core/lib/event_engine/posix_engine/event_poller_posix_default.cc +6 -9
  1224. data/src/core/lib/event_engine/posix_engine/event_poller_posix_default.h +4 -6
  1225. data/src/core/lib/event_engine/posix_engine/grpc_polled_fd_posix.h +6 -10
  1226. data/src/core/lib/event_engine/posix_engine/internal_errqueue.cc +4 -7
  1227. data/src/core/lib/event_engine/posix_engine/internal_errqueue.h +3 -6
  1228. data/src/core/lib/event_engine/posix_engine/lockfree_event.cc +7 -10
  1229. data/src/core/lib/event_engine/posix_engine/lockfree_event.h +4 -7
  1230. data/src/core/lib/event_engine/posix_engine/native_posix_dns_resolver.cc +4 -7
  1231. data/src/core/lib/event_engine/posix_engine/native_posix_dns_resolver.h +4 -7
  1232. data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +35 -29
  1233. data/src/core/lib/event_engine/posix_engine/posix_endpoint.h +10 -13
  1234. data/src/core/lib/event_engine/posix_engine/posix_engine.cc +54 -37
  1235. data/src/core/lib/event_engine/posix_engine/posix_engine.h +18 -20
  1236. data/src/core/lib/event_engine/posix_engine/posix_engine_closure.h +5 -7
  1237. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc +10 -14
  1238. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.h +14 -15
  1239. data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.cc +32 -10
  1240. data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.h +7 -6
  1241. data/src/core/lib/event_engine/posix_engine/set_socket_dualstack.cc +64 -0
  1242. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc +13 -28
  1243. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.h +9 -12
  1244. data/src/core/lib/event_engine/posix_engine/timer.cc +8 -10
  1245. data/src/core/lib/event_engine/posix_engine/timer.h +9 -13
  1246. data/src/core/lib/event_engine/posix_engine/timer_heap.cc +4 -7
  1247. data/src/core/lib/event_engine/posix_engine/timer_heap.h +4 -6
  1248. data/src/core/lib/event_engine/posix_engine/timer_manager.cc +8 -11
  1249. data/src/core/lib/event_engine/posix_engine/timer_manager.h +9 -13
  1250. data/src/core/lib/event_engine/posix_engine/traced_buffer_list.cc +9 -15
  1251. data/src/core/lib/event_engine/posix_engine/traced_buffer_list.h +27 -30
  1252. data/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.cc +7 -10
  1253. data/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.h +4 -7
  1254. data/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.cc +16 -11
  1255. data/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.h +4 -7
  1256. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix.h +4 -6
  1257. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.cc +4 -7
  1258. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.h +4 -6
  1259. data/src/core/lib/event_engine/query_extensions.h +4 -6
  1260. data/src/core/lib/event_engine/ref_counted_dns_resolver_interface.h +5 -9
  1261. data/src/core/lib/event_engine/resolved_address.cc +7 -8
  1262. data/src/core/lib/event_engine/resolved_address_internal.h +2 -4
  1263. data/src/core/lib/event_engine/shim.cc +11 -20
  1264. data/src/core/lib/event_engine/shim.h +13 -4
  1265. data/src/core/lib/event_engine/slice.cc +5 -9
  1266. data/src/core/lib/event_engine/slice_buffer.cc +3 -6
  1267. data/src/core/lib/event_engine/tcp_socket_utils.cc +9 -18
  1268. data/src/core/lib/event_engine/tcp_socket_utils.h +8 -10
  1269. data/src/core/lib/event_engine/thread_local.cc +2 -4
  1270. data/src/core/lib/event_engine/thread_local.h +2 -4
  1271. data/src/core/lib/event_engine/thread_pool/thread_count.cc +4 -8
  1272. data/src/core/lib/event_engine/thread_pool/thread_count.h +9 -24
  1273. data/src/core/lib/event_engine/thread_pool/thread_pool.h +4 -8
  1274. data/src/core/lib/event_engine/thread_pool/thread_pool_factory.cc +4 -7
  1275. data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.cc +27 -23
  1276. data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.h +11 -14
  1277. data/src/core/lib/event_engine/thready_event_engine/thready_event_engine.cc +7 -9
  1278. data/src/core/lib/event_engine/thready_event_engine/thready_event_engine.h +7 -9
  1279. data/src/core/lib/event_engine/time_util.cc +4 -6
  1280. data/src/core/lib/event_engine/time_util.h +3 -6
  1281. data/src/core/lib/event_engine/utils.cc +21 -9
  1282. data/src/core/lib/event_engine/utils.h +12 -8
  1283. data/src/core/lib/event_engine/windows/grpc_polled_fd_windows.cc +7 -12
  1284. data/src/core/lib/event_engine/windows/grpc_polled_fd_windows.h +6 -10
  1285. data/src/core/lib/event_engine/windows/iocp.cc +6 -9
  1286. data/src/core/lib/event_engine/windows/iocp.h +3 -6
  1287. data/src/core/lib/event_engine/windows/native_windows_dns_resolver.cc +6 -10
  1288. data/src/core/lib/event_engine/windows/native_windows_dns_resolver.h +2 -4
  1289. data/src/core/lib/event_engine/windows/win_socket.cc +17 -9
  1290. data/src/core/lib/event_engine/windows/win_socket.h +9 -9
  1291. data/src/core/lib/event_engine/windows/windows_endpoint.cc +35 -29
  1292. data/src/core/lib/event_engine/windows/windows_endpoint.h +4 -6
  1293. data/src/core/lib/event_engine/windows/windows_engine.cc +55 -15
  1294. data/src/core/lib/event_engine/windows/windows_engine.h +18 -15
  1295. data/src/core/lib/event_engine/windows/windows_listener.cc +9 -13
  1296. data/src/core/lib/event_engine/windows/windows_listener.h +15 -13
  1297. data/src/core/lib/event_engine/work_queue/basic_work_queue.cc +5 -7
  1298. data/src/core/lib/event_engine/work_queue/basic_work_queue.h +5 -9
  1299. data/src/core/lib/event_engine/work_queue/work_queue.h +4 -7
  1300. data/src/core/lib/experiments/config.cc +9 -12
  1301. data/src/core/lib/experiments/config.h +1 -2
  1302. data/src/core/lib/experiments/experiments.cc +442 -174
  1303. data/src/core/lib/experiments/experiments.h +187 -86
  1304. data/src/core/lib/iomgr/buffer_list.cc +4 -5
  1305. data/src/core/lib/iomgr/buffer_list.h +23 -23
  1306. data/src/core/lib/iomgr/call_combiner.cc +2 -4
  1307. data/src/core/lib/iomgr/call_combiner.h +6 -8
  1308. data/src/core/lib/iomgr/cfstream_handle.cc +2 -6
  1309. data/src/core/lib/iomgr/cfstream_handle.h +1 -1
  1310. data/src/core/lib/iomgr/closure.cc +2 -2
  1311. data/src/core/lib/iomgr/closure.h +7 -10
  1312. data/src/core/lib/iomgr/combiner.cc +4 -7
  1313. data/src/core/lib/iomgr/combiner.h +2 -3
  1314. data/src/core/lib/iomgr/endpoint.h +1 -2
  1315. data/src/core/lib/iomgr/endpoint_cfstream.cc +2 -4
  1316. data/src/core/lib/iomgr/endpoint_pair_posix.cc +45 -20
  1317. data/src/core/lib/iomgr/endpoint_pair_windows.cc +44 -10
  1318. data/src/core/lib/iomgr/error.cc +34 -52
  1319. data/src/core/lib/iomgr/error.h +6 -8
  1320. data/src/core/lib/iomgr/error_cfstream.cc +1 -3
  1321. data/src/core/lib/iomgr/ev_apple.cc +3 -4
  1322. data/src/core/lib/iomgr/ev_epoll1_linux.cc +20 -10
  1323. data/src/core/lib/iomgr/ev_poll_posix.cc +16 -5
  1324. data/src/core/lib/iomgr/ev_posix.cc +4 -6
  1325. data/src/core/lib/iomgr/ev_posix.h +1 -2
  1326. data/src/core/lib/iomgr/event_engine_shims/closure.cc +3 -5
  1327. data/src/core/lib/iomgr/event_engine_shims/closure.h +1 -2
  1328. data/src/core/lib/iomgr/event_engine_shims/endpoint.cc +11 -14
  1329. data/src/core/lib/iomgr/event_engine_shims/endpoint.h +2 -2
  1330. data/src/core/lib/iomgr/event_engine_shims/tcp_client.cc +2 -4
  1331. data/src/core/lib/iomgr/exec_ctx.cc +5 -12
  1332. data/src/core/lib/iomgr/exec_ctx.h +7 -140
  1333. data/src/core/lib/iomgr/executor.cc +6 -19
  1334. data/src/core/lib/iomgr/executor.h +1 -1
  1335. data/src/core/lib/iomgr/fork_posix.cc +5 -7
  1336. data/src/core/lib/iomgr/fork_windows.cc +2 -2
  1337. data/src/core/lib/iomgr/internal_errqueue.cc +2 -3
  1338. data/src/core/lib/iomgr/iocp_windows.cc +4 -6
  1339. data/src/core/lib/iomgr/iomgr.cc +7 -9
  1340. data/src/core/lib/iomgr/iomgr.h +1 -2
  1341. data/src/core/lib/iomgr/iomgr_internal.cc +1 -2
  1342. data/src/core/lib/iomgr/iomgr_internal.h +1 -2
  1343. data/src/core/lib/iomgr/iomgr_posix.cc +2 -1
  1344. data/src/core/lib/iomgr/iomgr_windows.cc +4 -3
  1345. data/src/core/lib/iomgr/lockfree_event.cc +3 -4
  1346. data/src/core/lib/iomgr/nameser.h +1 -1
  1347. data/src/core/lib/iomgr/polling_entity.cc +5 -11
  1348. data/src/core/lib/iomgr/pollset_set_windows.cc +1 -2
  1349. data/src/core/lib/iomgr/pollset_windows.cc +2 -2
  1350. data/src/core/lib/iomgr/port.h +2 -2
  1351. data/src/core/lib/iomgr/resolve_address.cc +3 -4
  1352. data/src/core/lib/iomgr/resolve_address.h +4 -6
  1353. data/src/core/lib/iomgr/resolve_address_impl.h +1 -2
  1354. data/src/core/lib/iomgr/resolve_address_posix.cc +6 -9
  1355. data/src/core/lib/iomgr/resolve_address_posix.h +2 -2
  1356. data/src/core/lib/iomgr/resolve_address_windows.cc +8 -12
  1357. data/src/core/lib/iomgr/resolve_address_windows.h +2 -2
  1358. data/src/core/lib/iomgr/resolved_address.h +1 -2
  1359. data/src/core/lib/iomgr/sockaddr_utils_posix.cc +3 -5
  1360. data/src/core/lib/iomgr/socket_mutator.cc +1 -1
  1361. data/src/core/lib/iomgr/socket_mutator.h +1 -2
  1362. data/src/core/lib/iomgr/socket_utils.h +1 -2
  1363. data/src/core/lib/iomgr/socket_utils_common_posix.cc +6 -7
  1364. data/src/core/lib/iomgr/socket_utils_linux.cc +1 -1
  1365. data/src/core/lib/iomgr/socket_utils_posix.cc +23 -13
  1366. data/src/core/lib/iomgr/socket_utils_posix.h +12 -2
  1367. data/src/core/lib/iomgr/socket_utils_windows.cc +1 -1
  1368. data/src/core/lib/iomgr/socket_windows.cc +3 -5
  1369. data/src/core/lib/iomgr/socket_windows.h +1 -2
  1370. data/src/core/lib/iomgr/tcp_client_cfstream.cc +13 -16
  1371. data/src/core/lib/iomgr/tcp_client_posix.cc +16 -22
  1372. data/src/core/lib/iomgr/tcp_client_posix.h +1 -1
  1373. data/src/core/lib/iomgr/tcp_client_windows.cc +6 -8
  1374. data/src/core/lib/iomgr/tcp_posix.cc +70 -45
  1375. data/src/core/lib/iomgr/tcp_posix.h +10 -2
  1376. data/src/core/lib/iomgr/tcp_server.h +2 -2
  1377. data/src/core/lib/iomgr/tcp_server_posix.cc +19 -15
  1378. data/src/core/lib/iomgr/tcp_server_utils_posix.h +2 -3
  1379. data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +4 -9
  1380. data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +4 -6
  1381. data/src/core/lib/iomgr/tcp_server_windows.cc +38 -30
  1382. data/src/core/lib/iomgr/tcp_windows.cc +4 -6
  1383. data/src/core/lib/iomgr/timer.h +2 -2
  1384. data/src/core/lib/iomgr/timer_generic.cc +9 -11
  1385. data/src/core/lib/iomgr/timer_heap.cc +2 -3
  1386. data/src/core/lib/iomgr/timer_manager.cc +5 -15
  1387. data/src/core/lib/iomgr/timer_manager.h +1 -2
  1388. data/src/core/lib/iomgr/unix_sockets_posix.cc +3 -4
  1389. data/src/core/lib/iomgr/unix_sockets_posix.h +3 -4
  1390. data/src/core/lib/iomgr/unix_sockets_posix_noop.cc +0 -2
  1391. data/src/core/lib/iomgr/vsock.cc +2 -4
  1392. data/src/core/lib/iomgr/vsock.h +3 -4
  1393. data/src/core/lib/iomgr/wakeup_fd_eventfd.cc +2 -2
  1394. data/src/core/lib/iomgr/wakeup_fd_pipe.cc +13 -6
  1395. data/src/core/lib/promise/activity.cc +4 -4
  1396. data/src/core/lib/promise/activity.h +43 -24
  1397. data/src/core/lib/promise/all_ok.h +71 -4
  1398. data/src/core/lib/promise/arena_promise.h +2 -4
  1399. data/src/core/lib/promise/cancel_callback.h +4 -4
  1400. data/src/core/lib/promise/context.h +7 -8
  1401. data/src/core/lib/promise/detail/basic_seq.h +33 -19
  1402. data/src/core/lib/promise/detail/join_state.h +20 -73
  1403. data/src/core/lib/promise/detail/promise_factory.h +92 -33
  1404. data/src/core/lib/promise/detail/promise_like.h +34 -15
  1405. data/src/core/lib/promise/detail/seq_state.h +285 -500
  1406. data/src/core/lib/promise/detail/status.h +5 -5
  1407. data/src/core/lib/promise/exec_ctx_wakeup_scheduler.h +2 -3
  1408. data/src/core/lib/promise/for_each.h +23 -15
  1409. data/src/core/lib/promise/if.h +56 -28
  1410. data/src/core/lib/promise/interceptor_list.h +12 -14
  1411. data/src/core/lib/promise/latch.h +15 -9
  1412. data/src/core/lib/promise/loop.h +73 -22
  1413. data/src/core/lib/promise/map.h +230 -21
  1414. data/src/core/lib/promise/observable.h +3 -4
  1415. data/src/core/lib/promise/party.cc +119 -84
  1416. data/src/core/lib/promise/party.h +286 -65
  1417. data/src/core/lib/promise/pipe.h +15 -17
  1418. data/src/core/lib/promise/poll.h +40 -23
  1419. data/src/core/lib/promise/prioritized_race.h +17 -23
  1420. data/src/core/lib/promise/promise.h +8 -10
  1421. data/src/core/lib/promise/race.h +6 -14
  1422. data/src/core/lib/promise/seq.h +58 -45
  1423. data/src/core/lib/promise/sleep.cc +6 -6
  1424. data/src/core/lib/promise/sleep.h +19 -6
  1425. data/src/core/lib/promise/status_flag.h +51 -17
  1426. data/src/core/lib/promise/try_join.h +124 -10
  1427. data/src/core/lib/promise/try_seq.h +84 -59
  1428. data/src/core/lib/resource_quota/api.cc +4 -6
  1429. data/src/core/lib/resource_quota/api.h +2 -3
  1430. data/src/core/lib/resource_quota/arena.cc +3 -4
  1431. data/src/core/lib/resource_quota/arena.h +91 -5
  1432. data/src/core/lib/resource_quota/connection_quota.cc +2 -2
  1433. data/src/core/lib/resource_quota/connection_quota.h +9 -6
  1434. data/src/core/lib/resource_quota/memory_quota.cc +73 -60
  1435. data/src/core/lib/resource_quota/memory_quota.h +25 -17
  1436. data/src/core/lib/resource_quota/periodic_update.cc +4 -4
  1437. data/src/core/lib/resource_quota/periodic_update.h +2 -4
  1438. data/src/core/lib/resource_quota/resource_quota.h +7 -8
  1439. data/src/core/lib/resource_quota/thread_quota.cc +2 -2
  1440. data/src/core/lib/resource_quota/thread_quota.h +5 -6
  1441. data/src/core/lib/security/authorization/audit_logging.cc +5 -6
  1442. data/src/core/lib/security/authorization/audit_logging.h +5 -6
  1443. data/src/core/lib/security/authorization/authorization_engine.h +3 -3
  1444. data/src/core/lib/security/authorization/authorization_policy_provider.h +3 -4
  1445. data/src/core/lib/security/authorization/authorization_policy_provider_vtable.cc +1 -1
  1446. data/src/core/lib/security/authorization/evaluate_args.cc +8 -10
  1447. data/src/core/lib/security/authorization/evaluate_args.h +7 -8
  1448. data/src/core/lib/security/authorization/grpc_authorization_engine.cc +2 -3
  1449. data/src/core/lib/security/authorization/grpc_authorization_engine.h +2 -3
  1450. data/src/core/lib/security/authorization/grpc_server_authz_filter.cc +6 -11
  1451. data/src/core/lib/security/authorization/grpc_server_authz_filter.h +9 -10
  1452. data/src/core/lib/security/authorization/matchers.cc +2 -4
  1453. data/src/core/lib/security/authorization/matchers.h +5 -7
  1454. data/src/core/lib/security/authorization/rbac_policy.cc +3 -3
  1455. data/src/core/lib/security/authorization/rbac_policy.h +6 -8
  1456. data/src/core/lib/security/authorization/stdout_logger.cc +4 -4
  1457. data/src/core/lib/security/authorization/stdout_logger.h +4 -4
  1458. data/src/core/lib/slice/percent_encoding.cc +2 -4
  1459. data/src/core/lib/slice/slice.cc +4 -6
  1460. data/src/core/lib/slice/slice.h +11 -7
  1461. data/src/core/lib/slice/slice_buffer.cc +7 -8
  1462. data/src/core/lib/slice/slice_buffer.h +5 -6
  1463. data/src/core/lib/slice/slice_internal.h +3 -5
  1464. data/src/core/lib/slice/slice_refcount.h +2 -3
  1465. data/src/core/lib/slice/slice_string_helpers.h +1 -2
  1466. data/src/core/lib/surface/byte_buffer.cc +1 -2
  1467. data/src/core/lib/surface/byte_buffer_reader.cc +3 -5
  1468. data/src/core/lib/surface/call.cc +42 -46
  1469. data/src/core/lib/surface/call.h +10 -11
  1470. data/src/core/lib/surface/call_log_batch.cc +3 -5
  1471. data/src/core/lib/surface/call_test_only.h +1 -2
  1472. data/src/core/lib/surface/call_utils.cc +21 -64
  1473. data/src/core/lib/surface/call_utils.h +70 -26
  1474. data/src/core/lib/surface/channel.cc +7 -16
  1475. data/src/core/lib/surface/channel.h +16 -17
  1476. data/src/core/lib/surface/channel_create.cc +2 -3
  1477. data/src/core/lib/surface/channel_create.h +2 -3
  1478. data/src/core/lib/surface/channel_init.cc +5 -7
  1479. data/src/core/lib/surface/channel_init.h +6 -8
  1480. data/src/core/lib/surface/completion_queue.cc +99 -80
  1481. data/src/core/lib/surface/completion_queue.h +4 -5
  1482. data/src/core/lib/surface/completion_queue_factory.cc +1 -2
  1483. data/src/core/lib/surface/connection_context.cc +77 -0
  1484. data/src/core/lib/surface/connection_context.h +156 -0
  1485. data/src/core/lib/surface/event_string.cc +9 -3
  1486. data/src/core/lib/surface/event_string.h +2 -2
  1487. data/src/core/lib/surface/filter_stack_call.cc +60 -51
  1488. data/src/core/lib/surface/filter_stack_call.h +18 -20
  1489. data/src/core/lib/surface/init.cc +46 -21
  1490. data/src/core/lib/surface/init.h +5 -0
  1491. data/src/core/lib/surface/init_internally.h +13 -2
  1492. data/src/core/lib/surface/lame_client.cc +11 -12
  1493. data/src/core/lib/surface/lame_client.h +4 -5
  1494. data/src/core/lib/surface/legacy_channel.cc +47 -42
  1495. data/src/core/lib/surface/legacy_channel.h +8 -9
  1496. data/src/core/lib/surface/metadata_array.cc +1 -2
  1497. data/src/core/lib/surface/validate_metadata.cc +3 -4
  1498. data/src/core/lib/surface/validate_metadata.h +2 -4
  1499. data/src/core/lib/surface/version.cc +2 -2
  1500. data/src/core/lib/transport/bdp_estimator.cc +2 -3
  1501. data/src/core/lib/transport/bdp_estimator.h +3 -5
  1502. data/src/core/lib/transport/call_final_info.cc +2 -2
  1503. data/src/core/lib/transport/call_final_info.h +3 -3
  1504. data/src/core/lib/transport/connectivity_state.cc +11 -13
  1505. data/src/core/lib/transport/connectivity_state.h +7 -10
  1506. data/src/core/lib/transport/error_utils.cc +68 -15
  1507. data/src/core/lib/transport/error_utils.h +6 -7
  1508. data/src/core/lib/transport/status_conversion.cc +16 -14
  1509. data/src/core/lib/transport/status_conversion.h +6 -5
  1510. data/src/core/lib/transport/timeout_encoding.cc +22 -22
  1511. data/src/core/lib/transport/timeout_encoding.h +4 -5
  1512. data/src/core/lib/transport/transport.cc +4 -7
  1513. data/src/core/lib/transport/transport.h +24 -21
  1514. data/src/core/lib/transport/transport_framing_endpoint_extension.h +47 -0
  1515. data/src/core/lib/transport/transport_op_string.cc +5 -6
  1516. data/src/core/load_balancing/address_filtering.cc +2 -4
  1517. data/src/core/load_balancing/address_filtering.h +4 -5
  1518. data/src/core/load_balancing/backend_metric_data.h +2 -2
  1519. data/src/core/load_balancing/backend_metric_parser.cc +22 -30
  1520. data/src/core/load_balancing/backend_metric_parser.h +1 -3
  1521. data/src/core/load_balancing/child_policy_handler.cc +5 -6
  1522. data/src/core/load_balancing/child_policy_handler.h +4 -5
  1523. data/src/core/load_balancing/delegating_helper.h +7 -8
  1524. data/src/core/load_balancing/endpoint_list.cc +18 -10
  1525. data/src/core/load_balancing/endpoint_list.h +26 -21
  1526. data/src/core/load_balancing/grpclb/client_load_reporting_filter.cc +12 -11
  1527. data/src/core/load_balancing/grpclb/client_load_reporting_filter.h +5 -6
  1528. data/src/core/load_balancing/grpclb/grpclb.cc +42 -62
  1529. data/src/core/load_balancing/grpclb/grpclb_balancer_addresses.cc +1 -2
  1530. data/src/core/load_balancing/grpclb/grpclb_client_stats.cc +2 -3
  1531. data/src/core/load_balancing/grpclb/grpclb_client_stats.h +5 -7
  1532. data/src/core/load_balancing/grpclb/load_balancer_api.cc +4 -6
  1533. data/src/core/load_balancing/grpclb/load_balancer_api.h +4 -6
  1534. data/src/core/load_balancing/health_check_client.cc +36 -68
  1535. data/src/core/load_balancing/health_check_client.h +3 -3
  1536. data/src/core/load_balancing/health_check_client_internal.h +15 -16
  1537. data/src/core/load_balancing/lb_policy.cc +4 -6
  1538. data/src/core/load_balancing/lb_policy.h +17 -27
  1539. data/src/core/load_balancing/lb_policy_factory.h +4 -5
  1540. data/src/core/load_balancing/lb_policy_registry.cc +13 -12
  1541. data/src/core/load_balancing/lb_policy_registry.h +4 -5
  1542. data/src/core/load_balancing/oob_backend_metric.cc +14 -16
  1543. data/src/core/load_balancing/oob_backend_metric.h +3 -3
  1544. data/src/core/load_balancing/oob_backend_metric_internal.h +8 -9
  1545. data/src/core/load_balancing/outlier_detection/outlier_detection.cc +88 -94
  1546. data/src/core/load_balancing/outlier_detection/outlier_detection.h +6 -7
  1547. data/src/core/load_balancing/pick_first/pick_first.cc +78 -997
  1548. data/src/core/load_balancing/priority/priority.cc +20 -27
  1549. data/src/core/load_balancing/ring_hash/ring_hash.cc +223 -173
  1550. data/src/core/load_balancing/ring_hash/ring_hash.h +7 -15
  1551. data/src/core/load_balancing/rls/rls.cc +159 -256
  1552. data/src/core/load_balancing/rls/rls.h +97 -1
  1553. data/src/core/load_balancing/round_robin/round_robin.cc +23 -34
  1554. data/src/core/load_balancing/subchannel_interface.h +13 -6
  1555. data/src/core/load_balancing/weighted_round_robin/static_stride_scheduler.cc +8 -8
  1556. data/src/core/load_balancing/weighted_round_robin/static_stride_scheduler.h +4 -5
  1557. data/src/core/load_balancing/weighted_round_robin/weighted_round_robin.cc +35 -48
  1558. data/src/core/load_balancing/weighted_target/weighted_target.cc +19 -29
  1559. data/src/core/load_balancing/xds/cds.cc +37 -45
  1560. data/src/core/load_balancing/xds/xds_cluster_impl.cc +58 -64
  1561. data/src/core/load_balancing/xds/xds_cluster_manager.cc +20 -30
  1562. data/src/core/load_balancing/xds/xds_override_host.cc +59 -108
  1563. data/src/core/load_balancing/xds/xds_override_host.h +3 -4
  1564. data/src/core/load_balancing/xds/xds_wrr_locality.cc +21 -24
  1565. data/src/core/plugin_registry/grpc_plugin_registry.cc +3 -7
  1566. data/src/core/plugin_registry/grpc_plugin_registry_extra.cc +3 -3
  1567. data/src/core/resolver/dns/c_ares/dns_resolver_ares.cc +25 -30
  1568. data/src/core/resolver/dns/c_ares/dns_resolver_ares.h +2 -3
  1569. data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver.h +4 -6
  1570. data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +2 -4
  1571. data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +8 -11
  1572. data/src/core/resolver/dns/c_ares/grpc_ares_wrapper.cc +15 -19
  1573. data/src/core/resolver/dns/c_ares/grpc_ares_wrapper.h +7 -6
  1574. data/src/core/resolver/dns/dns_resolver_plugin.cc +4 -5
  1575. data/src/core/resolver/dns/dns_resolver_plugin.h +1 -1
  1576. data/src/core/resolver/dns/event_engine/event_engine_client_channel_resolver.cc +19 -26
  1577. data/src/core/resolver/dns/event_engine/event_engine_client_channel_resolver.h +3 -4
  1578. data/src/core/resolver/dns/event_engine/service_config_helper.cc +3 -5
  1579. data/src/core/resolver/dns/event_engine/service_config_helper.h +2 -2
  1580. data/src/core/resolver/dns/native/dns_resolver.cc +11 -12
  1581. data/src/core/resolver/dns/native/dns_resolver.h +1 -1
  1582. data/src/core/resolver/endpoint_addresses.cc +1 -3
  1583. data/src/core/resolver/endpoint_addresses.h +2 -3
  1584. data/src/core/resolver/fake/fake_resolver.cc +17 -19
  1585. data/src/core/resolver/fake/fake_resolver.h +9 -10
  1586. data/src/core/resolver/google_c2p/google_c2p_resolver.cc +21 -25
  1587. data/src/core/resolver/polling_resolver.cc +8 -13
  1588. data/src/core/resolver/polling_resolver.h +10 -11
  1589. data/src/core/resolver/resolver.h +4 -5
  1590. data/src/core/resolver/resolver_factory.h +4 -5
  1591. data/src/core/resolver/resolver_registry.cc +6 -5
  1592. data/src/core/resolver/resolver_registry.h +4 -5
  1593. data/src/core/resolver/sockaddr/sockaddr_resolver.cc +5 -6
  1594. data/src/core/resolver/xds/xds_config.cc +7 -8
  1595. data/src/core/resolver/xds/xds_config.h +3 -4
  1596. data/src/core/resolver/xds/xds_dependency_manager.cc +200 -191
  1597. data/src/core/resolver/xds/xds_dependency_manager.h +29 -20
  1598. data/src/core/resolver/xds/xds_resolver.cc +98 -141
  1599. data/src/core/resolver/xds/xds_resolver_attributes.h +2 -3
  1600. data/src/core/server/server.cc +376 -92
  1601. data/src/core/server/server.h +228 -82
  1602. data/src/core/server/server_call_tracer_filter.cc +15 -12
  1603. data/src/core/server/server_call_tracer_filter.h +1 -1
  1604. data/src/core/server/server_config_selector.h +6 -7
  1605. data/src/core/server/server_config_selector_filter.cc +17 -22
  1606. data/src/core/server/xds_channel_stack_modifier.cc +3 -3
  1607. data/src/core/server/xds_channel_stack_modifier.h +5 -6
  1608. data/src/core/server/xds_server_config_fetcher.cc +121 -188
  1609. data/src/core/service_config/service_config.h +3 -5
  1610. data/src/core/service_config/service_config_call_data.h +5 -6
  1611. data/src/core/service_config/service_config_channel_arg_filter.cc +16 -26
  1612. data/src/core/service_config/service_config_impl.cc +7 -9
  1613. data/src/core/service_config/service_config_impl.h +4 -6
  1614. data/src/core/service_config/service_config_parser.cc +1 -2
  1615. data/src/core/service_config/service_config_parser.h +2 -4
  1616. data/src/core/telemetry/call_tracer.cc +12 -15
  1617. data/src/core/telemetry/call_tracer.h +13 -13
  1618. data/src/core/telemetry/histogram_view.cc +3 -3
  1619. data/src/core/telemetry/histogram_view.h +1 -2
  1620. data/src/core/telemetry/metrics.cc +47 -27
  1621. data/src/core/telemetry/metrics.h +30 -21
  1622. data/src/core/telemetry/stats.cc +1 -2
  1623. data/src/core/telemetry/stats.h +2 -4
  1624. data/src/core/telemetry/stats_data.cc +187 -2
  1625. data/src/core/telemetry/stats_data.h +124 -4
  1626. data/src/core/telemetry/tcp_tracer.h +92 -87
  1627. data/src/core/transport/auth_context.cc +236 -0
  1628. data/src/core/transport/auth_context.h +140 -0
  1629. data/src/core/tsi/alts/crypt/aes_gcm.cc +5 -8
  1630. data/src/core/tsi/alts/crypt/gsec.cc +2 -3
  1631. data/src/core/tsi/alts/crypt/gsec.h +3 -4
  1632. data/src/core/tsi/alts/frame_protector/alts_counter.cc +1 -2
  1633. data/src/core/tsi/alts/frame_protector/alts_counter.h +3 -4
  1634. data/src/core/tsi/alts/frame_protector/alts_crypter.cc +1 -2
  1635. data/src/core/tsi/alts/frame_protector/alts_crypter.h +2 -3
  1636. data/src/core/tsi/alts/frame_protector/alts_frame_protector.cc +4 -5
  1637. data/src/core/tsi/alts/frame_protector/alts_frame_protector.h +1 -2
  1638. data/src/core/tsi/alts/frame_protector/alts_seal_privacy_integrity_crypter.cc +1 -1
  1639. data/src/core/tsi/alts/frame_protector/alts_unseal_privacy_integrity_crypter.cc +1 -1
  1640. data/src/core/tsi/alts/frame_protector/frame_handler.cc +4 -6
  1641. data/src/core/tsi/alts/frame_protector/frame_handler.h +1 -2
  1642. data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +14 -15
  1643. data/src/core/tsi/alts/handshaker/alts_shared_resource.cc +2 -3
  1644. data/src/core/tsi/alts/handshaker/alts_shared_resource.h +1 -1
  1645. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +33 -31
  1646. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.h +1 -1
  1647. data/src/core/tsi/alts/handshaker/alts_tsi_utils.cc +2 -3
  1648. data/src/core/tsi/alts/handshaker/transport_security_common_api.cc +2 -2
  1649. data/src/core/tsi/alts/handshaker/transport_security_common_api.h +3 -3
  1650. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.cc +3 -5
  1651. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.h +1 -2
  1652. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.cc +2 -3
  1653. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.h +1 -2
  1654. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc +3 -5
  1655. data/src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.cc +3 -4
  1656. data/src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.h +1 -2
  1657. data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +3 -5
  1658. data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.h +1 -2
  1659. data/src/core/tsi/fake_transport_security.cc +9 -7
  1660. data/src/core/tsi/local_transport_security.cc +4 -6
  1661. data/src/core/tsi/ssl/key_logging/ssl_key_logging.cc +4 -5
  1662. data/src/core/tsi/ssl/key_logging/ssl_key_logging.h +8 -10
  1663. data/src/core/tsi/ssl/session_cache/ssl_session.h +4 -5
  1664. data/src/core/tsi/ssl/session_cache/ssl_session_cache.cc +4 -5
  1665. data/src/core/tsi/ssl/session_cache/ssl_session_cache.h +7 -8
  1666. data/src/core/tsi/ssl/session_cache/ssl_session_openssl.cc +2 -4
  1667. data/src/core/tsi/ssl_transport_security.cc +30 -18
  1668. data/src/core/tsi/ssl_transport_security.h +6 -8
  1669. data/src/core/tsi/ssl_transport_security_utils.cc +1 -3
  1670. data/src/core/tsi/ssl_transport_security_utils.h +3 -5
  1671. data/src/core/tsi/ssl_types.h +1 -2
  1672. data/src/core/tsi/transport_security.cc +2 -3
  1673. data/src/core/tsi/transport_security.h +1 -2
  1674. data/src/core/tsi/transport_security_interface.h +3 -4
  1675. data/src/core/util/alloc.cc +2 -5
  1676. data/src/core/util/atomic_utils.h +47 -0
  1677. data/src/core/util/avl.h +324 -0
  1678. data/src/core/util/backoff.cc +57 -0
  1679. data/src/core/util/backoff.h +86 -0
  1680. data/src/core/util/bitset.h +224 -0
  1681. data/src/core/util/check_class_size.h +48 -0
  1682. data/src/core/util/chunked_vector.h +256 -0
  1683. data/src/core/util/construct_destruct.h +41 -0
  1684. data/src/core/util/cpp_impl_of.h +49 -0
  1685. data/src/core/util/crash.cc +40 -0
  1686. data/src/core/util/crash.h +36 -0
  1687. data/src/core/util/debug_location.h +106 -0
  1688. data/src/core/util/directory_reader.h +48 -0
  1689. data/src/core/util/down_cast.h +48 -0
  1690. data/src/core/util/dual_ref_counted.h +376 -0
  1691. data/src/core/util/dump_args.cc +54 -0
  1692. data/src/core/util/dump_args.h +114 -0
  1693. data/src/core/util/env.h +52 -0
  1694. data/src/core/util/event_log.cc +87 -0
  1695. data/src/core/util/event_log.h +79 -0
  1696. data/src/core/util/examine_stack.cc +43 -0
  1697. data/src/core/util/examine_stack.h +44 -0
  1698. data/src/core/util/fork.cc +241 -0
  1699. data/src/core/util/fork.h +98 -0
  1700. data/src/core/util/gcp_metadata_query.cc +9 -12
  1701. data/src/core/util/gcp_metadata_query.h +2 -3
  1702. data/src/core/util/gethostname.h +26 -0
  1703. data/src/core/util/gethostname_fallback.cc +30 -0
  1704. data/src/core/util/gethostname_host_name_max.cc +39 -0
  1705. data/src/core/util/gethostname_sysconf.cc +39 -0
  1706. data/src/core/util/glob.h +29 -0
  1707. data/src/core/util/gpr_time.cc +266 -0
  1708. data/src/core/util/grpc_if_nametoindex.h +29 -0
  1709. data/src/core/util/grpc_if_nametoindex_posix.cc +41 -0
  1710. data/src/core/util/grpc_if_nametoindex_unsupported.cc +36 -0
  1711. data/src/core/util/host_port.cc +114 -0
  1712. data/src/core/util/host_port.h +57 -0
  1713. data/src/core/util/http_client/format_request.cc +2 -5
  1714. data/src/core/util/http_client/format_request.h +1 -2
  1715. data/src/core/util/http_client/httpcli.cc +91 -40
  1716. data/src/core/util/http_client/httpcli.h +26 -19
  1717. data/src/core/util/http_client/httpcli_security_connector.cc +14 -17
  1718. data/src/core/util/http_client/httpcli_ssl_credentials.h +2 -3
  1719. data/src/core/util/http_client/parser.cc +2 -4
  1720. data/src/core/util/http_client/parser.h +1 -3
  1721. data/src/core/util/if_list.h +4530 -0
  1722. data/src/core/util/iphone/cpu.cc +1 -2
  1723. data/src/core/util/json/json.h +1 -2
  1724. data/src/core/util/json/json_channel_args.h +2 -2
  1725. data/src/core/util/json/json_object_loader.cc +7 -8
  1726. data/src/core/util/json/json_object_loader.h +20 -21
  1727. data/src/core/util/json/json_reader.cc +6 -9
  1728. data/src/core/util/json/json_reader.h +0 -1
  1729. data/src/core/util/json/json_util.cc +4 -4
  1730. data/src/core/util/json/json_util.h +1 -2
  1731. data/src/core/util/json/json_writer.cc +4 -6
  1732. data/src/core/util/latent_see.cc +100 -70
  1733. data/src/core/util/latent_see.h +45 -20
  1734. data/src/core/util/linux/cpu.cc +4 -6
  1735. data/src/core/util/linux/env.cc +61 -0
  1736. data/src/core/util/load_file.cc +87 -0
  1737. data/src/core/util/load_file.h +33 -0
  1738. data/src/core/util/log.cc +10 -13
  1739. data/src/core/util/lru_cache.h +31 -13
  1740. data/src/core/util/manual_constructor.h +145 -0
  1741. data/src/core/util/match.h +74 -0
  1742. data/src/core/util/matchers.cc +336 -0
  1743. data/src/core/util/matchers.h +162 -0
  1744. data/src/core/util/memory.h +52 -0
  1745. data/src/core/util/mpscq.cc +108 -0
  1746. data/src/core/util/mpscq.h +98 -0
  1747. data/src/core/util/msys/tmpfile.cc +3 -4
  1748. data/src/core/util/no_destruct.h +95 -0
  1749. data/src/core/util/notification.h +66 -0
  1750. data/src/core/util/orphanable.h +153 -0
  1751. data/src/core/util/overload.h +59 -0
  1752. data/src/core/util/packed_table.h +40 -0
  1753. data/src/core/util/per_cpu.cc +34 -0
  1754. data/src/core/util/per_cpu.h +102 -0
  1755. data/src/core/util/posix/cpu.cc +3 -5
  1756. data/src/core/util/posix/directory_reader.cc +82 -0
  1757. data/src/core/util/posix/env.cc +47 -0
  1758. data/src/core/util/posix/stat.cc +54 -0
  1759. data/src/core/util/posix/string.cc +2 -3
  1760. data/src/core/util/posix/sync.cc +2 -5
  1761. data/src/core/util/posix/thd.cc +243 -0
  1762. data/src/core/util/posix/time.cc +3 -5
  1763. data/src/core/util/posix/tmpfile.cc +4 -6
  1764. data/src/core/util/random_early_detection.cc +33 -0
  1765. data/src/core/util/random_early_detection.h +61 -0
  1766. data/src/core/util/ref_counted.h +403 -0
  1767. data/src/core/util/ref_counted_ptr.h +443 -0
  1768. data/src/core/util/ref_counted_string.cc +42 -0
  1769. data/src/core/util/ref_counted_string.h +159 -0
  1770. data/src/core/util/ring_buffer.h +4 -5
  1771. data/src/core/util/single_set_ptr.h +89 -0
  1772. data/src/core/util/sorted_pack.h +89 -0
  1773. data/src/core/util/spinlock.h +1 -2
  1774. data/src/core/util/stat.h +35 -0
  1775. data/src/core/util/status_helper.cc +450 -0
  1776. data/src/core/util/status_helper.h +143 -0
  1777. data/src/core/util/strerror.cc +40 -0
  1778. data/src/core/util/strerror.h +29 -0
  1779. data/src/core/util/string.cc +6 -9
  1780. data/src/core/util/string.h +1 -3
  1781. data/src/core/util/sync.cc +3 -5
  1782. data/src/core/util/sync.h +199 -0
  1783. data/src/core/util/sync_abseil.cc +4 -7
  1784. data/src/core/util/table.h +471 -0
  1785. data/src/core/util/tchar.cc +49 -0
  1786. data/src/core/util/tchar.h +33 -0
  1787. data/src/core/util/thd.h +193 -0
  1788. data/src/core/util/time.cc +174 -204
  1789. data/src/core/util/time.h +385 -0
  1790. data/src/core/util/time_averaged_stats.cc +60 -0
  1791. data/src/core/util/time_averaged_stats.h +79 -0
  1792. data/src/core/util/time_precise.cc +2 -4
  1793. data/src/core/util/time_precise.h +0 -1
  1794. data/src/core/util/time_util.cc +80 -0
  1795. data/src/core/util/time_util.h +41 -0
  1796. data/src/core/util/tmpfile.h +0 -1
  1797. data/src/core/util/type_list.h +88 -0
  1798. data/src/core/util/unique_type_name.h +123 -0
  1799. data/src/core/util/uri.cc +378 -0
  1800. data/src/core/util/uri.h +112 -0
  1801. data/src/core/util/useful.h +13 -15
  1802. data/src/core/util/uuid_v4.cc +37 -0
  1803. data/src/core/util/uuid_v4.h +35 -0
  1804. data/src/core/util/validation_errors.cc +73 -0
  1805. data/src/core/util/validation_errors.h +144 -0
  1806. data/src/core/util/wait_for_single_owner.h +62 -0
  1807. data/src/core/util/windows/cpu.cc +1 -1
  1808. data/src/core/util/windows/directory_reader.cc +79 -0
  1809. data/src/core/util/windows/env.cc +56 -0
  1810. data/src/core/util/windows/stat.cc +50 -0
  1811. data/src/core/util/windows/string.cc +2 -3
  1812. data/src/core/util/windows/string_util.cc +5 -7
  1813. data/src/core/util/windows/sync.cc +1 -3
  1814. data/src/core/util/windows/thd.cc +182 -0
  1815. data/src/core/util/windows/time.cc +1 -4
  1816. data/src/core/util/windows/tmpfile.cc +4 -5
  1817. data/src/core/util/work_serializer.cc +298 -0
  1818. data/src/core/util/work_serializer.h +81 -0
  1819. data/src/core/util/xxhash_inline.h +29 -0
  1820. data/src/core/xds/grpc/certificate_provider_store.cc +16 -22
  1821. data/src/core/xds/grpc/certificate_provider_store.h +12 -13
  1822. data/src/core/xds/grpc/file_watcher_certificate_provider_factory.cc +8 -9
  1823. data/src/core/xds/grpc/file_watcher_certificate_provider_factory.h +7 -8
  1824. data/src/core/xds/grpc/xds_audit_logger_registry.cc +5 -6
  1825. data/src/core/xds/grpc/xds_audit_logger_registry.h +3 -4
  1826. data/src/core/xds/grpc/xds_bootstrap_grpc.cc +23 -24
  1827. data/src/core/xds/grpc/xds_bootstrap_grpc.h +6 -6
  1828. data/src/core/xds/grpc/xds_certificate_provider.cc +18 -19
  1829. data/src/core/xds/grpc/xds_certificate_provider.h +10 -11
  1830. data/src/core/xds/grpc/xds_client_grpc.cc +74 -50
  1831. data/src/core/xds/grpc/xds_client_grpc.h +17 -9
  1832. data/src/core/xds/grpc/xds_cluster.cc +9 -4
  1833. data/src/core/xds/grpc/xds_cluster.h +34 -8
  1834. data/src/core/xds/grpc/xds_cluster_parser.cc +131 -50
  1835. data/src/core/xds/grpc/xds_cluster_parser.h +6 -2
  1836. data/src/core/xds/grpc/xds_cluster_specifier_plugin.cc +9 -11
  1837. data/src/core/xds/grpc/xds_cluster_specifier_plugin.h +5 -6
  1838. data/src/core/xds/grpc/xds_common_types.cc +3 -4
  1839. data/src/core/xds/grpc/xds_common_types.h +6 -7
  1840. data/src/core/xds/grpc/xds_common_types_parser.cc +68 -34
  1841. data/src/core/xds/grpc/xds_common_types_parser.h +15 -9
  1842. data/src/core/xds/grpc/xds_endpoint.cc +3 -4
  1843. data/src/core/xds/grpc/xds_endpoint.h +7 -5
  1844. data/src/core/xds/grpc/xds_endpoint_parser.cc +92 -56
  1845. data/src/core/xds/grpc/xds_endpoint_parser.h +1 -2
  1846. data/src/core/xds/grpc/xds_health_status.cc +4 -4
  1847. data/src/core/xds/grpc/xds_health_status.h +4 -4
  1848. data/src/core/xds/grpc/xds_http_fault_filter.cc +24 -28
  1849. data/src/core/xds/grpc/xds_http_fault_filter.h +8 -8
  1850. data/src/core/xds/grpc/xds_http_filter.h +6 -7
  1851. data/src/core/xds/grpc/xds_http_filter_registry.cc +9 -10
  1852. data/src/core/xds/grpc/xds_http_filter_registry.h +6 -7
  1853. data/src/core/xds/grpc/xds_http_gcp_authn_filter.cc +12 -13
  1854. data/src/core/xds/grpc/xds_http_gcp_authn_filter.h +6 -6
  1855. data/src/core/xds/grpc/xds_http_rbac_filter.cc +71 -61
  1856. data/src/core/xds/grpc/xds_http_rbac_filter.h +8 -8
  1857. data/src/core/xds/grpc/xds_http_stateful_session_filter.cc +15 -16
  1858. data/src/core/xds/grpc/xds_http_stateful_session_filter.h +8 -8
  1859. data/src/core/xds/grpc/xds_lb_policy_registry.cc +9 -11
  1860. data/src/core/xds/grpc/xds_lb_policy_registry.h +4 -5
  1861. data/src/core/xds/grpc/xds_listener.cc +5 -8
  1862. data/src/core/xds/grpc/xds_listener.h +11 -12
  1863. data/src/core/xds/grpc/xds_listener_parser.cc +62 -58
  1864. data/src/core/xds/grpc/xds_listener_parser.h +3 -3
  1865. data/src/core/xds/grpc/xds_metadata.cc +5 -5
  1866. data/src/core/xds/grpc/xds_metadata.h +34 -3
  1867. data/src/core/xds/grpc/xds_metadata_parser.cc +102 -48
  1868. data/src/core/xds/grpc/xds_metadata_parser.h +1 -2
  1869. data/src/core/xds/grpc/xds_route_config.cc +12 -18
  1870. data/src/core/xds/grpc/xds_route_config.h +12 -13
  1871. data/src/core/xds/grpc/xds_route_config_parser.cc +125 -129
  1872. data/src/core/xds/grpc/xds_route_config_parser.h +8 -11
  1873. data/src/core/xds/grpc/xds_routing.cc +8 -10
  1874. data/src/core/xds/grpc/xds_routing.h +7 -9
  1875. data/src/core/xds/grpc/xds_server_grpc.cc +83 -51
  1876. data/src/core/xds/grpc/xds_server_grpc.h +28 -15
  1877. data/src/core/xds/grpc/xds_server_grpc_interface.h +33 -0
  1878. data/src/core/xds/grpc/xds_transport_grpc.cc +101 -57
  1879. data/src/core/xds/grpc/xds_transport_grpc.h +33 -20
  1880. data/src/core/xds/xds_client/lrs_client.cc +1281 -0
  1881. data/src/core/xds/xds_client/lrs_client.h +394 -0
  1882. data/src/core/xds/xds_client/xds_api.cc +28 -465
  1883. data/src/core/xds/xds_client/xds_api.h +6 -161
  1884. data/src/core/xds/xds_client/xds_backend_metric_propagation.cc +63 -0
  1885. data/src/core/xds/xds_client/xds_backend_metric_propagation.h +59 -0
  1886. data/src/core/xds/xds_client/xds_bootstrap.cc +12 -3
  1887. data/src/core/xds/xds_client/xds_bootstrap.h +25 -3
  1888. data/src/core/xds/xds_client/xds_client.cc +1086 -1296
  1889. data/src/core/xds/xds_client/xds_client.h +170 -115
  1890. data/src/core/xds/xds_client/xds_locality.h +102 -0
  1891. data/src/core/xds/xds_client/xds_metrics.h +2 -2
  1892. data/src/core/xds/xds_client/xds_resource_type.h +7 -10
  1893. data/src/core/xds/xds_client/xds_resource_type_impl.h +15 -11
  1894. data/src/core/xds/xds_client/xds_transport.h +29 -14
  1895. data/src/ruby/ext/grpc/extconf.rb +2 -1
  1896. data/src/ruby/ext/grpc/rb_byte_buffer.c +3 -3
  1897. data/src/ruby/ext/grpc/rb_call.c +5 -5
  1898. data/src/ruby/ext/grpc/rb_call_credentials.c +5 -6
  1899. data/src/ruby/ext/grpc/rb_channel.c +6 -7
  1900. data/src/ruby/ext/grpc/rb_channel_args.c +3 -3
  1901. data/src/ruby/ext/grpc/rb_channel_credentials.c +5 -6
  1902. data/src/ruby/ext/grpc/rb_channel_credentials.h +1 -2
  1903. data/src/ruby/ext/grpc/rb_completion_queue.c +3 -4
  1904. data/src/ruby/ext/grpc/rb_compression_options.c +6 -7
  1905. data/src/ruby/ext/grpc/rb_event_thread.c +4 -5
  1906. data/src/ruby/ext/grpc/rb_grpc.c +3 -4
  1907. data/src/ruby/ext/grpc/rb_grpc.h +2 -3
  1908. data/src/ruby/ext/grpc/rb_server.c +6 -6
  1909. data/src/ruby/ext/grpc/rb_server_credentials.c +3 -3
  1910. data/src/ruby/ext/grpc/rb_server_credentials.h +1 -2
  1911. data/src/ruby/ext/grpc/rb_xds_channel_credentials.c +5 -6
  1912. data/src/ruby/ext/grpc/rb_xds_channel_credentials.h +1 -2
  1913. data/src/ruby/ext/grpc/rb_xds_server_credentials.c +4 -4
  1914. data/src/ruby/ext/grpc/rb_xds_server_credentials.h +1 -2
  1915. data/src/ruby/lib/grpc/version.rb +1 -1
  1916. data/src/ruby/spec/generic/client_stub_spec.rb +20 -20
  1917. data/third_party/abseil-cpp/absl/algorithm/container.h +57 -18
  1918. data/third_party/abseil-cpp/absl/base/attributes.h +84 -0
  1919. data/third_party/abseil-cpp/absl/base/config.h +32 -51
  1920. data/third_party/abseil-cpp/absl/base/dynamic_annotations.h +0 -16
  1921. data/third_party/abseil-cpp/absl/base/internal/nullability_impl.h +3 -1
  1922. data/third_party/abseil-cpp/absl/base/internal/spinlock.h +13 -3
  1923. data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc +0 -12
  1924. data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock_config.h +4 -4
  1925. data/third_party/abseil-cpp/absl/base/macros.h +48 -0
  1926. data/third_party/abseil-cpp/absl/base/no_destructor.h +35 -40
  1927. data/third_party/abseil-cpp/absl/base/nullability.h +33 -7
  1928. data/third_party/abseil-cpp/absl/base/optimization.h +11 -0
  1929. data/third_party/abseil-cpp/absl/base/options.h +1 -1
  1930. data/third_party/abseil-cpp/absl/base/prefetch.h +1 -1
  1931. data/third_party/abseil-cpp/absl/container/flat_hash_map.h +68 -12
  1932. data/third_party/abseil-cpp/absl/container/flat_hash_set.h +60 -6
  1933. data/third_party/abseil-cpp/absl/container/hash_container_defaults.h +45 -0
  1934. data/third_party/abseil-cpp/absl/container/inlined_vector.h +13 -0
  1935. data/third_party/abseil-cpp/absl/container/internal/common_policy_traits.h +20 -11
  1936. data/third_party/abseil-cpp/absl/container/internal/compressed_tuple.h +15 -16
  1937. data/third_party/abseil-cpp/absl/container/internal/container_memory.h +34 -1
  1938. data/third_party/abseil-cpp/absl/container/internal/hash_function_defaults.h +68 -1
  1939. data/third_party/abseil-cpp/absl/container/internal/hash_policy_traits.h +50 -0
  1940. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +22 -7
  1941. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.h +26 -8
  1942. data/third_party/abseil-cpp/absl/container/internal/inlined_vector.h +39 -35
  1943. data/third_party/abseil-cpp/absl/container/internal/layout.h +190 -74
  1944. data/third_party/abseil-cpp/absl/container/internal/raw_hash_map.h +8 -6
  1945. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc +334 -71
  1946. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h +1299 -458
  1947. data/third_party/abseil-cpp/absl/crc/internal/crc32_x86_arm_combined_simd.h +19 -17
  1948. data/third_party/abseil-cpp/absl/crc/internal/crc_cord_state.cc +4 -3
  1949. data/third_party/abseil-cpp/absl/crc/internal/crc_memcpy_fallback.cc +2 -1
  1950. data/third_party/abseil-cpp/absl/crc/internal/crc_memcpy_x86_arm_combined.cc +12 -8
  1951. data/third_party/abseil-cpp/absl/crc/internal/crc_non_temporal_memcpy.cc +1 -1
  1952. data/third_party/abseil-cpp/absl/crc/internal/crc_x86_arm_combined.cc +11 -7
  1953. data/third_party/abseil-cpp/absl/crc/internal/non_temporal_memcpy.h +18 -17
  1954. data/third_party/abseil-cpp/absl/debugging/internal/bounded_utf8_length_sequence.h +126 -0
  1955. data/third_party/abseil-cpp/absl/debugging/internal/decode_rust_punycode.cc +258 -0
  1956. data/third_party/abseil-cpp/absl/debugging/internal/decode_rust_punycode.h +55 -0
  1957. data/third_party/abseil-cpp/absl/debugging/internal/demangle.cc +1057 -86
  1958. data/third_party/abseil-cpp/absl/debugging/internal/demangle.h +3 -0
  1959. data/third_party/abseil-cpp/absl/debugging/internal/demangle_rust.cc +925 -0
  1960. data/third_party/abseil-cpp/absl/debugging/internal/demangle_rust.h +42 -0
  1961. data/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.cc +43 -16
  1962. data/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h +8 -7
  1963. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +10 -7
  1964. data/third_party/abseil-cpp/absl/debugging/internal/utf8_for_code_point.cc +70 -0
  1965. data/third_party/abseil-cpp/absl/debugging/internal/utf8_for_code_point.h +47 -0
  1966. data/third_party/abseil-cpp/absl/flags/commandlineflag.h +11 -0
  1967. data/third_party/abseil-cpp/absl/flags/flag.h +2 -0
  1968. data/third_party/abseil-cpp/absl/flags/internal/flag.cc +117 -30
  1969. data/third_party/abseil-cpp/absl/flags/internal/flag.h +192 -30
  1970. data/third_party/abseil-cpp/absl/flags/reflection.cc +10 -0
  1971. data/third_party/abseil-cpp/absl/functional/any_invocable.h +13 -3
  1972. data/third_party/abseil-cpp/absl/functional/bind_front.h +3 -2
  1973. data/third_party/abseil-cpp/absl/functional/internal/any_invocable.h +7 -7
  1974. data/third_party/abseil-cpp/absl/functional/internal/front_binder.h +9 -9
  1975. data/third_party/abseil-cpp/absl/hash/internal/hash.cc +1 -1
  1976. data/third_party/abseil-cpp/absl/hash/internal/hash.h +13 -3
  1977. data/third_party/abseil-cpp/absl/hash/internal/low_level_hash.cc +60 -28
  1978. data/third_party/abseil-cpp/absl/hash/internal/low_level_hash.h +4 -0
  1979. data/third_party/abseil-cpp/absl/log/absl_vlog_is_on.h +3 -3
  1980. data/third_party/abseil-cpp/absl/log/globals.h +28 -15
  1981. data/third_party/abseil-cpp/absl/log/internal/check_op.cc +20 -0
  1982. data/third_party/abseil-cpp/absl/log/internal/check_op.h +63 -21
  1983. data/third_party/abseil-cpp/absl/log/internal/conditions.h +2 -2
  1984. data/third_party/abseil-cpp/absl/log/internal/log_impl.h +23 -23
  1985. data/third_party/abseil-cpp/absl/log/internal/log_message.cc +104 -47
  1986. data/third_party/abseil-cpp/absl/log/internal/log_message.h +23 -4
  1987. data/third_party/abseil-cpp/absl/log/internal/nullstream.h +1 -10
  1988. data/third_party/abseil-cpp/absl/log/internal/strip.h +36 -0
  1989. data/third_party/abseil-cpp/absl/log/log.h +5 -1
  1990. data/third_party/abseil-cpp/absl/log/log_sink.h +11 -4
  1991. data/third_party/abseil-cpp/absl/log/vlog_is_on.h +3 -3
  1992. data/third_party/abseil-cpp/absl/meta/type_traits.h +138 -42
  1993. data/third_party/abseil-cpp/absl/numeric/int128.cc +0 -3
  1994. data/third_party/abseil-cpp/absl/numeric/int128.h +35 -5
  1995. data/third_party/abseil-cpp/absl/numeric/int128_have_intrinsic.inc +14 -0
  1996. data/third_party/abseil-cpp/absl/numeric/int128_no_intrinsic.inc +18 -0
  1997. data/third_party/abseil-cpp/absl/numeric/internal/bits.h +6 -2
  1998. data/third_party/abseil-cpp/absl/random/beta_distribution.h +8 -8
  1999. data/third_party/abseil-cpp/absl/random/bit_gen_ref.h +9 -7
  2000. data/third_party/abseil-cpp/absl/random/distributions.h +11 -11
  2001. data/third_party/abseil-cpp/absl/random/seed_sequences.h +2 -0
  2002. data/third_party/abseil-cpp/absl/status/internal/statusor_internal.h +61 -2
  2003. data/third_party/abseil-cpp/absl/status/status.cc +0 -4
  2004. data/third_party/abseil-cpp/absl/status/status.h +4 -4
  2005. data/third_party/abseil-cpp/absl/status/statusor.h +108 -142
  2006. data/third_party/abseil-cpp/absl/strings/ascii.cc +32 -71
  2007. data/third_party/abseil-cpp/absl/strings/cord.cc +20 -15
  2008. data/third_party/abseil-cpp/absl/strings/cord.h +68 -7
  2009. data/third_party/abseil-cpp/absl/strings/escaping.cc +96 -21
  2010. data/third_party/abseil-cpp/absl/strings/escaping.h +25 -8
  2011. data/third_party/abseil-cpp/absl/strings/has_absl_stringify.h +1 -0
  2012. data/third_party/abseil-cpp/absl/strings/internal/charconv_bigint.h +10 -0
  2013. data/third_party/abseil-cpp/absl/strings/internal/cord_internal.h +29 -9
  2014. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.h +2 -2
  2015. data/third_party/abseil-cpp/absl/strings/internal/cordz_functions.cc +19 -13
  2016. data/third_party/abseil-cpp/absl/strings/internal/cordz_functions.h +23 -13
  2017. data/third_party/abseil-cpp/absl/strings/internal/cordz_handle.cc +24 -24
  2018. data/third_party/abseil-cpp/absl/strings/internal/cordz_info.cc +12 -7
  2019. data/third_party/abseil-cpp/absl/strings/internal/cordz_info.h +9 -4
  2020. data/third_party/abseil-cpp/absl/strings/internal/escaping.cc +5 -2
  2021. data/third_party/abseil-cpp/absl/strings/internal/str_join_internal.h +23 -2
  2022. data/third_party/abseil-cpp/absl/strings/internal/str_split_internal.h +5 -1
  2023. data/third_party/abseil-cpp/absl/strings/numbers.cc +107 -333
  2024. data/third_party/abseil-cpp/absl/strings/numbers.h +12 -151
  2025. data/third_party/abseil-cpp/absl/strings/str_cat.cc +49 -142
  2026. data/third_party/abseil-cpp/absl/strings/str_cat.h +70 -85
  2027. data/third_party/abseil-cpp/absl/strings/str_format.h +1 -1
  2028. data/third_party/abseil-cpp/absl/strings/str_join.h +19 -5
  2029. data/third_party/abseil-cpp/absl/strings/str_split.h +2 -2
  2030. data/third_party/abseil-cpp/absl/strings/string_view.h +3 -2
  2031. data/third_party/abseil-cpp/absl/strings/substitute.cc +4 -0
  2032. data/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc +11 -2
  2033. data/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.h +5 -0
  2034. data/third_party/abseil-cpp/absl/synchronization/mutex.h +5 -4
  2035. data/third_party/abseil-cpp/absl/time/civil_time.h +2 -2
  2036. data/third_party/abseil-cpp/absl/time/clock.cc +15 -1
  2037. data/third_party/abseil-cpp/absl/time/duration.cc +58 -53
  2038. data/third_party/abseil-cpp/absl/time/format.cc +2 -1
  2039. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.cc +1 -1
  2040. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc +0 -29
  2041. data/third_party/abseil-cpp/absl/time/internal/cctz/src/tzfile.h +3 -3
  2042. data/third_party/abseil-cpp/absl/time/time.h +73 -29
  2043. data/third_party/abseil-cpp/absl/types/compare.h +505 -0
  2044. data/third_party/abseil-cpp/absl/types/internal/optional.h +2 -2
  2045. data/third_party/abseil-cpp/absl/types/internal/variant.h +55 -67
  2046. data/third_party/abseil-cpp/absl/types/optional.h +15 -18
  2047. data/third_party/abseil-cpp/absl/types/span.h +3 -2
  2048. data/third_party/abseil-cpp/absl/types/variant.h +19 -24
  2049. data/third_party/abseil-cpp/absl/utility/utility.h +3 -41
  2050. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bitstr.cc +243 -0
  2051. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bool.cc +53 -0
  2052. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_d2i_fp.cc +47 -0
  2053. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_dup.cc +42 -0
  2054. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_gentm.cc +109 -0
  2055. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_i2d_fp.cc +43 -0
  2056. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_int.cc +424 -0
  2057. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_mbstr.cc +239 -0
  2058. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_object.cc +193 -0
  2059. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_octet.cc +32 -0
  2060. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_strex.cc +415 -0
  2061. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_strnid.cc +206 -0
  2062. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_time.cc +224 -0
  2063. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_type.cc +172 -0
  2064. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_utctm.cc +109 -0
  2065. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_lib.cc +355 -0
  2066. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_par.cc +61 -0
  2067. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn_pack.cc +56 -0
  2068. data/third_party/boringssl-with-bazel/src/crypto/asn1/f_int.cc +63 -0
  2069. data/third_party/boringssl-with-bazel/src/crypto/asn1/f_string.cc +52 -0
  2070. data/third_party/boringssl-with-bazel/src/crypto/asn1/internal.h +13 -57
  2071. data/third_party/boringssl-with-bazel/src/crypto/asn1/posix_time.cc +241 -0
  2072. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_dec.cc +932 -0
  2073. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_enc.cc +669 -0
  2074. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_fre.cc +164 -0
  2075. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_new.cc +276 -0
  2076. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_typ.cc +84 -0
  2077. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_utl.cc +229 -0
  2078. data/third_party/boringssl-with-bazel/src/crypto/base64/base64.cc +434 -0
  2079. data/third_party/boringssl-with-bazel/src/crypto/bcm_support.h +19 -13
  2080. data/third_party/boringssl-with-bazel/src/crypto/bio/bio.cc +658 -0
  2081. data/third_party/boringssl-with-bazel/src/crypto/bio/bio_mem.cc +268 -0
  2082. data/third_party/boringssl-with-bazel/src/crypto/bio/connect.cc +511 -0
  2083. data/third_party/boringssl-with-bazel/src/crypto/bio/errno.cc +50 -0
  2084. data/third_party/boringssl-with-bazel/src/crypto/bio/fd.cc +193 -0
  2085. data/third_party/boringssl-with-bazel/src/crypto/bio/file.cc +292 -0
  2086. data/third_party/boringssl-with-bazel/src/crypto/bio/hexdump.cc +152 -0
  2087. data/third_party/boringssl-with-bazel/src/crypto/bio/internal.h +13 -55
  2088. data/third_party/boringssl-with-bazel/src/crypto/bio/pair.cc +446 -0
  2089. data/third_party/boringssl-with-bazel/src/crypto/bio/printf.cc +59 -0
  2090. data/third_party/boringssl-with-bazel/src/crypto/bio/socket.cc +147 -0
  2091. data/third_party/boringssl-with-bazel/src/crypto/bio/socket_helper.cc +133 -0
  2092. data/third_party/boringssl-with-bazel/src/crypto/blake2/blake2.cc +169 -0
  2093. data/third_party/boringssl-with-bazel/src/crypto/bn/bn_asn1.cc +57 -0
  2094. data/third_party/boringssl-with-bazel/src/crypto/bn/convert.cc +423 -0
  2095. data/third_party/boringssl-with-bazel/src/crypto/buf/buf.cc +118 -0
  2096. data/third_party/boringssl-with-bazel/src/crypto/bytestring/asn1_compat.cc +53 -0
  2097. data/third_party/boringssl-with-bazel/src/crypto/bytestring/ber.cc +266 -0
  2098. data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbb.cc +702 -0
  2099. data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbs.cc +912 -0
  2100. data/third_party/boringssl-with-bazel/src/crypto/bytestring/internal.h +13 -13
  2101. data/third_party/boringssl-with-bazel/src/crypto/bytestring/unicode.cc +156 -0
  2102. data/third_party/boringssl-with-bazel/src/crypto/chacha/chacha.cc +224 -0
  2103. data/third_party/boringssl-with-bazel/src/crypto/chacha/internal.h +18 -18
  2104. data/third_party/boringssl-with-bazel/src/crypto/cipher/derive_key.cc +110 -0
  2105. data/third_party/boringssl-with-bazel/src/crypto/cipher/e_aesctrhmac.cc +279 -0
  2106. data/third_party/boringssl-with-bazel/src/crypto/cipher/e_aesgcmsiv.cc +845 -0
  2107. data/third_party/boringssl-with-bazel/src/crypto/cipher/e_chacha20poly1305.cc +341 -0
  2108. data/third_party/boringssl-with-bazel/src/crypto/cipher/e_des.cc +198 -0
  2109. data/third_party/boringssl-with-bazel/src/crypto/cipher/e_null.cc +51 -0
  2110. data/third_party/boringssl-with-bazel/src/crypto/cipher/e_rc2.cc +417 -0
  2111. data/third_party/boringssl-with-bazel/src/crypto/cipher/e_rc4.cc +54 -0
  2112. data/third_party/boringssl-with-bazel/src/crypto/cipher/e_tls.cc +599 -0
  2113. data/third_party/boringssl-with-bazel/src/crypto/cipher/get_cipher.cc +85 -0
  2114. data/third_party/boringssl-with-bazel/src/crypto/cipher/internal.h +240 -0
  2115. data/third_party/boringssl-with-bazel/src/crypto/cipher/tls_cbc.cc +476 -0
  2116. data/third_party/boringssl-with-bazel/src/crypto/conf/conf.cc +631 -0
  2117. data/third_party/boringssl-with-bazel/src/crypto/conf/internal.h +13 -13
  2118. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_apple.cc +73 -0
  2119. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_fuchsia.cc +53 -0
  2120. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_linux.cc +60 -0
  2121. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_openbsd.cc +59 -0
  2122. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_sysreg.cc +92 -0
  2123. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_win.cc +39 -0
  2124. data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_freebsd.cc +53 -0
  2125. data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_linux.cc +150 -0
  2126. data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_linux.h +13 -13
  2127. data/third_party/boringssl-with-bazel/src/crypto/cpu_intel.cc +287 -0
  2128. data/third_party/boringssl-with-bazel/src/crypto/crypto.cc +181 -0
  2129. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519.cc +2154 -0
  2130. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519_64_adx.cc +18 -0
  2131. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519_tables.h +13 -13
  2132. data/third_party/boringssl-with-bazel/src/crypto/curve25519/internal.h +13 -13
  2133. data/third_party/boringssl-with-bazel/src/crypto/curve25519/spake25519.cc +529 -0
  2134. data/third_party/boringssl-with-bazel/src/crypto/des/des.cc +829 -0
  2135. data/third_party/boringssl-with-bazel/src/crypto/des/internal.h +27 -69
  2136. data/third_party/boringssl-with-bazel/src/crypto/dh/dh_asn1.cc +124 -0
  2137. data/third_party/boringssl-with-bazel/src/crypto/dh/params.cc +442 -0
  2138. data/third_party/boringssl-with-bazel/src/crypto/digest/digest_extra.cc +306 -0
  2139. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa.cc +951 -0
  2140. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa_asn1.cc +379 -0
  2141. data/third_party/boringssl-with-bazel/src/crypto/dsa/internal.h +13 -15
  2142. data/third_party/boringssl-with-bazel/src/crypto/ec/ec_asn1.cc +570 -0
  2143. data/third_party/boringssl-with-bazel/src/crypto/ec/ec_derive.cc +96 -0
  2144. data/third_party/boringssl-with-bazel/src/crypto/ec/hash_to_curve.cc +510 -0
  2145. data/third_party/boringssl-with-bazel/src/crypto/ec/internal.h +78 -0
  2146. data/third_party/boringssl-with-bazel/src/crypto/ecdh/ecdh.cc +73 -0
  2147. data/third_party/boringssl-with-bazel/src/crypto/ecdsa/ecdsa_asn1.cc +357 -0
  2148. data/third_party/boringssl-with-bazel/src/crypto/engine/engine.cc +95 -0
  2149. data/third_party/boringssl-with-bazel/src/crypto/err/err.cc +810 -0
  2150. data/third_party/boringssl-with-bazel/src/crypto/err/internal.h +13 -13
  2151. data/third_party/boringssl-with-bazel/src/crypto/evp/evp.cc +379 -0
  2152. data/third_party/boringssl-with-bazel/src/crypto/evp/evp_asn1.cc +471 -0
  2153. data/third_party/boringssl-with-bazel/src/crypto/evp/evp_ctx.cc +440 -0
  2154. data/third_party/boringssl-with-bazel/src/crypto/evp/internal.h +13 -55
  2155. data/third_party/boringssl-with-bazel/src/crypto/evp/p_dh.cc +153 -0
  2156. data/third_party/boringssl-with-bazel/src/crypto/evp/p_dh_asn1.cc +142 -0
  2157. data/third_party/boringssl-with-bazel/src/crypto/evp/p_dsa_asn1.cc +279 -0
  2158. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec.cc +230 -0
  2159. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec_asn1.cc +286 -0
  2160. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519.cc +103 -0
  2161. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519_asn1.cc +225 -0
  2162. data/third_party/boringssl-with-bazel/src/crypto/evp/p_hkdf.cc +236 -0
  2163. data/third_party/boringssl-with-bazel/src/crypto/evp/p_rsa.cc +609 -0
  2164. data/third_party/boringssl-with-bazel/src/crypto/evp/p_rsa_asn1.cc +198 -0
  2165. data/third_party/boringssl-with-bazel/src/crypto/evp/p_x25519.cc +109 -0
  2166. data/third_party/boringssl-with-bazel/src/crypto/evp/p_x25519_asn1.cc +237 -0
  2167. data/third_party/boringssl-with-bazel/src/crypto/evp/pbkdf.cc +98 -0
  2168. data/third_party/boringssl-with-bazel/src/crypto/evp/print.cc +342 -0
  2169. data/third_party/boringssl-with-bazel/src/crypto/evp/scrypt.cc +216 -0
  2170. data/third_party/boringssl-with-bazel/src/crypto/evp/sign.cc +114 -0
  2171. data/third_party/boringssl-with-bazel/src/crypto/ex_data.cc +141 -0
  2172. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/aes.cc.inc +191 -0
  2173. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/aes_nohw.cc.inc +1281 -0
  2174. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/cbc.cc.inc +130 -0
  2175. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/cfb.cc.inc +166 -0
  2176. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/ctr.cc.inc +100 -0
  2177. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/gcm.cc.inc +604 -0
  2178. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/gcm_nohw.cc.inc +302 -0
  2179. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/internal.h +419 -70
  2180. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/key_wrap.cc.inc +208 -0
  2181. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/mode_wrappers.cc.inc +84 -0
  2182. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/ofb.cc.inc +53 -0
  2183. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/polyval.cc.inc +89 -0
  2184. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.cc +282 -0
  2185. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm_interface.h +665 -25
  2186. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/add.cc.inc +269 -0
  2187. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/asm/x86_64-gcc.cc.inc +554 -0
  2188. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/bn.cc.inc +374 -0
  2189. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/bytes.cc.inc +225 -0
  2190. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/cmp.cc.inc +159 -0
  2191. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/ctx.cc.inc +191 -0
  2192. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div.cc.inc +825 -0
  2193. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div_extra.cc.inc +87 -0
  2194. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/exponentiation.cc.inc +1227 -0
  2195. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd.cc.inc +300 -0
  2196. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd_extra.cc.inc +339 -0
  2197. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/generic.cc.inc +582 -0
  2198. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/internal.h +25 -134
  2199. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/jacobi.cc.inc +108 -0
  2200. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery.cc.inc +430 -0
  2201. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery_inv.cc.inc +222 -0
  2202. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/mul.cc.inc +698 -0
  2203. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/prime.cc.inc +980 -0
  2204. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/random.cc.inc +260 -0
  2205. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/rsaz_exp.cc.inc +142 -0
  2206. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/rsaz_exp.h +20 -17
  2207. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/shift.cc.inc +320 -0
  2208. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/sqrt.cc.inc +459 -0
  2209. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/aead.cc.inc +295 -0
  2210. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/cipher.cc.inc +672 -0
  2211. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_aes.cc.inc +1242 -0
  2212. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_aesccm.cc.inc +409 -0
  2213. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/internal.h +14 -65
  2214. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cmac/cmac.cc.inc +288 -0
  2215. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/delocate.h +26 -22
  2216. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/check.cc.inc +203 -0
  2217. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/dh.cc.inc +443 -0
  2218. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/internal.h +13 -15
  2219. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digest.cc.inc +250 -0
  2220. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digests.cc.inc +178 -0
  2221. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/internal.h +13 -55
  2222. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/md32_common.h +13 -47
  2223. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digestsign/digestsign.cc.inc +226 -0
  2224. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/builtin_curves.h +91 -91
  2225. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec.cc.inc +986 -0
  2226. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_key.cc.inc +501 -0
  2227. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_montgomery.cc.inc +439 -0
  2228. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/felem.cc.inc +104 -0
  2229. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/internal.h +19 -66
  2230. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/oct.cc.inc +306 -0
  2231. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p224-64.cc.inc +1163 -0
  2232. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-nistz-table.h +15 -10
  2233. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-nistz.cc.inc +741 -0
  2234. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-nistz.h +22 -17
  2235. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256.cc.inc +749 -0
  2236. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256_table.h +13 -13
  2237. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/scalar.cc.inc +179 -0
  2238. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple.cc.inc +284 -0
  2239. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple_mul.cc.inc +269 -0
  2240. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/util.cc.inc +255 -0
  2241. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/wnaf.cc.inc +221 -0
  2242. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdh/ecdh.cc.inc +88 -0
  2243. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/ecdsa.cc.inc +278 -0
  2244. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/internal.h +13 -13
  2245. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/fips_shared_support.cc +28 -0
  2246. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/hkdf/hkdf.cc.inc +112 -0
  2247. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/hmac/hmac.cc.inc +215 -0
  2248. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/keccak/internal.h +70 -0
  2249. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/keccak/keccak.cc.inc +279 -0
  2250. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/mldsa/mldsa.cc.inc +1993 -0
  2251. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/mlkem/mlkem.cc.inc +1165 -0
  2252. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/ctrdrbg.cc.inc +214 -0
  2253. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/internal.h +18 -24
  2254. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/rand.cc.inc +483 -0
  2255. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/blinding.cc.inc +147 -0
  2256. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/internal.h +13 -56
  2257. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/padding.cc.inc +379 -0
  2258. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa.cc.inc +983 -0
  2259. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa_impl.cc.inc +1296 -0
  2260. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/fips.cc.inc +129 -0
  2261. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/self_check.cc.inc +1042 -0
  2262. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/service_indicator/internal.h +34 -34
  2263. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/service_indicator/service_indicator.cc.inc +327 -0
  2264. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/internal.h +43 -57
  2265. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha1.cc.inc +390 -0
  2266. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha256.cc.inc +299 -0
  2267. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha512.cc.inc +473 -0
  2268. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/address.h +119 -0
  2269. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/fors.cc.inc +169 -0
  2270. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/fors.h +58 -0
  2271. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/merkle.cc.inc +161 -0
  2272. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/merkle.h +70 -0
  2273. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/params.h +78 -0
  2274. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/slhdsa.cc.inc +329 -0
  2275. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/thash.cc.inc +173 -0
  2276. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/thash.h +85 -0
  2277. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/wots.cc.inc +171 -0
  2278. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/wots.h +50 -0
  2279. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/internal.h +13 -13
  2280. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/kdf.cc.inc +180 -0
  2281. data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.cc +1095 -0
  2282. data/third_party/boringssl-with-bazel/src/crypto/hrss/hrss.cc +2185 -0
  2283. data/third_party/boringssl-with-bazel/src/crypto/hrss/internal.h +13 -13
  2284. data/third_party/boringssl-with-bazel/src/crypto/internal.h +262 -445
  2285. data/third_party/boringssl-with-bazel/src/crypto/kyber/internal.h +13 -13
  2286. data/third_party/boringssl-with-bazel/src/crypto/kyber/kyber.cc +869 -0
  2287. data/third_party/boringssl-with-bazel/src/crypto/lhash/internal.h +31 -75
  2288. data/third_party/boringssl-with-bazel/src/crypto/lhash/lhash.cc +309 -0
  2289. data/third_party/boringssl-with-bazel/src/crypto/md4/md4.cc +194 -0
  2290. data/third_party/boringssl-with-bazel/src/crypto/md5/internal.h +37 -0
  2291. data/third_party/boringssl-with-bazel/src/crypto/md5/md5.cc +243 -0
  2292. data/third_party/boringssl-with-bazel/src/crypto/mem.cc +583 -0
  2293. data/third_party/boringssl-with-bazel/src/crypto/mldsa/mldsa.cc +90 -0
  2294. data/third_party/boringssl-with-bazel/src/crypto/mlkem/mlkem.cc +97 -1042
  2295. data/third_party/boringssl-with-bazel/src/crypto/obj/obj.cc +519 -0
  2296. data/third_party/boringssl-with-bazel/src/crypto/obj/obj_dat.h +14 -56
  2297. data/third_party/boringssl-with-bazel/src/crypto/obj/obj_xref.cc +80 -0
  2298. data/third_party/boringssl-with-bazel/src/crypto/pem/internal.h +44 -0
  2299. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_all.cc +149 -0
  2300. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_info.cc +254 -0
  2301. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_lib.cc +741 -0
  2302. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_oth.cc +45 -0
  2303. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pk8.cc +208 -0
  2304. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pkey.cc +141 -0
  2305. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_x509.cc +22 -0
  2306. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_xaux.cc +22 -0
  2307. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/internal.h +13 -13
  2308. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7.cc +193 -0
  2309. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7_x509.cc +526 -0
  2310. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/internal.h +13 -54
  2311. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/p5_pbev2.cc +275 -0
  2312. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8.cc +487 -0
  2313. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8_x509.cc +1304 -0
  2314. data/third_party/boringssl-with-bazel/src/crypto/poly1305/internal.h +13 -13
  2315. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305.cc +314 -0
  2316. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_arm.cc +310 -0
  2317. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_vec.cc +850 -0
  2318. data/third_party/boringssl-with-bazel/src/crypto/pool/internal.h +13 -13
  2319. data/third_party/boringssl-with-bazel/src/crypto/pool/pool.cc +262 -0
  2320. data/third_party/boringssl-with-bazel/src/crypto/rand/deterministic.cc +65 -0
  2321. data/third_party/boringssl-with-bazel/src/crypto/rand/fork_detect.cc +194 -0
  2322. data/third_party/boringssl-with-bazel/src/crypto/rand/forkunsafe.cc +44 -0
  2323. data/third_party/boringssl-with-bazel/src/crypto/rand/getentropy.cc +60 -0
  2324. data/third_party/boringssl-with-bazel/src/crypto/rand/getrandom_fillin.h +64 -0
  2325. data/third_party/boringssl-with-bazel/src/crypto/rand/ios.cc +42 -0
  2326. data/third_party/boringssl-with-bazel/src/crypto/rand/passive.cc +178 -0
  2327. data/third_party/boringssl-with-bazel/src/crypto/rand/rand.cc +77 -0
  2328. data/third_party/boringssl-with-bazel/src/crypto/rand/sysrand_internal.h +37 -0
  2329. data/third_party/boringssl-with-bazel/src/crypto/rand/trusty.cc +46 -0
  2330. data/third_party/boringssl-with-bazel/src/crypto/rand/urandom.cc +328 -0
  2331. data/third_party/boringssl-with-bazel/src/crypto/rand/windows.cc +102 -0
  2332. data/third_party/boringssl-with-bazel/src/crypto/rc4/rc4.cc +56 -0
  2333. data/third_party/boringssl-with-bazel/src/crypto/refcount.cc +59 -0
  2334. data/third_party/boringssl-with-bazel/src/crypto/rsa/internal.h +36 -0
  2335. data/third_party/boringssl-with-bazel/src/crypto/rsa/rsa_asn1.cc +283 -0
  2336. data/third_party/boringssl-with-bazel/src/crypto/rsa/rsa_crypt.cc +531 -0
  2337. data/third_party/boringssl-with-bazel/src/crypto/rsa/rsa_extra.cc +19 -0
  2338. data/third_party/boringssl-with-bazel/src/crypto/rsa/rsa_print.cc +27 -0
  2339. data/third_party/boringssl-with-bazel/src/crypto/sha/sha1.cc +52 -0
  2340. data/third_party/boringssl-with-bazel/src/crypto/sha/sha256.cc +87 -0
  2341. data/third_party/boringssl-with-bazel/src/crypto/sha/sha512.cc +104 -0
  2342. data/third_party/boringssl-with-bazel/src/crypto/siphash/siphash.cc +79 -0
  2343. data/third_party/boringssl-with-bazel/src/crypto/slhdsa/slhdsa.cc +113 -0
  2344. data/third_party/boringssl-with-bazel/src/crypto/spake2plus/internal.h +204 -0
  2345. data/third_party/boringssl-with-bazel/src/crypto/spake2plus/spake2plus.cc +501 -0
  2346. data/third_party/boringssl-with-bazel/src/crypto/stack/stack.cc +496 -0
  2347. data/third_party/boringssl-with-bazel/src/crypto/thread.cc +68 -0
  2348. data/third_party/boringssl-with-bazel/src/crypto/thread_none.cc +51 -0
  2349. data/third_party/boringssl-with-bazel/src/crypto/thread_pthread.cc +151 -0
  2350. data/third_party/boringssl-with-bazel/src/crypto/thread_win.cc +240 -0
  2351. data/third_party/boringssl-with-bazel/src/crypto/trust_token/internal.h +13 -13
  2352. data/third_party/boringssl-with-bazel/src/crypto/trust_token/pmbtoken.cc +1656 -0
  2353. data/third_party/boringssl-with-bazel/src/crypto/trust_token/trust_token.cc +685 -0
  2354. data/third_party/boringssl-with-bazel/src/crypto/trust_token/voprf.cc +1263 -0
  2355. data/third_party/boringssl-with-bazel/src/crypto/x509/a_digest.cc +52 -0
  2356. data/third_party/boringssl-with-bazel/src/crypto/x509/a_sign.cc +97 -0
  2357. data/third_party/boringssl-with-bazel/src/crypto/x509/a_verify.cc +74 -0
  2358. data/third_party/boringssl-with-bazel/src/crypto/x509/algorithm.cc +136 -0
  2359. data/third_party/boringssl-with-bazel/src/crypto/x509/asn1_gen.cc +542 -0
  2360. data/third_party/boringssl-with-bazel/src/crypto/x509/by_dir.cc +355 -0
  2361. data/third_party/boringssl-with-bazel/src/crypto/x509/by_file.cc +227 -0
  2362. data/third_party/boringssl-with-bazel/src/crypto/x509/ext_dat.h +13 -55
  2363. data/third_party/boringssl-with-bazel/src/crypto/x509/i2d_pr.cc +37 -0
  2364. data/third_party/boringssl-with-bazel/src/crypto/x509/internal.h +13 -57
  2365. data/third_party/boringssl-with-bazel/src/crypto/x509/name_print.cc +185 -0
  2366. data/third_party/boringssl-with-bazel/src/crypto/x509/policy.cc +796 -0
  2367. data/third_party/boringssl-with-bazel/src/crypto/x509/rsa_pss.cc +364 -0
  2368. data/third_party/boringssl-with-bazel/src/crypto/x509/t_crl.cc +103 -0
  2369. data/third_party/boringssl-with-bazel/src/crypto/x509/t_req.cc +203 -0
  2370. data/third_party/boringssl-with-bazel/src/crypto/x509/t_x509.cc +287 -0
  2371. data/third_party/boringssl-with-bazel/src/crypto/x509/t_x509a.cc +79 -0
  2372. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_akey.cc +181 -0
  2373. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_akeya.cc +31 -0
  2374. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_alt.cc +593 -0
  2375. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_bcons.cc +95 -0
  2376. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_bitst.cc +102 -0
  2377. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_conf.cc +374 -0
  2378. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_cpols.cc +444 -0
  2379. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_crld.cc +557 -0
  2380. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_enum.cc +73 -0
  2381. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_extku.cc +114 -0
  2382. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_genn.cc +228 -0
  2383. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_ia5.cc +79 -0
  2384. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_info.cc +164 -0
  2385. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_int.cc +81 -0
  2386. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_lib.cc +304 -0
  2387. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_ncons.cc +514 -0
  2388. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_ocsp.cc +89 -0
  2389. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_pcons.cc +101 -0
  2390. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_pmaps.cc +109 -0
  2391. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_prn.cc +183 -0
  2392. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_purp.cc +590 -0
  2393. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_skey.cc +131 -0
  2394. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_utl.cc +1342 -0
  2395. data/third_party/boringssl-with-bazel/src/crypto/x509/x509.cc +47 -0
  2396. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_att.cc +186 -0
  2397. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_cmp.cc +238 -0
  2398. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_d2.cc +66 -0
  2399. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_def.cc +44 -0
  2400. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_ext.cc +139 -0
  2401. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_lu.cc +554 -0
  2402. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_obj.cc +164 -0
  2403. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_req.cc +257 -0
  2404. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_set.cc +198 -0
  2405. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_trs.cc +118 -0
  2406. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_txt.cc +147 -0
  2407. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_v3.cc +249 -0
  2408. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.cc +1600 -0
  2409. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vpm.cc +440 -0
  2410. data/third_party/boringssl-with-bazel/src/crypto/x509/x509cset.cc +235 -0
  2411. data/third_party/boringssl-with-bazel/src/crypto/x509/x509name.cc +365 -0
  2412. data/third_party/boringssl-with-bazel/src/crypto/x509/x509rset.cc +67 -0
  2413. data/third_party/boringssl-with-bazel/src/crypto/x509/x509spki.cc +91 -0
  2414. data/third_party/boringssl-with-bazel/src/crypto/x509/x_algor.cc +107 -0
  2415. data/third_party/boringssl-with-bazel/src/crypto/x509/x_all.cc +318 -0
  2416. data/third_party/boringssl-with-bazel/src/crypto/x509/x_attrib.cc +55 -0
  2417. data/third_party/boringssl-with-bazel/src/crypto/x509/x_crl.cc +342 -0
  2418. data/third_party/boringssl-with-bazel/src/crypto/x509/x_exten.cc +36 -0
  2419. data/third_party/boringssl-with-bazel/src/crypto/x509/x_name.cc +492 -0
  2420. data/third_party/boringssl-with-bazel/src/crypto/x509/x_pubkey.cc +170 -0
  2421. data/third_party/boringssl-with-bazel/src/crypto/x509/x_req.cc +74 -0
  2422. data/third_party/boringssl-with-bazel/src/crypto/x509/x_sig.cc +51 -0
  2423. data/third_party/boringssl-with-bazel/src/crypto/x509/x_spki.cc +34 -0
  2424. data/third_party/boringssl-with-bazel/src/crypto/x509/x_val.cc +28 -0
  2425. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509.cc +506 -0
  2426. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509a.cc +169 -0
  2427. data/third_party/boringssl-with-bazel/src/gen/crypto/err_data.cc +1529 -0
  2428. data/third_party/boringssl-with-bazel/src/include/openssl/aead.h +13 -13
  2429. data/third_party/boringssl-with-bazel/src/include/openssl/aes.h +13 -47
  2430. data/third_party/boringssl-with-bazel/src/include/openssl/arm_arch.h +16 -76
  2431. data/third_party/boringssl-with-bazel/src/include/openssl/asm_base.h +14 -14
  2432. data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +23 -62
  2433. data/third_party/boringssl-with-bazel/src/include/openssl/asn1_mac.h +13 -13
  2434. data/third_party/boringssl-with-bazel/src/include/openssl/asn1t.h +248 -328
  2435. data/third_party/boringssl-with-bazel/src/include/openssl/base.h +24 -55
  2436. data/third_party/boringssl-with-bazel/src/include/openssl/base64.h +13 -55
  2437. data/third_party/boringssl-with-bazel/src/include/openssl/bcm_public.h +82 -0
  2438. data/third_party/boringssl-with-bazel/src/include/openssl/bio.h +13 -55
  2439. data/third_party/boringssl-with-bazel/src/include/openssl/blake2.h +13 -13
  2440. data/third_party/boringssl-with-bazel/src/include/openssl/blowfish.h +13 -55
  2441. data/third_party/boringssl-with-bazel/src/include/openssl/bn.h +14 -121
  2442. data/third_party/boringssl-with-bazel/src/include/openssl/buf.h +13 -55
  2443. data/third_party/boringssl-with-bazel/src/include/openssl/buffer.h +13 -13
  2444. data/third_party/boringssl-with-bazel/src/include/openssl/bytestring.h +31 -16
  2445. data/third_party/boringssl-with-bazel/src/include/openssl/cast.h +13 -55
  2446. data/third_party/boringssl-with-bazel/src/include/openssl/chacha.h +13 -13
  2447. data/third_party/boringssl-with-bazel/src/include/openssl/cipher.h +31 -59
  2448. data/third_party/boringssl-with-bazel/src/include/openssl/cmac.h +13 -13
  2449. data/third_party/boringssl-with-bazel/src/include/openssl/conf.h +13 -55
  2450. data/third_party/boringssl-with-bazel/src/include/openssl/cpu.h +13 -13
  2451. data/third_party/boringssl-with-bazel/src/include/openssl/crypto.h +25 -14
  2452. data/third_party/boringssl-with-bazel/src/include/openssl/ctrdrbg.h +13 -13
  2453. data/third_party/boringssl-with-bazel/src/include/openssl/curve25519.h +13 -13
  2454. data/third_party/boringssl-with-bazel/src/include/openssl/des.h +13 -55
  2455. data/third_party/boringssl-with-bazel/src/include/openssl/dh.h +17 -55
  2456. data/third_party/boringssl-with-bazel/src/include/openssl/digest.h +19 -56
  2457. data/third_party/boringssl-with-bazel/src/include/openssl/dsa.h +17 -58
  2458. data/third_party/boringssl-with-bazel/src/include/openssl/dtls1.h +13 -13
  2459. data/third_party/boringssl-with-bazel/src/include/openssl/e_os2.h +13 -13
  2460. data/third_party/boringssl-with-bazel/src/include/openssl/ec.h +14 -66
  2461. data/third_party/boringssl-with-bazel/src/include/openssl/ec_key.h +31 -72
  2462. data/third_party/boringssl-with-bazel/src/include/openssl/ecdh.h +14 -65
  2463. data/third_party/boringssl-with-bazel/src/include/openssl/ecdsa.h +13 -51
  2464. data/third_party/boringssl-with-bazel/src/include/openssl/engine.h +13 -13
  2465. data/third_party/boringssl-with-bazel/src/include/openssl/err.h +13 -107
  2466. data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +14 -56
  2467. data/third_party/boringssl-with-bazel/src/include/openssl/evp_errors.h +13 -55
  2468. data/third_party/boringssl-with-bazel/src/include/openssl/ex_data.h +13 -107
  2469. data/third_party/boringssl-with-bazel/src/include/openssl/experimental/kyber.h +13 -13
  2470. data/third_party/boringssl-with-bazel/src/include/openssl/hkdf.h +13 -13
  2471. data/third_party/boringssl-with-bazel/src/include/openssl/hmac.h +13 -55
  2472. data/third_party/boringssl-with-bazel/src/include/openssl/hpke.h +13 -13
  2473. data/third_party/boringssl-with-bazel/src/include/openssl/hrss.h +13 -13
  2474. data/third_party/boringssl-with-bazel/src/include/openssl/is_boringssl.h +13 -13
  2475. data/third_party/boringssl-with-bazel/src/include/openssl/kdf.h +13 -13
  2476. data/third_party/boringssl-with-bazel/src/include/openssl/lhash.h +13 -55
  2477. data/third_party/boringssl-with-bazel/src/include/openssl/md4.h +13 -55
  2478. data/third_party/boringssl-with-bazel/src/include/openssl/md5.h +13 -55
  2479. data/third_party/boringssl-with-bazel/src/include/openssl/mem.h +13 -55
  2480. data/third_party/boringssl-with-bazel/src/include/openssl/mldsa.h +20 -26
  2481. data/third_party/boringssl-with-bazel/src/include/openssl/mlkem.h +13 -37
  2482. data/third_party/boringssl-with-bazel/src/include/openssl/nid.h +27 -69
  2483. data/third_party/boringssl-with-bazel/src/include/openssl/obj.h +13 -55
  2484. data/third_party/boringssl-with-bazel/src/include/openssl/obj_mac.h +13 -13
  2485. data/third_party/boringssl-with-bazel/src/include/openssl/objects.h +13 -13
  2486. data/third_party/boringssl-with-bazel/src/include/openssl/opensslconf.h +13 -13
  2487. data/third_party/boringssl-with-bazel/src/include/openssl/opensslv.h +13 -13
  2488. data/third_party/boringssl-with-bazel/src/include/openssl/ossl_typ.h +13 -13
  2489. data/third_party/boringssl-with-bazel/src/include/openssl/pem.h +22 -60
  2490. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs12.h +13 -13
  2491. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs7.h +13 -13
  2492. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs8.h +13 -55
  2493. data/third_party/boringssl-with-bazel/src/include/openssl/poly1305.h +13 -13
  2494. data/third_party/boringssl-with-bazel/src/include/openssl/pool.h +13 -13
  2495. data/third_party/boringssl-with-bazel/src/include/openssl/posix_time.h +13 -13
  2496. data/third_party/boringssl-with-bazel/src/include/openssl/rand.h +13 -13
  2497. data/third_party/boringssl-with-bazel/src/include/openssl/rc4.h +13 -55
  2498. data/third_party/boringssl-with-bazel/src/include/openssl/ripemd.h +13 -55
  2499. data/third_party/boringssl-with-bazel/src/include/openssl/rsa.h +23 -63
  2500. data/third_party/boringssl-with-bazel/src/include/openssl/safestack.h +13 -13
  2501. data/third_party/boringssl-with-bazel/src/include/openssl/service_indicator.h +13 -13
  2502. data/third_party/boringssl-with-bazel/src/include/openssl/sha.h +15 -95
  2503. data/third_party/boringssl-with-bazel/src/include/openssl/siphash.h +13 -13
  2504. data/third_party/boringssl-with-bazel/src/include/openssl/slhdsa.h +174 -0
  2505. data/third_party/boringssl-with-bazel/src/include/openssl/span.h +24 -32
  2506. data/third_party/boringssl-with-bazel/src/include/openssl/srtp.h +13 -13
  2507. data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +358 -290
  2508. data/third_party/boringssl-with-bazel/src/include/openssl/ssl3.h +15 -114
  2509. data/third_party/boringssl-with-bazel/src/include/openssl/stack.h +13 -55
  2510. data/third_party/boringssl-with-bazel/src/include/openssl/target.h +23 -13
  2511. data/third_party/boringssl-with-bazel/src/include/openssl/thread.h +15 -57
  2512. data/third_party/boringssl-with-bazel/src/include/openssl/time.h +13 -13
  2513. data/third_party/boringssl-with-bazel/src/include/openssl/tls1.h +27 -156
  2514. data/third_party/boringssl-with-bazel/src/include/openssl/trust_token.h +15 -15
  2515. data/third_party/boringssl-with-bazel/src/include/openssl/type_check.h +13 -55
  2516. data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +14 -61
  2517. data/third_party/boringssl-with-bazel/src/include/openssl/x509_vfy.h +13 -13
  2518. data/third_party/boringssl-with-bazel/src/include/openssl/x509v3.h +13 -13
  2519. data/third_party/boringssl-with-bazel/src/include/openssl/x509v3_errors.h +13 -53
  2520. data/third_party/boringssl-with-bazel/src/ssl/bio_ssl.cc +15 -14
  2521. data/third_party/boringssl-with-bazel/src/ssl/d1_both.cc +680 -434
  2522. data/third_party/boringssl-with-bazel/src/ssl/d1_lib.cc +129 -174
  2523. data/third_party/boringssl-with-bazel/src/ssl/d1_pkt.cc +176 -131
  2524. data/third_party/boringssl-with-bazel/src/ssl/d1_srtp.cc +21 -127
  2525. data/third_party/boringssl-with-bazel/src/ssl/dtls_method.cc +107 -104
  2526. data/third_party/boringssl-with-bazel/src/ssl/dtls_record.cc +311 -312
  2527. data/third_party/boringssl-with-bazel/src/ssl/encrypted_client_hello.cc +54 -47
  2528. data/third_party/boringssl-with-bazel/src/ssl/extensions.cc +673 -475
  2529. data/third_party/boringssl-with-bazel/src/ssl/handoff.cc +66 -73
  2530. data/third_party/boringssl-with-bazel/src/ssl/handshake.cc +61 -153
  2531. data/third_party/boringssl-with-bazel/src/ssl/handshake_client.cc +199 -332
  2532. data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +89 -213
  2533. data/third_party/boringssl-with-bazel/src/ssl/internal.h +961 -536
  2534. data/third_party/boringssl-with-bazel/src/ssl/s3_both.cc +47 -157
  2535. data/third_party/boringssl-with-bazel/src/ssl/s3_lib.cc +29 -159
  2536. data/third_party/boringssl-with-bazel/src/ssl/s3_pkt.cc +18 -112
  2537. data/third_party/boringssl-with-bazel/src/ssl/ssl_aead_ctx.cc +103 -196
  2538. data/third_party/boringssl-with-bazel/src/ssl/ssl_asn1.cc +52 -145
  2539. data/third_party/boringssl-with-bazel/src/ssl/ssl_buffer.cc +15 -20
  2540. data/third_party/boringssl-with-bazel/src/ssl/ssl_cert.cc +117 -157
  2541. data/third_party/boringssl-with-bazel/src/ssl/ssl_cipher.cc +229 -365
  2542. data/third_party/boringssl-with-bazel/src/ssl/ssl_credential.cc +218 -32
  2543. data/third_party/boringssl-with-bazel/src/ssl/ssl_file.cc +13 -109
  2544. data/third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc +34 -33
  2545. data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +194 -350
  2546. data/third_party/boringssl-with-bazel/src/ssl/ssl_privkey.cc +38 -83
  2547. data/third_party/boringssl-with-bazel/src/ssl/ssl_session.cc +101 -236
  2548. data/third_party/boringssl-with-bazel/src/ssl/ssl_stat.cc +17 -91
  2549. data/third_party/boringssl-with-bazel/src/ssl/ssl_transcript.cc +109 -157
  2550. data/third_party/boringssl-with-bazel/src/ssl/ssl_versions.cc +44 -30
  2551. data/third_party/boringssl-with-bazel/src/ssl/ssl_x509.cc +66 -195
  2552. data/third_party/boringssl-with-bazel/src/ssl/t1_enc.cc +45 -176
  2553. data/third_party/boringssl-with-bazel/src/ssl/tls13_both.cc +58 -42
  2554. data/third_party/boringssl-with-bazel/src/ssl/tls13_client.cc +147 -95
  2555. data/third_party/boringssl-with-bazel/src/ssl/tls13_enc.cc +251 -180
  2556. data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +237 -108
  2557. data/third_party/boringssl-with-bazel/src/ssl/tls_method.cc +64 -117
  2558. data/third_party/boringssl-with-bazel/src/ssl/tls_record.cc +52 -134
  2559. data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_32.h +6 -0
  2560. data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_64.h +6 -0
  2561. data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_64_adx.h +4 -1
  2562. data/third_party/boringssl-with-bazel/src/third_party/fiat/p256_32.h +1 -1
  2563. data/third_party/boringssl-with-bazel/src/third_party/fiat/p256_64.h +3 -0
  2564. data/third_party/upb/upb/base/internal/log2.h +3 -1
  2565. data/third_party/upb/upb/base/string_view.h +10 -0
  2566. data/third_party/upb/upb/hash/common.c +5 -1
  2567. data/third_party/upb/upb/json/decode.c +59 -13
  2568. data/third_party/upb/upb/json/decode.h +25 -3
  2569. data/third_party/upb/upb/json/encode.c +2 -2
  2570. data/third_party/upb/upb/lex/round_trip.c +10 -0
  2571. data/third_party/upb/upb/mem/alloc.h +5 -0
  2572. data/third_party/upb/upb/mem/arena.c +306 -141
  2573. data/third_party/upb/upb/mem/arena.h +56 -11
  2574. data/third_party/upb/upb/mem/arena.hpp +9 -21
  2575. data/third_party/upb/upb/mem/internal/arena.h +4 -6
  2576. data/third_party/upb/upb/message/accessors.c +2 -4
  2577. data/third_party/upb/upb/message/accessors.h +219 -379
  2578. data/third_party/upb/upb/message/compat.c +11 -14
  2579. data/third_party/upb/upb/message/compat.h +4 -3
  2580. data/third_party/upb/upb/message/copy.c +46 -37
  2581. data/third_party/upb/upb/message/internal/accessors.h +717 -36
  2582. data/third_party/upb/upb/message/internal/extension.c +29 -25
  2583. data/third_party/upb/upb/message/internal/extension.h +21 -5
  2584. data/third_party/upb/upb/message/internal/iterator.c +58 -0
  2585. data/third_party/upb/upb/message/internal/iterator.h +29 -0
  2586. data/third_party/upb/upb/message/internal/map.h +2 -3
  2587. data/third_party/upb/upb/message/internal/map_sorter.h +3 -2
  2588. data/third_party/upb/upb/message/internal/message.c +57 -39
  2589. data/third_party/upb/upb/message/internal/message.h +162 -31
  2590. data/third_party/upb/upb/message/map_sorter.c +20 -8
  2591. data/third_party/upb/upb/message/merge.c +38 -0
  2592. data/third_party/upb/upb/message/merge.h +26 -0
  2593. data/third_party/upb/upb/message/message.c +90 -38
  2594. data/third_party/upb/upb/message/message.h +64 -12
  2595. data/third_party/upb/upb/message/value.h +35 -0
  2596. data/third_party/upb/upb/mini_descriptor/build_enum.c +1 -1
  2597. data/third_party/upb/upb/mini_descriptor/decode.c +104 -138
  2598. data/third_party/upb/upb/mini_descriptor/decode.h +4 -3
  2599. data/third_party/upb/upb/mini_descriptor/internal/encode.hpp +1 -1
  2600. data/third_party/upb/upb/mini_descriptor/link.c +7 -3
  2601. data/third_party/upb/upb/mini_table/extension_registry.c +41 -11
  2602. data/third_party/upb/upb/mini_table/extension_registry.h +30 -6
  2603. data/third_party/upb/upb/mini_table/internal/extension.h +9 -0
  2604. data/third_party/upb/upb/mini_table/internal/message.c +21 -1
  2605. data/third_party/upb/upb/mini_table/internal/message.h +40 -20
  2606. data/third_party/upb/upb/mini_table/internal/sub.h +5 -0
  2607. data/third_party/upb/upb/mini_table/message.c +21 -13
  2608. data/third_party/upb/upb/mini_table/message.h +11 -1
  2609. data/third_party/upb/upb/port/atomic.h +134 -7
  2610. data/third_party/upb/upb/port/def.inc +229 -37
  2611. data/third_party/upb/upb/port/undef.inc +17 -0
  2612. data/third_party/upb/upb/reflection/common.h +1 -11
  2613. data/third_party/upb/upb/reflection/def.hpp +13 -1
  2614. data/third_party/upb/upb/reflection/def_pool.c +10 -3
  2615. data/third_party/upb/upb/reflection/descriptor_bootstrap.h +19 -0
  2616. data/third_party/upb/upb/reflection/field_def.c +11 -22
  2617. data/third_party/upb/upb/reflection/field_def.h +1 -0
  2618. data/third_party/upb/upb/reflection/file_def.c +12 -5
  2619. data/third_party/upb/upb/reflection/internal/def_builder.c +1 -1
  2620. data/third_party/upb/upb/reflection/internal/upb_edition_defaults.h +1 -1
  2621. data/third_party/upb/upb/reflection/message.c +27 -19
  2622. data/third_party/upb/upb/reflection/message.h +5 -3
  2623. data/third_party/upb/upb/text/encode.c +51 -406
  2624. data/third_party/upb/upb/text/encode.h +1 -11
  2625. data/third_party/upb/upb/text/internal/encode.c +199 -0
  2626. data/third_party/upb/upb/text/internal/encode.h +244 -0
  2627. data/third_party/upb/upb/text/options.h +22 -0
  2628. data/third_party/upb/upb/wire/decode.c +130 -83
  2629. data/third_party/upb/upb/wire/decode.h +8 -3
  2630. data/third_party/upb/upb/wire/encode.c +113 -55
  2631. data/third_party/upb/upb/wire/encode.h +5 -0
  2632. data/third_party/upb/upb/wire/eps_copy_input_stream.h +18 -20
  2633. data/third_party/upb/upb/wire/internal/decode_fast.c +3 -0
  2634. data/third_party/upb/upb/wire/internal/decoder.h +4 -11
  2635. data/third_party/utf8_range/utf8_range.c +15 -275
  2636. data/third_party/utf8_range/utf8_range_neon.inc +117 -0
  2637. data/third_party/utf8_range/utf8_range_sse.inc +272 -0
  2638. data/third_party/zlib/deflate.c +40 -15
  2639. data/third_party/zlib/deflate.h +33 -2
  2640. data/third_party/zlib/gzguts.h +2 -6
  2641. data/third_party/zlib/inflate.c +1 -1
  2642. data/third_party/zlib/inftrees.c +3 -3
  2643. data/third_party/zlib/inftrees.h +2 -2
  2644. data/third_party/zlib/trees.c +18 -4
  2645. data/third_party/zlib/zconf.h +1 -9
  2646. data/third_party/zlib/zlib.h +12 -12
  2647. data/third_party/zlib/zutil.h +4 -25
  2648. metadata +648 -599
  2649. data/include/grpc/grpc_cronet.h +0 -37
  2650. data/src/core/ext/upb-gen/envoy/config/trace/v3/opencensus.upb.h +0 -419
  2651. data/src/core/ext/upb-gen/envoy/config/trace/v3/opencensus.upb_minitable.c +0 -84
  2652. data/src/core/ext/upb-gen/envoy/config/trace/v3/opencensus.upb_minitable.h +0 -30
  2653. data/src/core/ext/upb-gen/opencensus/proto/trace/v1/trace_config.upb.h +0 -400
  2654. data/src/core/ext/upb-gen/opencensus/proto/trace/v1/trace_config.upb_minitable.c +0 -118
  2655. data/src/core/ext/upb-gen/opencensus/proto/trace/v1/trace_config.upb_minitable.h +0 -33
  2656. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/opencensus.upbdefs.c +0 -107
  2657. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/opencensus.upbdefs.h +0 -32
  2658. data/src/core/ext/upbdefs-gen/opencensus/proto/trace/v1/trace_config.upbdefs.c +0 -66
  2659. data/src/core/ext/upbdefs-gen/opencensus/proto/trace/v1/trace_config.upbdefs.h +0 -47
  2660. data/src/core/lib/avl/avl.h +0 -325
  2661. data/src/core/lib/backoff/backoff.cc +0 -44
  2662. data/src/core/lib/backoff/backoff.h +0 -87
  2663. data/src/core/lib/backoff/random_early_detection.cc +0 -33
  2664. data/src/core/lib/backoff/random_early_detection.h +0 -62
  2665. data/src/core/lib/channel/call_finalization.h +0 -88
  2666. data/src/core/lib/channel/status_util.cc +0 -155
  2667. data/src/core/lib/channel/status_util.h +0 -80
  2668. data/src/core/lib/config/config_vars.cc +0 -152
  2669. data/src/core/lib/config/config_vars.h +0 -129
  2670. data/src/core/lib/config/config_vars_non_generated.cc +0 -49
  2671. data/src/core/lib/config/core_configuration.cc +0 -111
  2672. data/src/core/lib/config/core_configuration.h +0 -243
  2673. data/src/core/lib/config/load_config.cc +0 -79
  2674. data/src/core/lib/config/load_config.h +0 -55
  2675. data/src/core/lib/debug/event_log.cc +0 -87
  2676. data/src/core/lib/debug/event_log.h +0 -81
  2677. data/src/core/lib/gprpp/atomic_utils.h +0 -47
  2678. data/src/core/lib/gprpp/bitset.h +0 -225
  2679. data/src/core/lib/gprpp/chunked_vector.h +0 -257
  2680. data/src/core/lib/gprpp/construct_destruct.h +0 -40
  2681. data/src/core/lib/gprpp/cpp_impl_of.h +0 -49
  2682. data/src/core/lib/gprpp/crash.cc +0 -41
  2683. data/src/core/lib/gprpp/crash.h +0 -37
  2684. data/src/core/lib/gprpp/debug_location.h +0 -106
  2685. data/src/core/lib/gprpp/directory_reader.h +0 -48
  2686. data/src/core/lib/gprpp/down_cast.h +0 -48
  2687. data/src/core/lib/gprpp/dual_ref_counted.h +0 -377
  2688. data/src/core/lib/gprpp/dump_args.cc +0 -54
  2689. data/src/core/lib/gprpp/dump_args.h +0 -117
  2690. data/src/core/lib/gprpp/env.h +0 -53
  2691. data/src/core/lib/gprpp/examine_stack.cc +0 -43
  2692. data/src/core/lib/gprpp/examine_stack.h +0 -45
  2693. data/src/core/lib/gprpp/fork.cc +0 -241
  2694. data/src/core/lib/gprpp/fork.h +0 -98
  2695. data/src/core/lib/gprpp/glob.h +0 -29
  2696. data/src/core/lib/gprpp/host_port.cc +0 -115
  2697. data/src/core/lib/gprpp/host_port.h +0 -57
  2698. data/src/core/lib/gprpp/if_list.h +0 -4530
  2699. data/src/core/lib/gprpp/linux/env.cc +0 -62
  2700. data/src/core/lib/gprpp/load_file.cc +0 -76
  2701. data/src/core/lib/gprpp/load_file.h +0 -34
  2702. data/src/core/lib/gprpp/manual_constructor.h +0 -146
  2703. data/src/core/lib/gprpp/match.h +0 -75
  2704. data/src/core/lib/gprpp/memory.h +0 -52
  2705. data/src/core/lib/gprpp/mpscq.cc +0 -108
  2706. data/src/core/lib/gprpp/mpscq.h +0 -99
  2707. data/src/core/lib/gprpp/no_destruct.h +0 -95
  2708. data/src/core/lib/gprpp/notification.h +0 -67
  2709. data/src/core/lib/gprpp/orphanable.h +0 -153
  2710. data/src/core/lib/gprpp/overload.h +0 -59
  2711. data/src/core/lib/gprpp/packed_table.h +0 -40
  2712. data/src/core/lib/gprpp/per_cpu.cc +0 -34
  2713. data/src/core/lib/gprpp/per_cpu.h +0 -103
  2714. data/src/core/lib/gprpp/posix/directory_reader.cc +0 -82
  2715. data/src/core/lib/gprpp/posix/env.cc +0 -47
  2716. data/src/core/lib/gprpp/posix/stat.cc +0 -55
  2717. data/src/core/lib/gprpp/posix/thd.cc +0 -246
  2718. data/src/core/lib/gprpp/ref_counted.h +0 -403
  2719. data/src/core/lib/gprpp/ref_counted_ptr.h +0 -445
  2720. data/src/core/lib/gprpp/ref_counted_string.cc +0 -43
  2721. data/src/core/lib/gprpp/ref_counted_string.h +0 -161
  2722. data/src/core/lib/gprpp/single_set_ptr.h +0 -89
  2723. data/src/core/lib/gprpp/sorted_pack.h +0 -89
  2724. data/src/core/lib/gprpp/stat.h +0 -36
  2725. data/src/core/lib/gprpp/status_helper.cc +0 -433
  2726. data/src/core/lib/gprpp/status_helper.h +0 -162
  2727. data/src/core/lib/gprpp/strerror.cc +0 -41
  2728. data/src/core/lib/gprpp/strerror.h +0 -29
  2729. data/src/core/lib/gprpp/sync.h +0 -199
  2730. data/src/core/lib/gprpp/table.h +0 -488
  2731. data/src/core/lib/gprpp/tchar.cc +0 -49
  2732. data/src/core/lib/gprpp/tchar.h +0 -33
  2733. data/src/core/lib/gprpp/thd.h +0 -194
  2734. data/src/core/lib/gprpp/time.cc +0 -241
  2735. data/src/core/lib/gprpp/time.h +0 -379
  2736. data/src/core/lib/gprpp/time_averaged_stats.cc +0 -60
  2737. data/src/core/lib/gprpp/time_averaged_stats.h +0 -79
  2738. data/src/core/lib/gprpp/time_util.cc +0 -81
  2739. data/src/core/lib/gprpp/time_util.h +0 -41
  2740. data/src/core/lib/gprpp/type_list.h +0 -32
  2741. data/src/core/lib/gprpp/unique_type_name.h +0 -124
  2742. data/src/core/lib/gprpp/uuid_v4.cc +0 -37
  2743. data/src/core/lib/gprpp/uuid_v4.h +0 -36
  2744. data/src/core/lib/gprpp/validation_errors.cc +0 -74
  2745. data/src/core/lib/gprpp/validation_errors.h +0 -145
  2746. data/src/core/lib/gprpp/windows/directory_reader.cc +0 -79
  2747. data/src/core/lib/gprpp/windows/env.cc +0 -56
  2748. data/src/core/lib/gprpp/windows/stat.cc +0 -51
  2749. data/src/core/lib/gprpp/windows/thd.cc +0 -184
  2750. data/src/core/lib/gprpp/work_serializer.cc +0 -543
  2751. data/src/core/lib/gprpp/work_serializer.h +0 -106
  2752. data/src/core/lib/gprpp/xxhash_inline.h +0 -29
  2753. data/src/core/lib/iomgr/gethostname.h +0 -26
  2754. data/src/core/lib/iomgr/gethostname_fallback.cc +0 -30
  2755. data/src/core/lib/iomgr/gethostname_host_name_max.cc +0 -40
  2756. data/src/core/lib/iomgr/gethostname_sysconf.cc +0 -40
  2757. data/src/core/lib/iomgr/grpc_if_nametoindex.h +0 -30
  2758. data/src/core/lib/iomgr/grpc_if_nametoindex_posix.cc +0 -42
  2759. data/src/core/lib/iomgr/grpc_if_nametoindex_unsupported.cc +0 -37
  2760. data/src/core/lib/matchers/matchers.cc +0 -330
  2761. data/src/core/lib/matchers/matchers.h +0 -163
  2762. data/src/core/lib/security/certificate_provider/certificate_provider_factory.h +0 -70
  2763. data/src/core/lib/security/certificate_provider/certificate_provider_registry.cc +0 -50
  2764. data/src/core/lib/security/certificate_provider/certificate_provider_registry.h +0 -76
  2765. data/src/core/lib/security/context/security_context.cc +0 -333
  2766. data/src/core/lib/security/context/security_context.h +0 -204
  2767. data/src/core/lib/security/credentials/alts/alts_credentials.cc +0 -116
  2768. data/src/core/lib/security/credentials/alts/alts_credentials.h +0 -123
  2769. data/src/core/lib/security/credentials/alts/check_gcp_environment.cc +0 -72
  2770. data/src/core/lib/security/credentials/alts/check_gcp_environment.h +0 -57
  2771. data/src/core/lib/security/credentials/alts/check_gcp_environment_linux.cc +0 -68
  2772. data/src/core/lib/security/credentials/alts/check_gcp_environment_no_op.cc +0 -33
  2773. data/src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc +0 -102
  2774. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_client_options.cc +0 -124
  2775. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_options.cc +0 -45
  2776. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_options.h +0 -74
  2777. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_server_options.cc +0 -55
  2778. data/src/core/lib/security/credentials/call_creds_util.cc +0 -96
  2779. data/src/core/lib/security/credentials/call_creds_util.h +0 -43
  2780. data/src/core/lib/security/credentials/channel_creds_registry.h +0 -127
  2781. data/src/core/lib/security/credentials/channel_creds_registry_init.cc +0 -242
  2782. data/src/core/lib/security/credentials/composite/composite_credentials.cc +0 -169
  2783. data/src/core/lib/security/credentials/composite/composite_credentials.h +0 -135
  2784. data/src/core/lib/security/credentials/credentials.cc +0 -163
  2785. data/src/core/lib/security/credentials/credentials.h +0 -299
  2786. data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +0 -531
  2787. data/src/core/lib/security/credentials/external/aws_external_account_credentials.h +0 -116
  2788. data/src/core/lib/security/credentials/external/aws_request_signer.cc +0 -231
  2789. data/src/core/lib/security/credentials/external/aws_request_signer.h +0 -72
  2790. data/src/core/lib/security/credentials/external/external_account_credentials.cc +0 -644
  2791. data/src/core/lib/security/credentials/external/external_account_credentials.h +0 -209
  2792. data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +0 -176
  2793. data/src/core/lib/security/credentials/external/file_external_account_credentials.h +0 -79
  2794. data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +0 -223
  2795. data/src/core/lib/security/credentials/external/url_external_account_credentials.h +0 -72
  2796. data/src/core/lib/security/credentials/fake/fake_credentials.cc +0 -105
  2797. data/src/core/lib/security/credentials/fake/fake_credentials.h +0 -125
  2798. data/src/core/lib/security/credentials/gcp_service_account_identity/gcp_service_account_identity_credentials.cc +0 -196
  2799. data/src/core/lib/security/credentials/gcp_service_account_identity/gcp_service_account_identity_credentials.h +0 -90
  2800. data/src/core/lib/security/credentials/google_default/credentials_generic.cc +0 -39
  2801. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +0 -433
  2802. data/src/core/lib/security/credentials/google_default/google_default_credentials.h +0 -99
  2803. data/src/core/lib/security/credentials/iam/iam_credentials.cc +0 -80
  2804. data/src/core/lib/security/credentials/iam/iam_credentials.h +0 -67
  2805. data/src/core/lib/security/credentials/insecure/insecure_credentials.cc +0 -71
  2806. data/src/core/lib/security/credentials/insecure/insecure_credentials.h +0 -61
  2807. data/src/core/lib/security/credentials/jwt/json_token.cc +0 -321
  2808. data/src/core/lib/security/credentials/jwt/json_token.h +0 -79
  2809. data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +0 -184
  2810. data/src/core/lib/security/credentials/jwt/jwt_credentials.h +0 -108
  2811. data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +0 -991
  2812. data/src/core/lib/security/credentials/jwt/jwt_verifier.h +0 -123
  2813. data/src/core/lib/security/credentials/local/local_credentials.cc +0 -68
  2814. data/src/core/lib/security/credentials/local/local_credentials.h +0 -77
  2815. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +0 -655
  2816. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +0 -198
  2817. data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +0 -203
  2818. data/src/core/lib/security/credentials/plugin/plugin_credentials.h +0 -125
  2819. data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +0 -476
  2820. data/src/core/lib/security/credentials/ssl/ssl_credentials.h +0 -146
  2821. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc +0 -338
  2822. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.h +0 -216
  2823. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_match.cc +0 -86
  2824. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +0 -412
  2825. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h +0 -204
  2826. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.cc +0 -239
  2827. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.h +0 -170
  2828. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc +0 -162
  2829. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h +0 -145
  2830. data/src/core/lib/security/credentials/tls/grpc_tls_crl_provider.cc +0 -260
  2831. data/src/core/lib/security/credentials/tls/grpc_tls_crl_provider.h +0 -132
  2832. data/src/core/lib/security/credentials/tls/tls_credentials.cc +0 -171
  2833. data/src/core/lib/security/credentials/tls/tls_credentials.h +0 -73
  2834. data/src/core/lib/security/credentials/tls/tls_utils.cc +0 -128
  2835. data/src/core/lib/security/credentials/tls/tls_utils.h +0 -50
  2836. data/src/core/lib/security/credentials/token_fetcher/token_fetcher_credentials.cc +0 -298
  2837. data/src/core/lib/security/credentials/token_fetcher/token_fetcher_credentials.h +0 -176
  2838. data/src/core/lib/security/credentials/xds/xds_credentials.cc +0 -231
  2839. data/src/core/lib/security/credentials/xds/xds_credentials.h +0 -112
  2840. data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +0 -305
  2841. data/src/core/lib/security/security_connector/alts/alts_security_connector.h +0 -78
  2842. data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +0 -316
  2843. data/src/core/lib/security/security_connector/fake/fake_security_connector.h +0 -42
  2844. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.cc +0 -120
  2845. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.h +0 -103
  2846. data/src/core/lib/security/security_connector/load_system_roots.h +0 -35
  2847. data/src/core/lib/security/security_connector/load_system_roots_fallback.cc +0 -36
  2848. data/src/core/lib/security/security_connector/load_system_roots_supported.cc +0 -167
  2849. data/src/core/lib/security/security_connector/load_system_roots_supported.h +0 -44
  2850. data/src/core/lib/security/security_connector/load_system_roots_windows.cc +0 -86
  2851. data/src/core/lib/security/security_connector/local/local_security_connector.cc +0 -302
  2852. data/src/core/lib/security/security_connector/local/local_security_connector.h +0 -62
  2853. data/src/core/lib/security/security_connector/security_connector.cc +0 -125
  2854. data/src/core/lib/security/security_connector/security_connector.h +0 -198
  2855. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +0 -405
  2856. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.h +0 -82
  2857. data/src/core/lib/security/security_connector/ssl_utils.cc +0 -630
  2858. data/src/core/lib/security/security_connector/ssl_utils.h +0 -190
  2859. data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +0 -818
  2860. data/src/core/lib/security/security_connector/tls/tls_security_connector.h +0 -286
  2861. data/src/core/lib/security/transport/auth_filters.h +0 -145
  2862. data/src/core/lib/security/transport/client_auth_filter.cc +0 -221
  2863. data/src/core/lib/security/transport/server_auth_filter.cc +0 -216
  2864. data/src/core/lib/security/util/json_util.cc +0 -70
  2865. data/src/core/lib/security/util/json_util.h +0 -43
  2866. data/src/core/lib/surface/client_call.cc +0 -429
  2867. data/src/core/lib/surface/client_call.h +0 -179
  2868. data/src/core/lib/surface/server_call.cc +0 -223
  2869. data/src/core/lib/surface/server_call.h +0 -168
  2870. data/src/core/lib/transport/call_arena_allocator.cc +0 -27
  2871. data/src/core/lib/transport/call_arena_allocator.h +0 -92
  2872. data/src/core/lib/transport/call_destination.h +0 -76
  2873. data/src/core/lib/transport/call_filters.cc +0 -254
  2874. data/src/core/lib/transport/call_filters.h +0 -1532
  2875. data/src/core/lib/transport/call_spine.cc +0 -132
  2876. data/src/core/lib/transport/call_spine.h +0 -418
  2877. data/src/core/lib/transport/call_state.cc +0 -39
  2878. data/src/core/lib/transport/call_state.h +0 -957
  2879. data/src/core/lib/transport/custom_metadata.h +0 -30
  2880. data/src/core/lib/transport/http2_errors.h +0 -41
  2881. data/src/core/lib/transport/interception_chain.cc +0 -147
  2882. data/src/core/lib/transport/interception_chain.h +0 -244
  2883. data/src/core/lib/transport/message.cc +0 -44
  2884. data/src/core/lib/transport/message.h +0 -61
  2885. data/src/core/lib/transport/metadata.cc +0 -61
  2886. data/src/core/lib/transport/metadata.h +0 -113
  2887. data/src/core/lib/transport/metadata_batch.cc +0 -376
  2888. data/src/core/lib/transport/metadata_batch.h +0 -1601
  2889. data/src/core/lib/transport/metadata_compression_traits.h +0 -67
  2890. data/src/core/lib/transport/metadata_info.cc +0 -55
  2891. data/src/core/lib/transport/metadata_info.h +0 -85
  2892. data/src/core/lib/transport/parsed_metadata.cc +0 -35
  2893. data/src/core/lib/transport/parsed_metadata.h +0 -431
  2894. data/src/core/lib/transport/simple_slice_based_metadata.h +0 -54
  2895. data/src/core/lib/uri/uri_parser.cc +0 -371
  2896. data/src/core/lib/uri/uri_parser.h +0 -101
  2897. data/src/core/resolver/binder/binder_resolver.cc +0 -153
  2898. data/src/core/util/atm.cc +0 -35
  2899. data/src/core/xds/xds_client/xds_client_stats.cc +0 -164
  2900. data/src/core/xds/xds_client/xds_client_stats.h +0 -258
  2901. data/third_party/abseil-cpp/absl/strings/internal/has_absl_stringify.h +0 -44
  2902. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bitstr.c +0 -284
  2903. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bool.c +0 -95
  2904. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_d2i_fp.c +0 -89
  2905. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_dup.c +0 -84
  2906. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_gentm.c +0 -151
  2907. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_i2d_fp.c +0 -85
  2908. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_int.c +0 -465
  2909. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_mbstr.c +0 -279
  2910. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_object.c +0 -235
  2911. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_octet.c +0 -74
  2912. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_strex.c +0 -457
  2913. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_strnid.c +0 -245
  2914. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_time.c +0 -259
  2915. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_type.c +0 -214
  2916. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_utctm.c +0 -183
  2917. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_lib.c +0 -397
  2918. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_par.c +0 -103
  2919. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn_pack.c +0 -98
  2920. data/third_party/boringssl-with-bazel/src/crypto/asn1/f_int.c +0 -105
  2921. data/third_party/boringssl-with-bazel/src/crypto/asn1/f_string.c +0 -94
  2922. data/third_party/boringssl-with-bazel/src/crypto/asn1/posix_time.c +0 -241
  2923. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_dec.c +0 -973
  2924. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_enc.c +0 -708
  2925. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_fre.c +0 -212
  2926. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_new.c +0 -317
  2927. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_typ.c +0 -126
  2928. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_utl.c +0 -268
  2929. data/third_party/boringssl-with-bazel/src/crypto/base64/base64.c +0 -479
  2930. data/third_party/boringssl-with-bazel/src/crypto/bio/bio.c +0 -726
  2931. data/third_party/boringssl-with-bazel/src/crypto/bio/bio_mem.c +0 -309
  2932. data/third_party/boringssl-with-bazel/src/crypto/bio/connect.c +0 -544
  2933. data/third_party/boringssl-with-bazel/src/crypto/bio/errno.c +0 -92
  2934. data/third_party/boringssl-with-bazel/src/crypto/bio/fd.c +0 -235
  2935. data/third_party/boringssl-with-bazel/src/crypto/bio/file.c +0 -334
  2936. data/third_party/boringssl-with-bazel/src/crypto/bio/hexdump.c +0 -192
  2937. data/third_party/boringssl-with-bazel/src/crypto/bio/pair.c +0 -480
  2938. data/third_party/boringssl-with-bazel/src/crypto/bio/printf.c +0 -102
  2939. data/third_party/boringssl-with-bazel/src/crypto/bio/socket.c +0 -189
  2940. data/third_party/boringssl-with-bazel/src/crypto/bio/socket_helper.c +0 -133
  2941. data/third_party/boringssl-with-bazel/src/crypto/blake2/blake2.c +0 -169
  2942. data/third_party/boringssl-with-bazel/src/crypto/bn_extra/bn_asn1.c +0 -57
  2943. data/third_party/boringssl-with-bazel/src/crypto/bn_extra/convert.c +0 -465
  2944. data/third_party/boringssl-with-bazel/src/crypto/buf/buf.c +0 -158
  2945. data/third_party/boringssl-with-bazel/src/crypto/bytestring/asn1_compat.c +0 -53
  2946. data/third_party/boringssl-with-bazel/src/crypto/bytestring/ber.c +0 -266
  2947. data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbb.c +0 -718
  2948. data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbs.c +0 -911
  2949. data/third_party/boringssl-with-bazel/src/crypto/bytestring/unicode.c +0 -156
  2950. data/third_party/boringssl-with-bazel/src/crypto/chacha/chacha.c +0 -224
  2951. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/cipher_extra.c +0 -127
  2952. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/derive_key.c +0 -152
  2953. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_aesctrhmac.c +0 -284
  2954. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_aesgcmsiv.c +0 -841
  2955. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_chacha20poly1305.c +0 -348
  2956. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_des.c +0 -228
  2957. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_null.c +0 -90
  2958. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_rc2.c +0 -455
  2959. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_rc4.c +0 -94
  2960. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_tls.c +0 -598
  2961. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/internal.h +0 -280
  2962. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/tls_cbc.c +0 -514
  2963. data/third_party/boringssl-with-bazel/src/crypto/conf/conf.c +0 -672
  2964. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_apple.c +0 -75
  2965. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_fuchsia.c +0 -55
  2966. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_linux.c +0 -62
  2967. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_openbsd.c +0 -61
  2968. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_sysreg.c +0 -93
  2969. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_win.c +0 -41
  2970. data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_freebsd.c +0 -54
  2971. data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_linux.c +0 -151
  2972. data/third_party/boringssl-with-bazel/src/crypto/cpu_intel.c +0 -326
  2973. data/third_party/boringssl-with-bazel/src/crypto/crypto.c +0 -188
  2974. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519.c +0 -2157
  2975. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519_64_adx.c +0 -18
  2976. data/third_party/boringssl-with-bazel/src/crypto/curve25519/spake25519.c +0 -523
  2977. data/third_party/boringssl-with-bazel/src/crypto/des/des.c +0 -871
  2978. data/third_party/boringssl-with-bazel/src/crypto/dh_extra/dh_asn1.c +0 -165
  2979. data/third_party/boringssl-with-bazel/src/crypto/dh_extra/params.c +0 -480
  2980. data/third_party/boringssl-with-bazel/src/crypto/digest_extra/digest_extra.c +0 -266
  2981. data/third_party/boringssl-with-bazel/src/crypto/dilithium/dilithium.c +0 -1539
  2982. data/third_party/boringssl-with-bazel/src/crypto/dilithium/internal.h +0 -58
  2983. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa.c +0 -997
  2984. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa_asn1.c +0 -419
  2985. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/ec_asn1.c +0 -572
  2986. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/ec_derive.c +0 -96
  2987. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/hash_to_curve.c +0 -508
  2988. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/internal.h +0 -78
  2989. data/third_party/boringssl-with-bazel/src/crypto/ecdh_extra/ecdh_extra.c +0 -124
  2990. data/third_party/boringssl-with-bazel/src/crypto/ecdsa_extra/ecdsa_asn1.c +0 -411
  2991. data/third_party/boringssl-with-bazel/src/crypto/engine/engine.c +0 -91
  2992. data/third_party/boringssl-with-bazel/src/crypto/err/err.c +0 -903
  2993. data/third_party/boringssl-with-bazel/src/crypto/evp/evp.c +0 -430
  2994. data/third_party/boringssl-with-bazel/src/crypto/evp/evp_asn1.c +0 -547
  2995. data/third_party/boringssl-with-bazel/src/crypto/evp/evp_ctx.c +0 -483
  2996. data/third_party/boringssl-with-bazel/src/crypto/evp/p_dh.c +0 -137
  2997. data/third_party/boringssl-with-bazel/src/crypto/evp/p_dh_asn1.c +0 -120
  2998. data/third_party/boringssl-with-bazel/src/crypto/evp/p_dsa_asn1.c +0 -338
  2999. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec.c +0 -274
  3000. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec_asn1.c +0 -332
  3001. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519.c +0 -100
  3002. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519_asn1.c +0 -224
  3003. data/third_party/boringssl-with-bazel/src/crypto/evp/p_hkdf.c +0 -232
  3004. data/third_party/boringssl-with-bazel/src/crypto/evp/p_rsa.c +0 -646
  3005. data/third_party/boringssl-with-bazel/src/crypto/evp/p_rsa_asn1.c +0 -241
  3006. data/third_party/boringssl-with-bazel/src/crypto/evp/p_x25519.c +0 -106
  3007. data/third_party/boringssl-with-bazel/src/crypto/evp/p_x25519_asn1.c +0 -236
  3008. data/third_party/boringssl-with-bazel/src/crypto/evp/pbkdf.c +0 -146
  3009. data/third_party/boringssl-with-bazel/src/crypto/evp/print.c +0 -381
  3010. data/third_party/boringssl-with-bazel/src/crypto/evp/scrypt.c +0 -209
  3011. data/third_party/boringssl-with-bazel/src/crypto/evp/sign.c +0 -156
  3012. data/third_party/boringssl-with-bazel/src/crypto/ex_data.c +0 -236
  3013. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/aes.c.inc +0 -127
  3014. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/aes_nohw.c.inc +0 -1281
  3015. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/key_wrap.c.inc +0 -242
  3016. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/mode_wrappers.c.inc +0 -124
  3017. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.c +0 -279
  3018. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/add.c.inc +0 -310
  3019. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/asm/x86_64-gcc.c.inc +0 -541
  3020. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/bn.c.inc +0 -428
  3021. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/bytes.c.inc +0 -267
  3022. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/cmp.c.inc +0 -201
  3023. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/ctx.c.inc +0 -234
  3024. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div.c.inc +0 -876
  3025. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div_extra.c.inc +0 -87
  3026. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/exponentiation.c.inc +0 -1320
  3027. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd.c.inc +0 -397
  3028. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd_extra.c.inc +0 -331
  3029. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/generic.c.inc +0 -624
  3030. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/jacobi.c.inc +0 -146
  3031. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery.c.inc +0 -532
  3032. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery_inv.c.inc +0 -222
  3033. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/mul.c.inc +0 -744
  3034. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/prime.c.inc +0 -1077
  3035. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/random.c.inc +0 -354
  3036. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/rsaz_exp.c.inc +0 -137
  3037. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/shift.c.inc +0 -363
  3038. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/sqrt.c.inc +0 -499
  3039. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/aead.c.inc +0 -287
  3040. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/cipher.c.inc +0 -717
  3041. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_aes.c.inc +0 -1464
  3042. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_aesccm.c.inc +0 -446
  3043. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cmac/cmac.c.inc +0 -322
  3044. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/check.c.inc +0 -245
  3045. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/dh.c.inc +0 -489
  3046. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digest.c.inc +0 -288
  3047. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digests.c.inc +0 -304
  3048. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digestsign/digestsign.c.inc +0 -267
  3049. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec.c.inc +0 -1043
  3050. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_key.c.inc +0 -561
  3051. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_montgomery.c.inc +0 -491
  3052. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/felem.c.inc +0 -104
  3053. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/oct.c.inc +0 -359
  3054. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p224-64.c.inc +0 -1163
  3055. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-nistz.c.inc +0 -734
  3056. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256.c.inc +0 -749
  3057. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/scalar.c.inc +0 -173
  3058. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple.c.inc +0 -336
  3059. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple_mul.c.inc +0 -269
  3060. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/util.c.inc +0 -255
  3061. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/wnaf.c.inc +0 -264
  3062. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdh/ecdh.c.inc +0 -130
  3063. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/ecdsa.c.inc +0 -317
  3064. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/fips_shared_support.c +0 -29
  3065. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/hkdf/hkdf.c.inc +0 -112
  3066. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/hmac/hmac.c.inc +0 -256
  3067. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md4/md4.c.inc +0 -240
  3068. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md5/internal.h +0 -37
  3069. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md5/md5.c.inc +0 -284
  3070. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/cbc.c.inc +0 -164
  3071. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/cfb.c.inc +0 -200
  3072. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ctr.c.inc +0 -196
  3073. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/gcm.c.inc +0 -743
  3074. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/gcm_nohw.c.inc +0 -302
  3075. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/internal.h +0 -428
  3076. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ofb.c.inc +0 -87
  3077. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/polyval.c.inc +0 -90
  3078. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/ctrdrbg.c.inc +0 -220
  3079. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/rand.c.inc +0 -479
  3080. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/blinding.c.inc +0 -241
  3081. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/padding.c.inc +0 -420
  3082. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa.c.inc +0 -1038
  3083. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa_impl.c.inc +0 -1351
  3084. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/fips.c.inc +0 -121
  3085. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/self_check.c.inc +0 -1038
  3086. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/service_indicator/service_indicator.c.inc +0 -328
  3087. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha1.c.inc +0 -439
  3088. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha256.c.inc +0 -359
  3089. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha512.c.inc +0 -543
  3090. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/kdf.c.inc +0 -218
  3091. data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c +0 -1092
  3092. data/third_party/boringssl-with-bazel/src/crypto/hrss/hrss.c +0 -2234
  3093. data/third_party/boringssl-with-bazel/src/crypto/keccak/internal.h +0 -70
  3094. data/third_party/boringssl-with-bazel/src/crypto/keccak/keccak.c +0 -279
  3095. data/third_party/boringssl-with-bazel/src/crypto/kyber/kyber.c +0 -845
  3096. data/third_party/boringssl-with-bazel/src/crypto/lhash/lhash.c +0 -350
  3097. data/third_party/boringssl-with-bazel/src/crypto/mem.c +0 -613
  3098. data/third_party/boringssl-with-bazel/src/crypto/mldsa/internal.h +0 -73
  3099. data/third_party/boringssl-with-bazel/src/crypto/mldsa/mldsa.c +0 -1687
  3100. data/third_party/boringssl-with-bazel/src/crypto/mlkem/internal.h +0 -90
  3101. data/third_party/boringssl-with-bazel/src/crypto/obj/obj.c +0 -564
  3102. data/third_party/boringssl-with-bazel/src/crypto/obj/obj_xref.c +0 -122
  3103. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_all.c +0 -243
  3104. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_info.c +0 -294
  3105. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_lib.c +0 -789
  3106. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_oth.c +0 -87
  3107. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pk8.c +0 -250
  3108. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pkey.c +0 -183
  3109. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_x509.c +0 -64
  3110. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_xaux.c +0 -64
  3111. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7.c +0 -193
  3112. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7_x509.c +0 -523
  3113. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/p5_pbev2.c +0 -316
  3114. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8.c +0 -527
  3115. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8_x509.c +0 -1352
  3116. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305.c +0 -314
  3117. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_arm.c +0 -308
  3118. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_vec.c +0 -847
  3119. data/third_party/boringssl-with-bazel/src/crypto/pool/pool.c +0 -261
  3120. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/deterministic.c +0 -65
  3121. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/fork_detect.c +0 -195
  3122. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/forkunsafe.c +0 -44
  3123. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/getentropy.c +0 -60
  3124. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/getrandom_fillin.h +0 -64
  3125. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/ios.c +0 -42
  3126. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/passive.c +0 -174
  3127. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/rand_extra.c +0 -77
  3128. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/sysrand_internal.h +0 -37
  3129. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/trusty.c +0 -46
  3130. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/urandom.c +0 -328
  3131. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/windows.c +0 -102
  3132. data/third_party/boringssl-with-bazel/src/crypto/rc4/rc4.c +0 -98
  3133. data/third_party/boringssl-with-bazel/src/crypto/refcount.c +0 -59
  3134. data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/internal.h +0 -79
  3135. data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_asn1.c +0 -324
  3136. data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_crypt.c +0 -570
  3137. data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_print.c +0 -22
  3138. data/third_party/boringssl-with-bazel/src/crypto/siphash/siphash.c +0 -79
  3139. data/third_party/boringssl-with-bazel/src/crypto/spx/address.c +0 -101
  3140. data/third_party/boringssl-with-bazel/src/crypto/spx/address.h +0 -50
  3141. data/third_party/boringssl-with-bazel/src/crypto/spx/fors.c +0 -133
  3142. data/third_party/boringssl-with-bazel/src/crypto/spx/fors.h +0 -54
  3143. data/third_party/boringssl-with-bazel/src/crypto/spx/merkle.c +0 -150
  3144. data/third_party/boringssl-with-bazel/src/crypto/spx/merkle.h +0 -61
  3145. data/third_party/boringssl-with-bazel/src/crypto/spx/params.h +0 -71
  3146. data/third_party/boringssl-with-bazel/src/crypto/spx/spx.c +0 -140
  3147. data/third_party/boringssl-with-bazel/src/crypto/spx/spx_util.c +0 -53
  3148. data/third_party/boringssl-with-bazel/src/crypto/spx/spx_util.h +0 -44
  3149. data/third_party/boringssl-with-bazel/src/crypto/spx/thash.c +0 -136
  3150. data/third_party/boringssl-with-bazel/src/crypto/spx/thash.h +0 -70
  3151. data/third_party/boringssl-with-bazel/src/crypto/spx/wots.c +0 -135
  3152. data/third_party/boringssl-with-bazel/src/crypto/spx/wots.h +0 -45
  3153. data/third_party/boringssl-with-bazel/src/crypto/stack/stack.c +0 -534
  3154. data/third_party/boringssl-with-bazel/src/crypto/thread.c +0 -110
  3155. data/third_party/boringssl-with-bazel/src/crypto/thread_none.c +0 -51
  3156. data/third_party/boringssl-with-bazel/src/crypto/thread_pthread.c +0 -150
  3157. data/third_party/boringssl-with-bazel/src/crypto/thread_win.c +0 -236
  3158. data/third_party/boringssl-with-bazel/src/crypto/trust_token/pmbtoken.c +0 -1668
  3159. data/third_party/boringssl-with-bazel/src/crypto/trust_token/trust_token.c +0 -687
  3160. data/third_party/boringssl-with-bazel/src/crypto/trust_token/voprf.c +0 -1267
  3161. data/third_party/boringssl-with-bazel/src/crypto/x509/a_digest.c +0 -94
  3162. data/third_party/boringssl-with-bazel/src/crypto/x509/a_sign.c +0 -136
  3163. data/third_party/boringssl-with-bazel/src/crypto/x509/a_verify.c +0 -116
  3164. data/third_party/boringssl-with-bazel/src/crypto/x509/algorithm.c +0 -178
  3165. data/third_party/boringssl-with-bazel/src/crypto/x509/asn1_gen.c +0 -585
  3166. data/third_party/boringssl-with-bazel/src/crypto/x509/by_dir.c +0 -400
  3167. data/third_party/boringssl-with-bazel/src/crypto/x509/by_file.c +0 -269
  3168. data/third_party/boringssl-with-bazel/src/crypto/x509/i2d_pr.c +0 -79
  3169. data/third_party/boringssl-with-bazel/src/crypto/x509/name_print.c +0 -227
  3170. data/third_party/boringssl-with-bazel/src/crypto/x509/policy.c +0 -786
  3171. data/third_party/boringssl-with-bazel/src/crypto/x509/rsa_pss.c +0 -401
  3172. data/third_party/boringssl-with-bazel/src/crypto/x509/t_crl.c +0 -145
  3173. data/third_party/boringssl-with-bazel/src/crypto/x509/t_req.c +0 -245
  3174. data/third_party/boringssl-with-bazel/src/crypto/x509/t_x509.c +0 -329
  3175. data/third_party/boringssl-with-bazel/src/crypto/x509/t_x509a.c +0 -121
  3176. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_akey.c +0 -221
  3177. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_akeya.c +0 -73
  3178. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_alt.c +0 -634
  3179. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_bcons.c +0 -135
  3180. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_bitst.c +0 -141
  3181. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_conf.c +0 -416
  3182. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_cpols.c +0 -482
  3183. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_crld.c +0 -598
  3184. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_enum.c +0 -112
  3185. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_extku.c +0 -154
  3186. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_genn.c +0 -270
  3187. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_ia5.c +0 -122
  3188. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_info.c +0 -211
  3189. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_int.c +0 -121
  3190. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_lib.c +0 -344
  3191. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_ncons.c +0 -555
  3192. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_ocsp.c +0 -81
  3193. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_pcons.c +0 -142
  3194. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_pmaps.c +0 -150
  3195. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_prn.c +0 -224
  3196. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_purp.c +0 -624
  3197. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_skey.c +0 -170
  3198. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_utl.c +0 -1390
  3199. data/third_party/boringssl-with-bazel/src/crypto/x509/x509.c +0 -89
  3200. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_att.c +0 -227
  3201. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_cmp.c +0 -280
  3202. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_d2.c +0 -108
  3203. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_def.c +0 -86
  3204. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_ext.c +0 -181
  3205. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_lu.c +0 -599
  3206. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_obj.c +0 -206
  3207. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_req.c +0 -299
  3208. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_set.c +0 -240
  3209. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_trs.c +0 -160
  3210. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_txt.c +0 -189
  3211. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_v3.c +0 -291
  3212. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c +0 -1638
  3213. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vpm.c +0 -440
  3214. data/third_party/boringssl-with-bazel/src/crypto/x509/x509cset.c +0 -277
  3215. data/third_party/boringssl-with-bazel/src/crypto/x509/x509name.c +0 -407
  3216. data/third_party/boringssl-with-bazel/src/crypto/x509/x509rset.c +0 -109
  3217. data/third_party/boringssl-with-bazel/src/crypto/x509/x509spki.c +0 -133
  3218. data/third_party/boringssl-with-bazel/src/crypto/x509/x_algor.c +0 -149
  3219. data/third_party/boringssl-with-bazel/src/crypto/x509/x_all.c +0 -356
  3220. data/third_party/boringssl-with-bazel/src/crypto/x509/x_attrib.c +0 -97
  3221. data/third_party/boringssl-with-bazel/src/crypto/x509/x_crl.c +0 -384
  3222. data/third_party/boringssl-with-bazel/src/crypto/x509/x_exten.c +0 -78
  3223. data/third_party/boringssl-with-bazel/src/crypto/x509/x_name.c +0 -527
  3224. data/third_party/boringssl-with-bazel/src/crypto/x509/x_pubkey.c +0 -210
  3225. data/third_party/boringssl-with-bazel/src/crypto/x509/x_req.c +0 -116
  3226. data/third_party/boringssl-with-bazel/src/crypto/x509/x_sig.c +0 -93
  3227. data/third_party/boringssl-with-bazel/src/crypto/x509/x_spki.c +0 -79
  3228. data/third_party/boringssl-with-bazel/src/crypto/x509/x_val.c +0 -70
  3229. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509.c +0 -544
  3230. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509a.c +0 -209
  3231. data/third_party/boringssl-with-bazel/src/gen/crypto/err_data.c +0 -1514
  3232. data/third_party/boringssl-with-bazel/src/include/openssl/experimental/dilithium.h +0 -129
  3233. data/third_party/boringssl-with-bazel/src/include/openssl/experimental/spx.h +0 -90
  3234. data/third_party/upb/upb/message/internal/compare_unknown.c +0 -289
  3235. data/third_party/upb/upb/message/internal/compare_unknown.h +0 -49
  3236. /data/src/core/{lib/gprpp → util}/glob.cc +0 -0
@@ -1,4530 +0,0 @@
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_LIB_GPRPP_IF_LIST_H
20
- #define GRPC_SRC_CORE_LIB_GPRPP_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_LIB_GPRPP_IF_LIST_H