grpc 1.45.0 → 1.46.3

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of grpc might be problematic. Click here for more details.

Files changed (515) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +36 -29
  3. data/include/grpc/impl/codegen/grpc_types.h +7 -13
  4. data/src/core/ext/filters/channel_idle/channel_idle_filter.cc +309 -0
  5. data/src/core/ext/filters/channel_idle/channel_idle_filter.h +122 -0
  6. data/src/core/ext/filters/{client_idle → channel_idle}/idle_filter_state.cc +1 -1
  7. data/src/core/ext/filters/{client_idle → channel_idle}/idle_filter_state.h +3 -3
  8. data/src/core/ext/filters/client_channel/client_channel.cc +163 -96
  9. data/src/core/ext/filters/client_channel/client_channel.h +2 -0
  10. data/src/core/ext/filters/client_channel/health/health_check_client.cc +124 -581
  11. data/src/core/ext/filters/client_channel/health/health_check_client.h +24 -160
  12. data/src/core/ext/filters/client_channel/http_proxy.cc +88 -110
  13. data/src/core/ext/filters/client_channel/http_proxy.h +17 -0
  14. data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +182 -142
  15. data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc +2 -6
  16. data/src/core/ext/filters/client_channel/lb_policy/rls/rls.cc +1 -10
  17. data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +87 -58
  18. data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +51 -48
  19. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +14 -7
  20. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +229 -284
  21. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +92 -257
  22. data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +51 -221
  23. data/src/core/ext/filters/client_channel/resolver/polling_resolver.cc +201 -0
  24. data/src/core/ext/filters/client_channel/resolver/polling_resolver.h +106 -0
  25. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +102 -55
  26. data/src/core/ext/filters/client_channel/retry_filter.cc +18 -3
  27. data/src/core/ext/filters/client_channel/subchannel.cc +5 -5
  28. data/src/core/ext/filters/client_channel/subchannel_stream_client.cc +544 -0
  29. data/src/core/ext/filters/client_channel/subchannel_stream_client.h +214 -0
  30. data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +127 -367
  31. data/src/core/ext/filters/fault_injection/fault_injection_filter.h +24 -1
  32. data/src/core/ext/filters/http/client/http_client_filter.cc +78 -458
  33. data/src/core/ext/filters/http/client/http_client_filter.h +21 -4
  34. data/src/core/ext/filters/http/client_authority_filter.cc +17 -22
  35. data/src/core/ext/filters/http/client_authority_filter.h +6 -5
  36. data/src/core/ext/filters/http/http_filters_plugin.cc +9 -6
  37. data/src/core/ext/filters/http/server/http_server_filter.cc +2 -116
  38. data/src/core/ext/filters/server_config_selector/server_config_selector.cc +2 -8
  39. data/src/core/ext/filters/server_config_selector/server_config_selector.h +2 -2
  40. data/src/core/ext/filters/server_config_selector/server_config_selector_filter.cc +73 -201
  41. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +2 -1
  42. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +5 -4
  43. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +139 -28
  44. data/src/core/ext/transport/chttp2/transport/frame_settings.cc +2 -0
  45. data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +2 -6
  46. data/src/core/ext/transport/chttp2/transport/internal.h +4 -2
  47. data/src/core/ext/transport/chttp2/transport/parsing.cc +8 -0
  48. data/src/core/ext/transport/chttp2/transport/writing.cc +24 -13
  49. data/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.c +27 -24
  50. data/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.h +143 -63
  51. data/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.c +37 -35
  52. data/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.h +177 -77
  53. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c +115 -111
  54. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.h +547 -207
  55. data/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.c +5 -5
  56. data/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.h +26 -13
  57. data/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.c +5 -5
  58. data/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.h +23 -9
  59. data/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.c +7 -7
  60. data/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.h +18 -0
  61. data/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.c +4 -4
  62. data/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.h +13 -4
  63. data/src/core/ext/upb-generated/envoy/admin/v3/mutex_stats.upb.c +4 -4
  64. data/src/core/ext/upb-generated/envoy/admin/v3/mutex_stats.upb.h +9 -0
  65. data/src/core/ext/upb-generated/envoy/admin/v3/server_info.upb.c +49 -46
  66. data/src/core/ext/upb-generated/envoy/admin/v3/server_info.upb.h +217 -78
  67. data/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.c +3 -3
  68. data/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.h +10 -2
  69. data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.c +12 -12
  70. data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h +40 -8
  71. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.c +5 -5
  72. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.h +20 -2
  73. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c +55 -55
  74. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h +289 -110
  75. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c +133 -125
  76. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.h +656 -267
  77. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c +24 -18
  78. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h +96 -23
  79. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c +185 -173
  80. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h +860 -309
  81. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c +3 -3
  82. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h +10 -2
  83. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c +44 -24
  84. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h +165 -40
  85. data/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.c +72 -63
  86. data/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.h +433 -174
  87. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c +33 -31
  88. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.h +154 -52
  89. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c +5 -4
  90. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.h +14 -4
  91. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c +89 -89
  92. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h +460 -166
  93. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c +76 -33
  94. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h +379 -69
  95. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c +2 -2
  96. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.h +14 -6
  97. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.c +5 -25
  98. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.h +10 -91
  99. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.c +5 -5
  100. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.h +26 -13
  101. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c +70 -68
  102. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h +369 -131
  103. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c +94 -65
  104. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h +447 -161
  105. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c +4 -4
  106. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.h +27 -11
  107. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c +104 -85
  108. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h +378 -113
  109. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c +2 -2
  110. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.h +3 -0
  111. data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.c +6 -6
  112. data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.h +30 -13
  113. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.c +7 -7
  114. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.h +43 -16
  115. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.c +8 -8
  116. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.h +58 -24
  117. data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.c +4 -4
  118. data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.h +14 -4
  119. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c +18 -18
  120. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.h +100 -43
  121. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c +31 -30
  122. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.h +171 -71
  123. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c +32 -32
  124. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.h +196 -95
  125. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c +2 -2
  126. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.h +7 -2
  127. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c +53 -46
  128. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h +284 -129
  129. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c +56 -50
  130. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h +337 -146
  131. data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.c +13 -11
  132. data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.h +49 -14
  133. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c +4 -4
  134. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h +14 -4
  135. data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.c +5 -5
  136. data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.h +20 -4
  137. data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c +33 -32
  138. data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.h +205 -86
  139. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c +34 -34
  140. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.h +175 -74
  141. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c +56 -52
  142. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h +370 -146
  143. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c +27 -23
  144. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h +173 -74
  145. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c +362 -341
  146. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h +2056 -845
  147. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c +11 -11
  148. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.h +49 -16
  149. data/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.c +56 -50
  150. data/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.h +293 -111
  151. data/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.c +3 -3
  152. data/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.h +6 -0
  153. data/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.c +3 -3
  154. data/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.h +10 -2
  155. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c +5 -5
  156. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.h +26 -10
  157. data/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.c +5 -5
  158. data/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.h +27 -12
  159. data/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.c +17 -16
  160. data/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.h +83 -36
  161. data/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.c +2 -2
  162. data/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.h +7 -2
  163. data/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.c +8 -8
  164. data/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.h +46 -17
  165. data/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.c +9 -9
  166. data/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.h +38 -12
  167. data/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.c +7 -7
  168. data/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.h +30 -10
  169. data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.c +2 -2
  170. data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.h +10 -6
  171. data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.c +15 -15
  172. data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.h +71 -28
  173. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c +25 -25
  174. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.h +149 -65
  175. data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.c +8 -7
  176. data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.h +30 -12
  177. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c +9 -9
  178. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.h +42 -15
  179. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c +173 -144
  180. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +898 -323
  181. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c +51 -45
  182. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h +261 -116
  183. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c +13 -13
  184. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +70 -25
  185. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c +80 -55
  186. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +410 -124
  187. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.c +5 -5
  188. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.h +23 -9
  189. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.c +1 -1
  190. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c +44 -44
  191. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h +261 -122
  192. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c +8 -8
  193. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h +47 -21
  194. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c +32 -32
  195. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.h +175 -66
  196. data/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.c +4 -4
  197. data/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.h +17 -6
  198. data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.c +8 -8
  199. data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.h +38 -17
  200. data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.c +8 -8
  201. data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.h +12 -0
  202. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c +7 -7
  203. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h +43 -18
  204. data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c +3 -3
  205. data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.h +20 -9
  206. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c +3 -3
  207. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h +24 -9
  208. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c +2 -2
  209. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h +14 -6
  210. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c +8 -8
  211. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h +40 -16
  212. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c +9 -9
  213. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h +70 -25
  214. data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c +5 -5
  215. data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.h +37 -18
  216. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c +12 -12
  217. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h +81 -30
  218. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c +16 -16
  219. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h +76 -30
  220. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c +20 -20
  221. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h +90 -30
  222. data/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.c +7 -7
  223. data/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.h +28 -10
  224. data/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.c +2 -2
  225. data/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.h +3 -0
  226. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.c +5 -5
  227. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.h +13 -4
  228. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.c +9 -9
  229. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.h +18 -0
  230. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c +4 -4
  231. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.h +9 -0
  232. data/src/core/ext/upb-generated/envoy/type/v3/token_bucket.upb.c +5 -5
  233. data/src/core/ext/upb-generated/envoy/type/v3/token_bucket.upb.h +17 -4
  234. data/src/core/ext/upb-generated/google/api/annotations.upb.c +3 -3
  235. data/src/core/ext/upb-generated/google/api/annotations.upb.h +17 -2
  236. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.c +70 -66
  237. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.h +410 -162
  238. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c +80 -74
  239. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h +440 -158
  240. data/src/core/ext/upb-generated/google/api/http.upb.c +17 -17
  241. data/src/core/ext/upb-generated/google/api/http.upb.h +116 -43
  242. data/src/core/ext/upb-generated/google/api/httpbody.upb.c +4 -4
  243. data/src/core/ext/upb-generated/google/api/httpbody.upb.h +19 -7
  244. data/src/core/ext/upb-generated/google/protobuf/any.upb.c +3 -3
  245. data/src/core/ext/upb-generated/google/protobuf/any.upb.h +6 -0
  246. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.c +163 -162
  247. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.h +1157 -435
  248. data/src/core/ext/upb-generated/google/protobuf/duration.upb.c +3 -3
  249. data/src/core/ext/upb-generated/google/protobuf/duration.upb.h +10 -4
  250. data/src/core/ext/upb-generated/google/protobuf/empty.upb.c +1 -1
  251. data/src/core/ext/upb-generated/google/protobuf/struct.upb.c +15 -15
  252. data/src/core/ext/upb-generated/google/protobuf/struct.upb.h +108 -40
  253. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.c +3 -3
  254. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.h +10 -4
  255. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.c +18 -18
  256. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.h +27 -0
  257. data/src/core/ext/upb-generated/google/rpc/status.upb.c +4 -4
  258. data/src/core/ext/upb-generated/google/rpc/status.upb.h +19 -7
  259. data/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.c +15 -15
  260. data/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.h +65 -22
  261. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.c +12 -12
  262. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.h +49 -12
  263. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.c +69 -65
  264. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.h +364 -149
  265. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.c +8 -7
  266. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.h +20 -4
  267. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.c +4 -4
  268. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.h +6 -0
  269. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.c +31 -31
  270. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.h +150 -58
  271. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.c +11 -11
  272. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.h +51 -18
  273. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls_config.upb.c +175 -0
  274. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls_config.upb.h +764 -0
  275. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.c +22 -22
  276. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.h +97 -10
  277. data/src/core/ext/upb-generated/udpa/annotations/security.upb.c +6 -6
  278. data/src/core/ext/upb-generated/udpa/annotations/security.upb.h +23 -2
  279. data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.c +3 -3
  280. data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.h +10 -2
  281. data/src/core/ext/upb-generated/udpa/annotations/status.upb.c +6 -6
  282. data/src/core/ext/upb-generated/udpa/annotations/status.upb.h +27 -6
  283. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.c +5 -5
  284. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.h +20 -2
  285. data/src/core/ext/upb-generated/validate/validate.upb.c +261 -250
  286. data/src/core/ext/upb-generated/validate/validate.upb.h +1836 -663
  287. data/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.c +22 -22
  288. data/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.h +97 -10
  289. data/src/core/ext/upb-generated/xds/annotations/v3/security.upb.c +6 -6
  290. data/src/core/ext/upb-generated/xds/annotations/v3/security.upb.h +23 -2
  291. data/src/core/ext/upb-generated/xds/annotations/v3/sensitive.upb.c +3 -3
  292. data/src/core/ext/upb-generated/xds/annotations/v3/sensitive.upb.h +10 -2
  293. data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.c +18 -18
  294. data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.h +70 -10
  295. data/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.c +5 -5
  296. data/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.h +20 -2
  297. data/src/core/ext/upb-generated/xds/core/v3/authority.upb.c +2 -2
  298. data/src/core/ext/upb-generated/xds/core/v3/authority.upb.h +3 -0
  299. data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.c +8 -8
  300. data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.h +38 -12
  301. data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.c +5 -5
  302. data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.h +27 -10
  303. data/src/core/ext/upb-generated/xds/core/v3/extension.upb.c +3 -3
  304. data/src/core/ext/upb-generated/xds/core/v3/extension.upb.h +10 -2
  305. data/src/core/ext/upb-generated/xds/core/v3/resource.upb.c +5 -5
  306. data/src/core/ext/upb-generated/xds/core/v3/resource.upb.h +21 -8
  307. data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.c +10 -10
  308. data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.h +71 -30
  309. data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c +5 -5
  310. data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.h +16 -2
  311. data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.c +12 -12
  312. data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.h +69 -26
  313. data/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.c +43 -39
  314. data/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.h +255 -103
  315. data/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.c +4 -4
  316. data/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.h +19 -8
  317. data/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.c +9 -9
  318. data/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.h +70 -25
  319. data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.c +3 -3
  320. data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.h +10 -2
  321. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.c +50 -46
  322. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c +195 -185
  323. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.c +16 -12
  324. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.c +129 -94
  325. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.h +10 -0
  326. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.c +18 -33
  327. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.h +0 -5
  328. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.c +163 -155
  329. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.h +5 -0
  330. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.c +141 -138
  331. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.c +26 -20
  332. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c +738 -730
  333. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +271 -251
  334. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h +5 -0
  335. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c +207 -193
  336. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.h +5 -0
  337. data/src/core/ext/upbdefs-generated/src/proto/grpc/lookup/v1/rls_config.upbdefs.c +99 -0
  338. data/src/core/ext/upbdefs-generated/src/proto/grpc/lookup/v1/rls_config.upbdefs.h +75 -0
  339. data/src/core/ext/xds/certificate_provider_store.cc +8 -0
  340. data/src/core/ext/xds/certificate_provider_store.h +9 -0
  341. data/src/core/ext/xds/xds_api.cc +20 -0
  342. data/src/core/ext/xds/xds_bootstrap.cc +2 -2
  343. data/src/core/ext/xds/xds_bootstrap.h +2 -0
  344. data/src/core/ext/xds/xds_certificate_provider.cc +2 -0
  345. data/src/core/ext/xds/xds_certificate_provider.h +8 -0
  346. data/src/core/ext/xds/xds_client.cc +87 -95
  347. data/src/core/ext/xds/xds_client.h +13 -5
  348. data/src/core/ext/xds/xds_cluster_specifier_plugin.cc +142 -0
  349. data/src/core/ext/xds/xds_cluster_specifier_plugin.h +79 -0
  350. data/src/core/ext/xds/xds_common_types.cc +9 -9
  351. data/src/core/ext/xds/xds_common_types.h +3 -3
  352. data/src/core/ext/xds/xds_endpoint.cc +12 -5
  353. data/src/core/ext/xds/xds_http_fault_filter.cc +1 -1
  354. data/src/core/ext/xds/xds_listener.cc +1 -1
  355. data/src/core/ext/xds/xds_route_config.cc +162 -25
  356. data/src/core/ext/xds/xds_route_config.h +13 -10
  357. data/src/core/ext/xds/xds_server_config_fetcher.cc +17 -22
  358. data/src/core/lib/avl/avl.h +68 -5
  359. data/src/core/lib/channel/call_tracer.h +4 -1
  360. data/src/core/lib/channel/channel_args.cc +138 -59
  361. data/src/core/lib/channel/channel_args.h +210 -9
  362. data/src/core/lib/channel/channel_args_preconditioning.cc +3 -9
  363. data/src/core/lib/channel/channel_args_preconditioning.h +1 -2
  364. data/src/core/lib/channel/channel_stack.h +2 -5
  365. data/src/core/lib/channel/channel_stack_builder.cc +0 -65
  366. data/src/core/lib/channel/channel_stack_builder.h +27 -6
  367. data/src/core/lib/channel/channel_stack_builder_impl.cc +102 -0
  368. data/src/core/lib/channel/channel_stack_builder_impl.h +48 -0
  369. data/src/core/lib/channel/connected_channel.h +1 -0
  370. data/src/core/lib/channel/promise_based_filter.cc +495 -162
  371. data/src/core/lib/channel/promise_based_filter.h +55 -41
  372. data/src/core/lib/compression/compression_internal.cc +1 -7
  373. data/src/core/lib/debug/stats_data.cc +2 -6
  374. data/src/core/lib/debug/stats_data.h +18 -21
  375. data/src/core/lib/gpr/tls.h +1 -0
  376. data/src/core/lib/gprpp/bitset.h +12 -0
  377. data/src/core/lib/gprpp/cpp_impl_of.h +4 -0
  378. data/src/core/lib/gprpp/match.h +73 -0
  379. data/src/core/lib/gprpp/overload.h +59 -0
  380. data/src/core/lib/gprpp/ref_counted.h +2 -0
  381. data/src/core/lib/gprpp/single_set_ptr.h +87 -0
  382. data/src/core/lib/gprpp/status_helper.cc +18 -2
  383. data/src/core/lib/gprpp/time.cc +12 -0
  384. data/src/core/lib/gprpp/time.h +1 -1
  385. data/src/core/lib/http/format_request.cc +1 -2
  386. data/src/core/lib/http/httpcli_security_connector.cc +5 -5
  387. data/src/core/lib/http/parser.cc +80 -9
  388. data/src/core/lib/http/parser.h +14 -1
  389. data/src/core/lib/iomgr/ev_posix.cc +6 -7
  390. data/src/core/lib/iomgr/fork_posix.cc +1 -1
  391. data/src/core/lib/iomgr/port.h +0 -2
  392. data/src/core/lib/iomgr/tcp_client_posix.cc +2 -2
  393. data/src/core/lib/iomgr/tcp_posix.cc +93 -35
  394. data/src/core/lib/iomgr/tcp_server_posix.cc +26 -17
  395. data/src/core/lib/json/json_util.h +3 -3
  396. data/src/core/lib/promise/call_push_pull.h +144 -0
  397. data/src/core/lib/promise/detail/status.h +2 -1
  398. data/src/core/lib/promise/intra_activity_waiter.h +49 -0
  399. data/src/core/lib/promise/latch.h +104 -0
  400. data/src/core/lib/resource_quota/api.cc +5 -30
  401. data/src/core/lib/resource_quota/api.h +1 -1
  402. data/src/core/lib/resource_quota/resource_quota.h +8 -0
  403. data/src/core/lib/security/authorization/authorization_policy_provider.h +7 -0
  404. data/src/core/lib/security/authorization/grpc_server_authz_filter.cc +9 -12
  405. data/src/core/lib/security/authorization/grpc_server_authz_filter.h +5 -6
  406. data/src/core/lib/security/context/security_context.h +8 -1
  407. data/src/core/lib/security/credentials/alts/alts_credentials.cc +6 -5
  408. data/src/core/lib/security/credentials/alts/alts_credentials.h +4 -0
  409. data/src/core/lib/security/credentials/call_creds_util.cc +3 -3
  410. data/src/core/lib/security/credentials/call_creds_util.h +2 -2
  411. data/src/core/lib/security/credentials/composite/composite_credentials.cc +15 -10
  412. data/src/core/lib/security/credentials/composite/composite_credentials.h +9 -8
  413. data/src/core/lib/security/credentials/credentials.h +16 -33
  414. data/src/core/lib/security/credentials/fake/fake_credentials.cc +8 -12
  415. data/src/core/lib/security/credentials/fake/fake_credentials.h +8 -5
  416. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +4 -0
  417. data/src/core/lib/security/credentials/google_default/google_default_credentials.h +3 -3
  418. data/src/core/lib/security/credentials/iam/iam_credentials.cc +5 -4
  419. data/src/core/lib/security/credentials/iam/iam_credentials.h +6 -2
  420. data/src/core/lib/security/credentials/insecure/insecure_credentials.cc +22 -29
  421. data/src/core/lib/security/credentials/insecure/insecure_credentials.h +57 -0
  422. data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +7 -3
  423. data/src/core/lib/security/credentials/jwt/jwt_credentials.h +6 -2
  424. data/src/core/lib/security/credentials/local/local_credentials.cc +6 -6
  425. data/src/core/lib/security/credentials/local/local_credentials.h +4 -0
  426. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +17 -9
  427. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +14 -6
  428. data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +8 -6
  429. data/src/core/lib/security/credentials/plugin/plugin_credentials.h +8 -6
  430. data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +6 -4
  431. data/src/core/lib/security/credentials/ssl/ssl_credentials.h +8 -0
  432. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h +49 -0
  433. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.cc +8 -0
  434. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.h +42 -3
  435. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h +66 -95
  436. data/src/core/lib/security/credentials/tls/tls_credentials.cc +9 -6
  437. data/src/core/lib/security/credentials/tls/tls_credentials.h +5 -5
  438. data/src/core/lib/security/credentials/xds/xds_credentials.cc +48 -50
  439. data/src/core/lib/security/credentials/xds/xds_credentials.h +31 -5
  440. data/src/core/lib/security/security_connector/local/local_security_connector.cc +2 -2
  441. data/src/core/lib/security/security_connector/security_connector.h +9 -0
  442. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +4 -2
  443. data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +4 -2
  444. data/src/core/lib/security/transport/auth_filters.h +7 -7
  445. data/src/core/lib/security/transport/client_auth_filter.cc +28 -20
  446. data/src/core/lib/security/transport/secure_endpoint.cc +198 -129
  447. data/src/core/lib/security/transport/secure_endpoint.h +1 -1
  448. data/src/core/lib/security/transport/security_handshaker.cc +6 -4
  449. data/src/core/lib/surface/call.cc +1023 -903
  450. data/src/core/lib/surface/call.h +0 -14
  451. data/src/core/lib/surface/channel.cc +4 -3
  452. data/src/core/lib/surface/channel_init.cc +2 -3
  453. data/src/core/lib/surface/channel_init.h +2 -6
  454. data/src/core/lib/surface/init.cc +1 -1
  455. data/src/core/lib/surface/server.cc +3 -14
  456. data/src/core/lib/surface/server.h +1 -2
  457. data/src/core/lib/surface/version.cc +2 -2
  458. data/src/core/lib/transport/byte_stream.cc +2 -0
  459. data/src/core/lib/transport/metadata_batch.h +12 -8
  460. data/src/core/lib/transport/transport.h +20 -5
  461. data/src/core/lib/transport/transport_impl.h +4 -3
  462. data/src/core/plugin_registry/grpc_plugin_registry.cc +2 -4
  463. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +2 -2
  464. data/src/core/tsi/ssl_transport_security.cc +75 -38
  465. data/src/core/tsi/ssl_transport_security.h +8 -2
  466. data/src/core/tsi/transport_security_interface.h +2 -0
  467. data/src/ruby/ext/grpc/extconf.rb +1 -1
  468. data/src/ruby/lib/grpc/generic/active_call.rb +7 -1
  469. data/src/ruby/lib/grpc/grpc.rb +1 -1
  470. data/src/ruby/lib/grpc/version.rb +1 -1
  471. data/src/ruby/pb/generate_proto_ruby.sh +1 -0
  472. data/src/ruby/pb/test/client.rb +769 -0
  473. data/src/ruby/pb/test/server.rb +252 -0
  474. data/src/ruby/pb/test/xds_client.rb +415 -0
  475. data/third_party/upb/third_party/utf8_range/utf8_range.h +1 -1
  476. data/third_party/upb/upb/decode.c +32 -16
  477. data/third_party/upb/upb/def.c +118 -55
  478. data/third_party/upb/upb/def.h +12 -3
  479. data/third_party/upb/upb/encode.c +14 -8
  480. data/third_party/upb/upb/json_encode.c +776 -0
  481. data/third_party/upb/upb/json_encode.h +62 -0
  482. data/third_party/upb/upb/msg.c +5 -7
  483. data/third_party/upb/upb/msg.h +1 -2
  484. data/third_party/upb/upb/msg_internal.h +49 -36
  485. data/third_party/upb/upb/port_def.inc +8 -0
  486. data/third_party/upb/upb/port_undef.inc +1 -0
  487. data/third_party/upb/upb/table.c +10 -6
  488. data/third_party/upb/upb/table_internal.h +2 -0
  489. data/third_party/upb/upb/upb.h +41 -11
  490. data/third_party/zlib/crc32.c +966 -292
  491. data/third_party/zlib/crc32.h +9441 -436
  492. data/third_party/zlib/deflate.c +78 -30
  493. data/third_party/zlib/deflate.h +12 -15
  494. data/third_party/zlib/gzguts.h +3 -2
  495. data/third_party/zlib/gzlib.c +5 -3
  496. data/third_party/zlib/gzread.c +5 -7
  497. data/third_party/zlib/gzwrite.c +25 -13
  498. data/third_party/zlib/infback.c +2 -1
  499. data/third_party/zlib/inffast.c +14 -14
  500. data/third_party/zlib/inflate.c +39 -8
  501. data/third_party/zlib/inflate.h +3 -2
  502. data/third_party/zlib/inftrees.c +3 -3
  503. data/third_party/zlib/trees.c +27 -48
  504. data/third_party/zlib/zlib.h +123 -100
  505. data/third_party/zlib/zutil.c +2 -2
  506. data/third_party/zlib/zutil.h +12 -9
  507. metadata +66 -45
  508. data/src/core/ext/filters/client_idle/client_idle_filter.cc +0 -201
  509. data/src/core/ext/filters/max_age/max_age_filter.cc +0 -566
  510. data/src/core/ext/filters/max_age/max_age_filter.h +0 -26
  511. data/src/core/lib/iomgr/ev_epollex_linux.cc +0 -1657
  512. data/src/core/lib/iomgr/ev_epollex_linux.h +0 -30
  513. data/src/core/lib/iomgr/is_epollexclusive_available.cc +0 -119
  514. data/src/core/lib/iomgr/is_epollexclusive_available.h +0 -36
  515. data/src/core/lib/iomgr/sys_epoll_wrapper.h +0 -30
@@ -168,59 +168,212 @@ typedef enum {
168
168
  validate_FieldRules_type_timestamp = 22,
169
169
  validate_FieldRules_type_NOT_SET = 0
170
170
  } validate_FieldRules_type_oneofcases;
171
- UPB_INLINE validate_FieldRules_type_oneofcases validate_FieldRules_type_case(const validate_FieldRules* msg) { return (validate_FieldRules_type_oneofcases)*UPB_PTR_AT(msg, UPB_SIZE(12, 24), int32_t); }
172
-
173
- UPB_INLINE bool validate_FieldRules_has_float(const validate_FieldRules *msg) { return _upb_getoneofcase(msg, UPB_SIZE(12, 24)) == 1; }
174
- UPB_INLINE const validate_FloatRules* validate_FieldRules_float(const validate_FieldRules *msg) { return UPB_READ_ONEOF(msg, const validate_FloatRules*, UPB_SIZE(8, 16), UPB_SIZE(12, 24), 1, NULL); }
175
- UPB_INLINE bool validate_FieldRules_has_double(const validate_FieldRules *msg) { return _upb_getoneofcase(msg, UPB_SIZE(12, 24)) == 2; }
176
- UPB_INLINE const validate_DoubleRules* validate_FieldRules_double(const validate_FieldRules *msg) { return UPB_READ_ONEOF(msg, const validate_DoubleRules*, UPB_SIZE(8, 16), UPB_SIZE(12, 24), 2, NULL); }
177
- UPB_INLINE bool validate_FieldRules_has_int32(const validate_FieldRules *msg) { return _upb_getoneofcase(msg, UPB_SIZE(12, 24)) == 3; }
178
- UPB_INLINE const validate_Int32Rules* validate_FieldRules_int32(const validate_FieldRules *msg) { return UPB_READ_ONEOF(msg, const validate_Int32Rules*, UPB_SIZE(8, 16), UPB_SIZE(12, 24), 3, NULL); }
179
- UPB_INLINE bool validate_FieldRules_has_int64(const validate_FieldRules *msg) { return _upb_getoneofcase(msg, UPB_SIZE(12, 24)) == 4; }
180
- UPB_INLINE const validate_Int64Rules* validate_FieldRules_int64(const validate_FieldRules *msg) { return UPB_READ_ONEOF(msg, const validate_Int64Rules*, UPB_SIZE(8, 16), UPB_SIZE(12, 24), 4, NULL); }
181
- UPB_INLINE bool validate_FieldRules_has_uint32(const validate_FieldRules *msg) { return _upb_getoneofcase(msg, UPB_SIZE(12, 24)) == 5; }
182
- UPB_INLINE const validate_UInt32Rules* validate_FieldRules_uint32(const validate_FieldRules *msg) { return UPB_READ_ONEOF(msg, const validate_UInt32Rules*, UPB_SIZE(8, 16), UPB_SIZE(12, 24), 5, NULL); }
183
- UPB_INLINE bool validate_FieldRules_has_uint64(const validate_FieldRules *msg) { return _upb_getoneofcase(msg, UPB_SIZE(12, 24)) == 6; }
184
- UPB_INLINE const validate_UInt64Rules* validate_FieldRules_uint64(const validate_FieldRules *msg) { return UPB_READ_ONEOF(msg, const validate_UInt64Rules*, UPB_SIZE(8, 16), UPB_SIZE(12, 24), 6, NULL); }
185
- UPB_INLINE bool validate_FieldRules_has_sint32(const validate_FieldRules *msg) { return _upb_getoneofcase(msg, UPB_SIZE(12, 24)) == 7; }
186
- UPB_INLINE const validate_SInt32Rules* validate_FieldRules_sint32(const validate_FieldRules *msg) { return UPB_READ_ONEOF(msg, const validate_SInt32Rules*, UPB_SIZE(8, 16), UPB_SIZE(12, 24), 7, NULL); }
187
- UPB_INLINE bool validate_FieldRules_has_sint64(const validate_FieldRules *msg) { return _upb_getoneofcase(msg, UPB_SIZE(12, 24)) == 8; }
188
- UPB_INLINE const validate_SInt64Rules* validate_FieldRules_sint64(const validate_FieldRules *msg) { return UPB_READ_ONEOF(msg, const validate_SInt64Rules*, UPB_SIZE(8, 16), UPB_SIZE(12, 24), 8, NULL); }
189
- UPB_INLINE bool validate_FieldRules_has_fixed32(const validate_FieldRules *msg) { return _upb_getoneofcase(msg, UPB_SIZE(12, 24)) == 9; }
190
- UPB_INLINE const validate_Fixed32Rules* validate_FieldRules_fixed32(const validate_FieldRules *msg) { return UPB_READ_ONEOF(msg, const validate_Fixed32Rules*, UPB_SIZE(8, 16), UPB_SIZE(12, 24), 9, NULL); }
191
- UPB_INLINE bool validate_FieldRules_has_fixed64(const validate_FieldRules *msg) { return _upb_getoneofcase(msg, UPB_SIZE(12, 24)) == 10; }
192
- UPB_INLINE const validate_Fixed64Rules* validate_FieldRules_fixed64(const validate_FieldRules *msg) { return UPB_READ_ONEOF(msg, const validate_Fixed64Rules*, UPB_SIZE(8, 16), UPB_SIZE(12, 24), 10, NULL); }
193
- UPB_INLINE bool validate_FieldRules_has_sfixed32(const validate_FieldRules *msg) { return _upb_getoneofcase(msg, UPB_SIZE(12, 24)) == 11; }
194
- UPB_INLINE const validate_SFixed32Rules* validate_FieldRules_sfixed32(const validate_FieldRules *msg) { return UPB_READ_ONEOF(msg, const validate_SFixed32Rules*, UPB_SIZE(8, 16), UPB_SIZE(12, 24), 11, NULL); }
195
- UPB_INLINE bool validate_FieldRules_has_sfixed64(const validate_FieldRules *msg) { return _upb_getoneofcase(msg, UPB_SIZE(12, 24)) == 12; }
196
- UPB_INLINE const validate_SFixed64Rules* validate_FieldRules_sfixed64(const validate_FieldRules *msg) { return UPB_READ_ONEOF(msg, const validate_SFixed64Rules*, UPB_SIZE(8, 16), UPB_SIZE(12, 24), 12, NULL); }
197
- UPB_INLINE bool validate_FieldRules_has_bool(const validate_FieldRules *msg) { return _upb_getoneofcase(msg, UPB_SIZE(12, 24)) == 13; }
198
- UPB_INLINE const validate_BoolRules* validate_FieldRules_bool(const validate_FieldRules *msg) { return UPB_READ_ONEOF(msg, const validate_BoolRules*, UPB_SIZE(8, 16), UPB_SIZE(12, 24), 13, NULL); }
199
- UPB_INLINE bool validate_FieldRules_has_string(const validate_FieldRules *msg) { return _upb_getoneofcase(msg, UPB_SIZE(12, 24)) == 14; }
200
- UPB_INLINE const validate_StringRules* validate_FieldRules_string(const validate_FieldRules *msg) { return UPB_READ_ONEOF(msg, const validate_StringRules*, UPB_SIZE(8, 16), UPB_SIZE(12, 24), 14, NULL); }
201
- UPB_INLINE bool validate_FieldRules_has_bytes(const validate_FieldRules *msg) { return _upb_getoneofcase(msg, UPB_SIZE(12, 24)) == 15; }
202
- UPB_INLINE const validate_BytesRules* validate_FieldRules_bytes(const validate_FieldRules *msg) { return UPB_READ_ONEOF(msg, const validate_BytesRules*, UPB_SIZE(8, 16), UPB_SIZE(12, 24), 15, NULL); }
203
- UPB_INLINE bool validate_FieldRules_has_enum(const validate_FieldRules *msg) { return _upb_getoneofcase(msg, UPB_SIZE(12, 24)) == 16; }
204
- UPB_INLINE const validate_EnumRules* validate_FieldRules_enum(const validate_FieldRules *msg) { return UPB_READ_ONEOF(msg, const validate_EnumRules*, UPB_SIZE(8, 16), UPB_SIZE(12, 24), 16, NULL); }
205
- UPB_INLINE bool validate_FieldRules_has_message(const validate_FieldRules *msg) { return _upb_hasbit(msg, 1); }
171
+ UPB_INLINE validate_FieldRules_type_oneofcases validate_FieldRules_type_case(const validate_FieldRules* msg) {
172
+ return (validate_FieldRules_type_oneofcases)*UPB_PTR_AT(msg, UPB_SIZE(4, 4), int32_t);
173
+ }
174
+ UPB_INLINE bool validate_FieldRules_has_float(const validate_FieldRules* msg) {
175
+ return _upb_getoneofcase(msg, UPB_SIZE(4, 4)) == 1;
176
+ }
177
+ UPB_INLINE void validate_FieldRules_clear_float(const validate_FieldRules* msg) {
178
+ UPB_WRITE_ONEOF(msg, validate_FloatRules*, UPB_SIZE(12, 16), 0, UPB_SIZE(4, 4), validate_FieldRules_type_NOT_SET);
179
+ }
180
+ UPB_INLINE const validate_FloatRules* validate_FieldRules_float(const validate_FieldRules* msg) {
181
+ return UPB_READ_ONEOF(msg, const validate_FloatRules*, UPB_SIZE(12, 16), UPB_SIZE(4, 4), 1, NULL);
182
+ }
183
+ UPB_INLINE bool validate_FieldRules_has_double(const validate_FieldRules* msg) {
184
+ return _upb_getoneofcase(msg, UPB_SIZE(4, 4)) == 2;
185
+ }
186
+ UPB_INLINE void validate_FieldRules_clear_double(const validate_FieldRules* msg) {
187
+ UPB_WRITE_ONEOF(msg, validate_DoubleRules*, UPB_SIZE(12, 16), 0, UPB_SIZE(4, 4), validate_FieldRules_type_NOT_SET);
188
+ }
189
+ UPB_INLINE const validate_DoubleRules* validate_FieldRules_double(const validate_FieldRules* msg) {
190
+ return UPB_READ_ONEOF(msg, const validate_DoubleRules*, UPB_SIZE(12, 16), UPB_SIZE(4, 4), 2, NULL);
191
+ }
192
+ UPB_INLINE bool validate_FieldRules_has_int32(const validate_FieldRules* msg) {
193
+ return _upb_getoneofcase(msg, UPB_SIZE(4, 4)) == 3;
194
+ }
195
+ UPB_INLINE void validate_FieldRules_clear_int32(const validate_FieldRules* msg) {
196
+ UPB_WRITE_ONEOF(msg, validate_Int32Rules*, UPB_SIZE(12, 16), 0, UPB_SIZE(4, 4), validate_FieldRules_type_NOT_SET);
197
+ }
198
+ UPB_INLINE const validate_Int32Rules* validate_FieldRules_int32(const validate_FieldRules* msg) {
199
+ return UPB_READ_ONEOF(msg, const validate_Int32Rules*, UPB_SIZE(12, 16), UPB_SIZE(4, 4), 3, NULL);
200
+ }
201
+ UPB_INLINE bool validate_FieldRules_has_int64(const validate_FieldRules* msg) {
202
+ return _upb_getoneofcase(msg, UPB_SIZE(4, 4)) == 4;
203
+ }
204
+ UPB_INLINE void validate_FieldRules_clear_int64(const validate_FieldRules* msg) {
205
+ UPB_WRITE_ONEOF(msg, validate_Int64Rules*, UPB_SIZE(12, 16), 0, UPB_SIZE(4, 4), validate_FieldRules_type_NOT_SET);
206
+ }
207
+ UPB_INLINE const validate_Int64Rules* validate_FieldRules_int64(const validate_FieldRules* msg) {
208
+ return UPB_READ_ONEOF(msg, const validate_Int64Rules*, UPB_SIZE(12, 16), UPB_SIZE(4, 4), 4, NULL);
209
+ }
210
+ UPB_INLINE bool validate_FieldRules_has_uint32(const validate_FieldRules* msg) {
211
+ return _upb_getoneofcase(msg, UPB_SIZE(4, 4)) == 5;
212
+ }
213
+ UPB_INLINE void validate_FieldRules_clear_uint32(const validate_FieldRules* msg) {
214
+ UPB_WRITE_ONEOF(msg, validate_UInt32Rules*, UPB_SIZE(12, 16), 0, UPB_SIZE(4, 4), validate_FieldRules_type_NOT_SET);
215
+ }
216
+ UPB_INLINE const validate_UInt32Rules* validate_FieldRules_uint32(const validate_FieldRules* msg) {
217
+ return UPB_READ_ONEOF(msg, const validate_UInt32Rules*, UPB_SIZE(12, 16), UPB_SIZE(4, 4), 5, NULL);
218
+ }
219
+ UPB_INLINE bool validate_FieldRules_has_uint64(const validate_FieldRules* msg) {
220
+ return _upb_getoneofcase(msg, UPB_SIZE(4, 4)) == 6;
221
+ }
222
+ UPB_INLINE void validate_FieldRules_clear_uint64(const validate_FieldRules* msg) {
223
+ UPB_WRITE_ONEOF(msg, validate_UInt64Rules*, UPB_SIZE(12, 16), 0, UPB_SIZE(4, 4), validate_FieldRules_type_NOT_SET);
224
+ }
225
+ UPB_INLINE const validate_UInt64Rules* validate_FieldRules_uint64(const validate_FieldRules* msg) {
226
+ return UPB_READ_ONEOF(msg, const validate_UInt64Rules*, UPB_SIZE(12, 16), UPB_SIZE(4, 4), 6, NULL);
227
+ }
228
+ UPB_INLINE bool validate_FieldRules_has_sint32(const validate_FieldRules* msg) {
229
+ return _upb_getoneofcase(msg, UPB_SIZE(4, 4)) == 7;
230
+ }
231
+ UPB_INLINE void validate_FieldRules_clear_sint32(const validate_FieldRules* msg) {
232
+ UPB_WRITE_ONEOF(msg, validate_SInt32Rules*, UPB_SIZE(12, 16), 0, UPB_SIZE(4, 4), validate_FieldRules_type_NOT_SET);
233
+ }
234
+ UPB_INLINE const validate_SInt32Rules* validate_FieldRules_sint32(const validate_FieldRules* msg) {
235
+ return UPB_READ_ONEOF(msg, const validate_SInt32Rules*, UPB_SIZE(12, 16), UPB_SIZE(4, 4), 7, NULL);
236
+ }
237
+ UPB_INLINE bool validate_FieldRules_has_sint64(const validate_FieldRules* msg) {
238
+ return _upb_getoneofcase(msg, UPB_SIZE(4, 4)) == 8;
239
+ }
240
+ UPB_INLINE void validate_FieldRules_clear_sint64(const validate_FieldRules* msg) {
241
+ UPB_WRITE_ONEOF(msg, validate_SInt64Rules*, UPB_SIZE(12, 16), 0, UPB_SIZE(4, 4), validate_FieldRules_type_NOT_SET);
242
+ }
243
+ UPB_INLINE const validate_SInt64Rules* validate_FieldRules_sint64(const validate_FieldRules* msg) {
244
+ return UPB_READ_ONEOF(msg, const validate_SInt64Rules*, UPB_SIZE(12, 16), UPB_SIZE(4, 4), 8, NULL);
245
+ }
246
+ UPB_INLINE bool validate_FieldRules_has_fixed32(const validate_FieldRules* msg) {
247
+ return _upb_getoneofcase(msg, UPB_SIZE(4, 4)) == 9;
248
+ }
249
+ UPB_INLINE void validate_FieldRules_clear_fixed32(const validate_FieldRules* msg) {
250
+ UPB_WRITE_ONEOF(msg, validate_Fixed32Rules*, UPB_SIZE(12, 16), 0, UPB_SIZE(4, 4), validate_FieldRules_type_NOT_SET);
251
+ }
252
+ UPB_INLINE const validate_Fixed32Rules* validate_FieldRules_fixed32(const validate_FieldRules* msg) {
253
+ return UPB_READ_ONEOF(msg, const validate_Fixed32Rules*, UPB_SIZE(12, 16), UPB_SIZE(4, 4), 9, NULL);
254
+ }
255
+ UPB_INLINE bool validate_FieldRules_has_fixed64(const validate_FieldRules* msg) {
256
+ return _upb_getoneofcase(msg, UPB_SIZE(4, 4)) == 10;
257
+ }
258
+ UPB_INLINE void validate_FieldRules_clear_fixed64(const validate_FieldRules* msg) {
259
+ UPB_WRITE_ONEOF(msg, validate_Fixed64Rules*, UPB_SIZE(12, 16), 0, UPB_SIZE(4, 4), validate_FieldRules_type_NOT_SET);
260
+ }
261
+ UPB_INLINE const validate_Fixed64Rules* validate_FieldRules_fixed64(const validate_FieldRules* msg) {
262
+ return UPB_READ_ONEOF(msg, const validate_Fixed64Rules*, UPB_SIZE(12, 16), UPB_SIZE(4, 4), 10, NULL);
263
+ }
264
+ UPB_INLINE bool validate_FieldRules_has_sfixed32(const validate_FieldRules* msg) {
265
+ return _upb_getoneofcase(msg, UPB_SIZE(4, 4)) == 11;
266
+ }
267
+ UPB_INLINE void validate_FieldRules_clear_sfixed32(const validate_FieldRules* msg) {
268
+ UPB_WRITE_ONEOF(msg, validate_SFixed32Rules*, UPB_SIZE(12, 16), 0, UPB_SIZE(4, 4), validate_FieldRules_type_NOT_SET);
269
+ }
270
+ UPB_INLINE const validate_SFixed32Rules* validate_FieldRules_sfixed32(const validate_FieldRules* msg) {
271
+ return UPB_READ_ONEOF(msg, const validate_SFixed32Rules*, UPB_SIZE(12, 16), UPB_SIZE(4, 4), 11, NULL);
272
+ }
273
+ UPB_INLINE bool validate_FieldRules_has_sfixed64(const validate_FieldRules* msg) {
274
+ return _upb_getoneofcase(msg, UPB_SIZE(4, 4)) == 12;
275
+ }
276
+ UPB_INLINE void validate_FieldRules_clear_sfixed64(const validate_FieldRules* msg) {
277
+ UPB_WRITE_ONEOF(msg, validate_SFixed64Rules*, UPB_SIZE(12, 16), 0, UPB_SIZE(4, 4), validate_FieldRules_type_NOT_SET);
278
+ }
279
+ UPB_INLINE const validate_SFixed64Rules* validate_FieldRules_sfixed64(const validate_FieldRules* msg) {
280
+ return UPB_READ_ONEOF(msg, const validate_SFixed64Rules*, UPB_SIZE(12, 16), UPB_SIZE(4, 4), 12, NULL);
281
+ }
282
+ UPB_INLINE bool validate_FieldRules_has_bool(const validate_FieldRules* msg) {
283
+ return _upb_getoneofcase(msg, UPB_SIZE(4, 4)) == 13;
284
+ }
285
+ UPB_INLINE void validate_FieldRules_clear_bool(const validate_FieldRules* msg) {
286
+ UPB_WRITE_ONEOF(msg, validate_BoolRules*, UPB_SIZE(12, 16), 0, UPB_SIZE(4, 4), validate_FieldRules_type_NOT_SET);
287
+ }
288
+ UPB_INLINE const validate_BoolRules* validate_FieldRules_bool(const validate_FieldRules* msg) {
289
+ return UPB_READ_ONEOF(msg, const validate_BoolRules*, UPB_SIZE(12, 16), UPB_SIZE(4, 4), 13, NULL);
290
+ }
291
+ UPB_INLINE bool validate_FieldRules_has_string(const validate_FieldRules* msg) {
292
+ return _upb_getoneofcase(msg, UPB_SIZE(4, 4)) == 14;
293
+ }
294
+ UPB_INLINE void validate_FieldRules_clear_string(const validate_FieldRules* msg) {
295
+ UPB_WRITE_ONEOF(msg, validate_StringRules*, UPB_SIZE(12, 16), 0, UPB_SIZE(4, 4), validate_FieldRules_type_NOT_SET);
296
+ }
297
+ UPB_INLINE const validate_StringRules* validate_FieldRules_string(const validate_FieldRules* msg) {
298
+ return UPB_READ_ONEOF(msg, const validate_StringRules*, UPB_SIZE(12, 16), UPB_SIZE(4, 4), 14, NULL);
299
+ }
300
+ UPB_INLINE bool validate_FieldRules_has_bytes(const validate_FieldRules* msg) {
301
+ return _upb_getoneofcase(msg, UPB_SIZE(4, 4)) == 15;
302
+ }
303
+ UPB_INLINE void validate_FieldRules_clear_bytes(const validate_FieldRules* msg) {
304
+ UPB_WRITE_ONEOF(msg, validate_BytesRules*, UPB_SIZE(12, 16), 0, UPB_SIZE(4, 4), validate_FieldRules_type_NOT_SET);
305
+ }
306
+ UPB_INLINE const validate_BytesRules* validate_FieldRules_bytes(const validate_FieldRules* msg) {
307
+ return UPB_READ_ONEOF(msg, const validate_BytesRules*, UPB_SIZE(12, 16), UPB_SIZE(4, 4), 15, NULL);
308
+ }
309
+ UPB_INLINE bool validate_FieldRules_has_enum(const validate_FieldRules* msg) {
310
+ return _upb_getoneofcase(msg, UPB_SIZE(4, 4)) == 16;
311
+ }
312
+ UPB_INLINE void validate_FieldRules_clear_enum(const validate_FieldRules* msg) {
313
+ UPB_WRITE_ONEOF(msg, validate_EnumRules*, UPB_SIZE(12, 16), 0, UPB_SIZE(4, 4), validate_FieldRules_type_NOT_SET);
314
+ }
315
+ UPB_INLINE const validate_EnumRules* validate_FieldRules_enum(const validate_FieldRules* msg) {
316
+ return UPB_READ_ONEOF(msg, const validate_EnumRules*, UPB_SIZE(12, 16), UPB_SIZE(4, 4), 16, NULL);
317
+ }
318
+ UPB_INLINE bool validate_FieldRules_has_message(const validate_FieldRules* msg) {
319
+ return _upb_hasbit(msg, 1);
320
+ }
321
+ UPB_INLINE void validate_FieldRules_clear_message(const validate_FieldRules* msg) {
322
+ *UPB_PTR_AT(msg, UPB_SIZE(8, 8), const upb_Message*) = NULL;
323
+ }
206
324
  UPB_INLINE const validate_MessageRules* validate_FieldRules_message(const validate_FieldRules* msg) {
207
- return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), const validate_MessageRules*);
208
- }
209
- UPB_INLINE bool validate_FieldRules_has_repeated(const validate_FieldRules *msg) { return _upb_getoneofcase(msg, UPB_SIZE(12, 24)) == 18; }
210
- UPB_INLINE const validate_RepeatedRules* validate_FieldRules_repeated(const validate_FieldRules *msg) { return UPB_READ_ONEOF(msg, const validate_RepeatedRules*, UPB_SIZE(8, 16), UPB_SIZE(12, 24), 18, NULL); }
211
- UPB_INLINE bool validate_FieldRules_has_map(const validate_FieldRules *msg) { return _upb_getoneofcase(msg, UPB_SIZE(12, 24)) == 19; }
212
- UPB_INLINE const validate_MapRules* validate_FieldRules_map(const validate_FieldRules *msg) { return UPB_READ_ONEOF(msg, const validate_MapRules*, UPB_SIZE(8, 16), UPB_SIZE(12, 24), 19, NULL); }
213
- UPB_INLINE bool validate_FieldRules_has_any(const validate_FieldRules *msg) { return _upb_getoneofcase(msg, UPB_SIZE(12, 24)) == 20; }
214
- UPB_INLINE const validate_AnyRules* validate_FieldRules_any(const validate_FieldRules *msg) { return UPB_READ_ONEOF(msg, const validate_AnyRules*, UPB_SIZE(8, 16), UPB_SIZE(12, 24), 20, NULL); }
215
- UPB_INLINE bool validate_FieldRules_has_duration(const validate_FieldRules *msg) { return _upb_getoneofcase(msg, UPB_SIZE(12, 24)) == 21; }
216
- UPB_INLINE const validate_DurationRules* validate_FieldRules_duration(const validate_FieldRules *msg) { return UPB_READ_ONEOF(msg, const validate_DurationRules*, UPB_SIZE(8, 16), UPB_SIZE(12, 24), 21, NULL); }
217
- UPB_INLINE bool validate_FieldRules_has_timestamp(const validate_FieldRules *msg) { return _upb_getoneofcase(msg, UPB_SIZE(12, 24)) == 22; }
218
- UPB_INLINE const validate_TimestampRules* validate_FieldRules_timestamp(const validate_FieldRules *msg) { return UPB_READ_ONEOF(msg, const validate_TimestampRules*, UPB_SIZE(8, 16), UPB_SIZE(12, 24), 22, NULL); }
325
+ return *UPB_PTR_AT(msg, UPB_SIZE(8, 8), const validate_MessageRules*);
326
+ }
327
+ UPB_INLINE bool validate_FieldRules_has_repeated(const validate_FieldRules* msg) {
328
+ return _upb_getoneofcase(msg, UPB_SIZE(4, 4)) == 18;
329
+ }
330
+ UPB_INLINE void validate_FieldRules_clear_repeated(const validate_FieldRules* msg) {
331
+ UPB_WRITE_ONEOF(msg, validate_RepeatedRules*, UPB_SIZE(12, 16), 0, UPB_SIZE(4, 4), validate_FieldRules_type_NOT_SET);
332
+ }
333
+ UPB_INLINE const validate_RepeatedRules* validate_FieldRules_repeated(const validate_FieldRules* msg) {
334
+ return UPB_READ_ONEOF(msg, const validate_RepeatedRules*, UPB_SIZE(12, 16), UPB_SIZE(4, 4), 18, NULL);
335
+ }
336
+ UPB_INLINE bool validate_FieldRules_has_map(const validate_FieldRules* msg) {
337
+ return _upb_getoneofcase(msg, UPB_SIZE(4, 4)) == 19;
338
+ }
339
+ UPB_INLINE void validate_FieldRules_clear_map(const validate_FieldRules* msg) {
340
+ UPB_WRITE_ONEOF(msg, validate_MapRules*, UPB_SIZE(12, 16), 0, UPB_SIZE(4, 4), validate_FieldRules_type_NOT_SET);
341
+ }
342
+ UPB_INLINE const validate_MapRules* validate_FieldRules_map(const validate_FieldRules* msg) {
343
+ return UPB_READ_ONEOF(msg, const validate_MapRules*, UPB_SIZE(12, 16), UPB_SIZE(4, 4), 19, NULL);
344
+ }
345
+ UPB_INLINE bool validate_FieldRules_has_any(const validate_FieldRules* msg) {
346
+ return _upb_getoneofcase(msg, UPB_SIZE(4, 4)) == 20;
347
+ }
348
+ UPB_INLINE void validate_FieldRules_clear_any(const validate_FieldRules* msg) {
349
+ UPB_WRITE_ONEOF(msg, validate_AnyRules*, UPB_SIZE(12, 16), 0, UPB_SIZE(4, 4), validate_FieldRules_type_NOT_SET);
350
+ }
351
+ UPB_INLINE const validate_AnyRules* validate_FieldRules_any(const validate_FieldRules* msg) {
352
+ return UPB_READ_ONEOF(msg, const validate_AnyRules*, UPB_SIZE(12, 16), UPB_SIZE(4, 4), 20, NULL);
353
+ }
354
+ UPB_INLINE bool validate_FieldRules_has_duration(const validate_FieldRules* msg) {
355
+ return _upb_getoneofcase(msg, UPB_SIZE(4, 4)) == 21;
356
+ }
357
+ UPB_INLINE void validate_FieldRules_clear_duration(const validate_FieldRules* msg) {
358
+ UPB_WRITE_ONEOF(msg, validate_DurationRules*, UPB_SIZE(12, 16), 0, UPB_SIZE(4, 4), validate_FieldRules_type_NOT_SET);
359
+ }
360
+ UPB_INLINE const validate_DurationRules* validate_FieldRules_duration(const validate_FieldRules* msg) {
361
+ return UPB_READ_ONEOF(msg, const validate_DurationRules*, UPB_SIZE(12, 16), UPB_SIZE(4, 4), 21, NULL);
362
+ }
363
+ UPB_INLINE bool validate_FieldRules_has_timestamp(const validate_FieldRules* msg) {
364
+ return _upb_getoneofcase(msg, UPB_SIZE(4, 4)) == 22;
365
+ }
366
+ UPB_INLINE void validate_FieldRules_clear_timestamp(const validate_FieldRules* msg) {
367
+ UPB_WRITE_ONEOF(msg, validate_TimestampRules*, UPB_SIZE(12, 16), 0, UPB_SIZE(4, 4), validate_FieldRules_type_NOT_SET);
368
+ }
369
+ UPB_INLINE const validate_TimestampRules* validate_FieldRules_timestamp(const validate_FieldRules* msg) {
370
+ return UPB_READ_ONEOF(msg, const validate_TimestampRules*, UPB_SIZE(12, 16), UPB_SIZE(4, 4), 22, NULL);
371
+ }
219
372
 
220
373
  UPB_INLINE void validate_FieldRules_set_float(validate_FieldRules *msg, validate_FloatRules* value) {
221
- UPB_WRITE_ONEOF(msg, validate_FloatRules*, UPB_SIZE(8, 16), value, UPB_SIZE(12, 24), 1);
374
+ UPB_WRITE_ONEOF(msg, validate_FloatRules*, UPB_SIZE(12, 16), value, UPB_SIZE(4, 4), 1);
222
375
  }
223
- UPB_INLINE struct validate_FloatRules* validate_FieldRules_mutable_float(validate_FieldRules *msg, upb_Arena *arena) {
376
+ UPB_INLINE struct validate_FloatRules* validate_FieldRules_mutable_float(validate_FieldRules* msg, upb_Arena* arena) {
224
377
  struct validate_FloatRules* sub = (struct validate_FloatRules*)validate_FieldRules_float(msg);
225
378
  if (sub == NULL) {
226
379
  sub = (struct validate_FloatRules*)_upb_Message_New(&validate_FloatRules_msginit, arena);
@@ -230,9 +383,9 @@ UPB_INLINE struct validate_FloatRules* validate_FieldRules_mutable_float(validat
230
383
  return sub;
231
384
  }
232
385
  UPB_INLINE void validate_FieldRules_set_double(validate_FieldRules *msg, validate_DoubleRules* value) {
233
- UPB_WRITE_ONEOF(msg, validate_DoubleRules*, UPB_SIZE(8, 16), value, UPB_SIZE(12, 24), 2);
386
+ UPB_WRITE_ONEOF(msg, validate_DoubleRules*, UPB_SIZE(12, 16), value, UPB_SIZE(4, 4), 2);
234
387
  }
235
- UPB_INLINE struct validate_DoubleRules* validate_FieldRules_mutable_double(validate_FieldRules *msg, upb_Arena *arena) {
388
+ UPB_INLINE struct validate_DoubleRules* validate_FieldRules_mutable_double(validate_FieldRules* msg, upb_Arena* arena) {
236
389
  struct validate_DoubleRules* sub = (struct validate_DoubleRules*)validate_FieldRules_double(msg);
237
390
  if (sub == NULL) {
238
391
  sub = (struct validate_DoubleRules*)_upb_Message_New(&validate_DoubleRules_msginit, arena);
@@ -242,9 +395,9 @@ UPB_INLINE struct validate_DoubleRules* validate_FieldRules_mutable_double(valid
242
395
  return sub;
243
396
  }
244
397
  UPB_INLINE void validate_FieldRules_set_int32(validate_FieldRules *msg, validate_Int32Rules* value) {
245
- UPB_WRITE_ONEOF(msg, validate_Int32Rules*, UPB_SIZE(8, 16), value, UPB_SIZE(12, 24), 3);
398
+ UPB_WRITE_ONEOF(msg, validate_Int32Rules*, UPB_SIZE(12, 16), value, UPB_SIZE(4, 4), 3);
246
399
  }
247
- UPB_INLINE struct validate_Int32Rules* validate_FieldRules_mutable_int32(validate_FieldRules *msg, upb_Arena *arena) {
400
+ UPB_INLINE struct validate_Int32Rules* validate_FieldRules_mutable_int32(validate_FieldRules* msg, upb_Arena* arena) {
248
401
  struct validate_Int32Rules* sub = (struct validate_Int32Rules*)validate_FieldRules_int32(msg);
249
402
  if (sub == NULL) {
250
403
  sub = (struct validate_Int32Rules*)_upb_Message_New(&validate_Int32Rules_msginit, arena);
@@ -254,9 +407,9 @@ UPB_INLINE struct validate_Int32Rules* validate_FieldRules_mutable_int32(validat
254
407
  return sub;
255
408
  }
256
409
  UPB_INLINE void validate_FieldRules_set_int64(validate_FieldRules *msg, validate_Int64Rules* value) {
257
- UPB_WRITE_ONEOF(msg, validate_Int64Rules*, UPB_SIZE(8, 16), value, UPB_SIZE(12, 24), 4);
410
+ UPB_WRITE_ONEOF(msg, validate_Int64Rules*, UPB_SIZE(12, 16), value, UPB_SIZE(4, 4), 4);
258
411
  }
259
- UPB_INLINE struct validate_Int64Rules* validate_FieldRules_mutable_int64(validate_FieldRules *msg, upb_Arena *arena) {
412
+ UPB_INLINE struct validate_Int64Rules* validate_FieldRules_mutable_int64(validate_FieldRules* msg, upb_Arena* arena) {
260
413
  struct validate_Int64Rules* sub = (struct validate_Int64Rules*)validate_FieldRules_int64(msg);
261
414
  if (sub == NULL) {
262
415
  sub = (struct validate_Int64Rules*)_upb_Message_New(&validate_Int64Rules_msginit, arena);
@@ -266,9 +419,9 @@ UPB_INLINE struct validate_Int64Rules* validate_FieldRules_mutable_int64(validat
266
419
  return sub;
267
420
  }
268
421
  UPB_INLINE void validate_FieldRules_set_uint32(validate_FieldRules *msg, validate_UInt32Rules* value) {
269
- UPB_WRITE_ONEOF(msg, validate_UInt32Rules*, UPB_SIZE(8, 16), value, UPB_SIZE(12, 24), 5);
422
+ UPB_WRITE_ONEOF(msg, validate_UInt32Rules*, UPB_SIZE(12, 16), value, UPB_SIZE(4, 4), 5);
270
423
  }
271
- UPB_INLINE struct validate_UInt32Rules* validate_FieldRules_mutable_uint32(validate_FieldRules *msg, upb_Arena *arena) {
424
+ UPB_INLINE struct validate_UInt32Rules* validate_FieldRules_mutable_uint32(validate_FieldRules* msg, upb_Arena* arena) {
272
425
  struct validate_UInt32Rules* sub = (struct validate_UInt32Rules*)validate_FieldRules_uint32(msg);
273
426
  if (sub == NULL) {
274
427
  sub = (struct validate_UInt32Rules*)_upb_Message_New(&validate_UInt32Rules_msginit, arena);
@@ -278,9 +431,9 @@ UPB_INLINE struct validate_UInt32Rules* validate_FieldRules_mutable_uint32(valid
278
431
  return sub;
279
432
  }
280
433
  UPB_INLINE void validate_FieldRules_set_uint64(validate_FieldRules *msg, validate_UInt64Rules* value) {
281
- UPB_WRITE_ONEOF(msg, validate_UInt64Rules*, UPB_SIZE(8, 16), value, UPB_SIZE(12, 24), 6);
434
+ UPB_WRITE_ONEOF(msg, validate_UInt64Rules*, UPB_SIZE(12, 16), value, UPB_SIZE(4, 4), 6);
282
435
  }
283
- UPB_INLINE struct validate_UInt64Rules* validate_FieldRules_mutable_uint64(validate_FieldRules *msg, upb_Arena *arena) {
436
+ UPB_INLINE struct validate_UInt64Rules* validate_FieldRules_mutable_uint64(validate_FieldRules* msg, upb_Arena* arena) {
284
437
  struct validate_UInt64Rules* sub = (struct validate_UInt64Rules*)validate_FieldRules_uint64(msg);
285
438
  if (sub == NULL) {
286
439
  sub = (struct validate_UInt64Rules*)_upb_Message_New(&validate_UInt64Rules_msginit, arena);
@@ -290,9 +443,9 @@ UPB_INLINE struct validate_UInt64Rules* validate_FieldRules_mutable_uint64(valid
290
443
  return sub;
291
444
  }
292
445
  UPB_INLINE void validate_FieldRules_set_sint32(validate_FieldRules *msg, validate_SInt32Rules* value) {
293
- UPB_WRITE_ONEOF(msg, validate_SInt32Rules*, UPB_SIZE(8, 16), value, UPB_SIZE(12, 24), 7);
446
+ UPB_WRITE_ONEOF(msg, validate_SInt32Rules*, UPB_SIZE(12, 16), value, UPB_SIZE(4, 4), 7);
294
447
  }
295
- UPB_INLINE struct validate_SInt32Rules* validate_FieldRules_mutable_sint32(validate_FieldRules *msg, upb_Arena *arena) {
448
+ UPB_INLINE struct validate_SInt32Rules* validate_FieldRules_mutable_sint32(validate_FieldRules* msg, upb_Arena* arena) {
296
449
  struct validate_SInt32Rules* sub = (struct validate_SInt32Rules*)validate_FieldRules_sint32(msg);
297
450
  if (sub == NULL) {
298
451
  sub = (struct validate_SInt32Rules*)_upb_Message_New(&validate_SInt32Rules_msginit, arena);
@@ -302,9 +455,9 @@ UPB_INLINE struct validate_SInt32Rules* validate_FieldRules_mutable_sint32(valid
302
455
  return sub;
303
456
  }
304
457
  UPB_INLINE void validate_FieldRules_set_sint64(validate_FieldRules *msg, validate_SInt64Rules* value) {
305
- UPB_WRITE_ONEOF(msg, validate_SInt64Rules*, UPB_SIZE(8, 16), value, UPB_SIZE(12, 24), 8);
458
+ UPB_WRITE_ONEOF(msg, validate_SInt64Rules*, UPB_SIZE(12, 16), value, UPB_SIZE(4, 4), 8);
306
459
  }
307
- UPB_INLINE struct validate_SInt64Rules* validate_FieldRules_mutable_sint64(validate_FieldRules *msg, upb_Arena *arena) {
460
+ UPB_INLINE struct validate_SInt64Rules* validate_FieldRules_mutable_sint64(validate_FieldRules* msg, upb_Arena* arena) {
308
461
  struct validate_SInt64Rules* sub = (struct validate_SInt64Rules*)validate_FieldRules_sint64(msg);
309
462
  if (sub == NULL) {
310
463
  sub = (struct validate_SInt64Rules*)_upb_Message_New(&validate_SInt64Rules_msginit, arena);
@@ -314,9 +467,9 @@ UPB_INLINE struct validate_SInt64Rules* validate_FieldRules_mutable_sint64(valid
314
467
  return sub;
315
468
  }
316
469
  UPB_INLINE void validate_FieldRules_set_fixed32(validate_FieldRules *msg, validate_Fixed32Rules* value) {
317
- UPB_WRITE_ONEOF(msg, validate_Fixed32Rules*, UPB_SIZE(8, 16), value, UPB_SIZE(12, 24), 9);
470
+ UPB_WRITE_ONEOF(msg, validate_Fixed32Rules*, UPB_SIZE(12, 16), value, UPB_SIZE(4, 4), 9);
318
471
  }
319
- UPB_INLINE struct validate_Fixed32Rules* validate_FieldRules_mutable_fixed32(validate_FieldRules *msg, upb_Arena *arena) {
472
+ UPB_INLINE struct validate_Fixed32Rules* validate_FieldRules_mutable_fixed32(validate_FieldRules* msg, upb_Arena* arena) {
320
473
  struct validate_Fixed32Rules* sub = (struct validate_Fixed32Rules*)validate_FieldRules_fixed32(msg);
321
474
  if (sub == NULL) {
322
475
  sub = (struct validate_Fixed32Rules*)_upb_Message_New(&validate_Fixed32Rules_msginit, arena);
@@ -326,9 +479,9 @@ UPB_INLINE struct validate_Fixed32Rules* validate_FieldRules_mutable_fixed32(val
326
479
  return sub;
327
480
  }
328
481
  UPB_INLINE void validate_FieldRules_set_fixed64(validate_FieldRules *msg, validate_Fixed64Rules* value) {
329
- UPB_WRITE_ONEOF(msg, validate_Fixed64Rules*, UPB_SIZE(8, 16), value, UPB_SIZE(12, 24), 10);
482
+ UPB_WRITE_ONEOF(msg, validate_Fixed64Rules*, UPB_SIZE(12, 16), value, UPB_SIZE(4, 4), 10);
330
483
  }
331
- UPB_INLINE struct validate_Fixed64Rules* validate_FieldRules_mutable_fixed64(validate_FieldRules *msg, upb_Arena *arena) {
484
+ UPB_INLINE struct validate_Fixed64Rules* validate_FieldRules_mutable_fixed64(validate_FieldRules* msg, upb_Arena* arena) {
332
485
  struct validate_Fixed64Rules* sub = (struct validate_Fixed64Rules*)validate_FieldRules_fixed64(msg);
333
486
  if (sub == NULL) {
334
487
  sub = (struct validate_Fixed64Rules*)_upb_Message_New(&validate_Fixed64Rules_msginit, arena);
@@ -338,9 +491,9 @@ UPB_INLINE struct validate_Fixed64Rules* validate_FieldRules_mutable_fixed64(val
338
491
  return sub;
339
492
  }
340
493
  UPB_INLINE void validate_FieldRules_set_sfixed32(validate_FieldRules *msg, validate_SFixed32Rules* value) {
341
- UPB_WRITE_ONEOF(msg, validate_SFixed32Rules*, UPB_SIZE(8, 16), value, UPB_SIZE(12, 24), 11);
494
+ UPB_WRITE_ONEOF(msg, validate_SFixed32Rules*, UPB_SIZE(12, 16), value, UPB_SIZE(4, 4), 11);
342
495
  }
343
- UPB_INLINE struct validate_SFixed32Rules* validate_FieldRules_mutable_sfixed32(validate_FieldRules *msg, upb_Arena *arena) {
496
+ UPB_INLINE struct validate_SFixed32Rules* validate_FieldRules_mutable_sfixed32(validate_FieldRules* msg, upb_Arena* arena) {
344
497
  struct validate_SFixed32Rules* sub = (struct validate_SFixed32Rules*)validate_FieldRules_sfixed32(msg);
345
498
  if (sub == NULL) {
346
499
  sub = (struct validate_SFixed32Rules*)_upb_Message_New(&validate_SFixed32Rules_msginit, arena);
@@ -350,9 +503,9 @@ UPB_INLINE struct validate_SFixed32Rules* validate_FieldRules_mutable_sfixed32(v
350
503
  return sub;
351
504
  }
352
505
  UPB_INLINE void validate_FieldRules_set_sfixed64(validate_FieldRules *msg, validate_SFixed64Rules* value) {
353
- UPB_WRITE_ONEOF(msg, validate_SFixed64Rules*, UPB_SIZE(8, 16), value, UPB_SIZE(12, 24), 12);
506
+ UPB_WRITE_ONEOF(msg, validate_SFixed64Rules*, UPB_SIZE(12, 16), value, UPB_SIZE(4, 4), 12);
354
507
  }
355
- UPB_INLINE struct validate_SFixed64Rules* validate_FieldRules_mutable_sfixed64(validate_FieldRules *msg, upb_Arena *arena) {
508
+ UPB_INLINE struct validate_SFixed64Rules* validate_FieldRules_mutable_sfixed64(validate_FieldRules* msg, upb_Arena* arena) {
356
509
  struct validate_SFixed64Rules* sub = (struct validate_SFixed64Rules*)validate_FieldRules_sfixed64(msg);
357
510
  if (sub == NULL) {
358
511
  sub = (struct validate_SFixed64Rules*)_upb_Message_New(&validate_SFixed64Rules_msginit, arena);
@@ -362,9 +515,9 @@ UPB_INLINE struct validate_SFixed64Rules* validate_FieldRules_mutable_sfixed64(v
362
515
  return sub;
363
516
  }
364
517
  UPB_INLINE void validate_FieldRules_set_bool(validate_FieldRules *msg, validate_BoolRules* value) {
365
- UPB_WRITE_ONEOF(msg, validate_BoolRules*, UPB_SIZE(8, 16), value, UPB_SIZE(12, 24), 13);
518
+ UPB_WRITE_ONEOF(msg, validate_BoolRules*, UPB_SIZE(12, 16), value, UPB_SIZE(4, 4), 13);
366
519
  }
367
- UPB_INLINE struct validate_BoolRules* validate_FieldRules_mutable_bool(validate_FieldRules *msg, upb_Arena *arena) {
520
+ UPB_INLINE struct validate_BoolRules* validate_FieldRules_mutable_bool(validate_FieldRules* msg, upb_Arena* arena) {
368
521
  struct validate_BoolRules* sub = (struct validate_BoolRules*)validate_FieldRules_bool(msg);
369
522
  if (sub == NULL) {
370
523
  sub = (struct validate_BoolRules*)_upb_Message_New(&validate_BoolRules_msginit, arena);
@@ -374,9 +527,9 @@ UPB_INLINE struct validate_BoolRules* validate_FieldRules_mutable_bool(validate_
374
527
  return sub;
375
528
  }
376
529
  UPB_INLINE void validate_FieldRules_set_string(validate_FieldRules *msg, validate_StringRules* value) {
377
- UPB_WRITE_ONEOF(msg, validate_StringRules*, UPB_SIZE(8, 16), value, UPB_SIZE(12, 24), 14);
530
+ UPB_WRITE_ONEOF(msg, validate_StringRules*, UPB_SIZE(12, 16), value, UPB_SIZE(4, 4), 14);
378
531
  }
379
- UPB_INLINE struct validate_StringRules* validate_FieldRules_mutable_string(validate_FieldRules *msg, upb_Arena *arena) {
532
+ UPB_INLINE struct validate_StringRules* validate_FieldRules_mutable_string(validate_FieldRules* msg, upb_Arena* arena) {
380
533
  struct validate_StringRules* sub = (struct validate_StringRules*)validate_FieldRules_string(msg);
381
534
  if (sub == NULL) {
382
535
  sub = (struct validate_StringRules*)_upb_Message_New(&validate_StringRules_msginit, arena);
@@ -386,9 +539,9 @@ UPB_INLINE struct validate_StringRules* validate_FieldRules_mutable_string(valid
386
539
  return sub;
387
540
  }
388
541
  UPB_INLINE void validate_FieldRules_set_bytes(validate_FieldRules *msg, validate_BytesRules* value) {
389
- UPB_WRITE_ONEOF(msg, validate_BytesRules*, UPB_SIZE(8, 16), value, UPB_SIZE(12, 24), 15);
542
+ UPB_WRITE_ONEOF(msg, validate_BytesRules*, UPB_SIZE(12, 16), value, UPB_SIZE(4, 4), 15);
390
543
  }
391
- UPB_INLINE struct validate_BytesRules* validate_FieldRules_mutable_bytes(validate_FieldRules *msg, upb_Arena *arena) {
544
+ UPB_INLINE struct validate_BytesRules* validate_FieldRules_mutable_bytes(validate_FieldRules* msg, upb_Arena* arena) {
392
545
  struct validate_BytesRules* sub = (struct validate_BytesRules*)validate_FieldRules_bytes(msg);
393
546
  if (sub == NULL) {
394
547
  sub = (struct validate_BytesRules*)_upb_Message_New(&validate_BytesRules_msginit, arena);
@@ -398,9 +551,9 @@ UPB_INLINE struct validate_BytesRules* validate_FieldRules_mutable_bytes(validat
398
551
  return sub;
399
552
  }
400
553
  UPB_INLINE void validate_FieldRules_set_enum(validate_FieldRules *msg, validate_EnumRules* value) {
401
- UPB_WRITE_ONEOF(msg, validate_EnumRules*, UPB_SIZE(8, 16), value, UPB_SIZE(12, 24), 16);
554
+ UPB_WRITE_ONEOF(msg, validate_EnumRules*, UPB_SIZE(12, 16), value, UPB_SIZE(4, 4), 16);
402
555
  }
403
- UPB_INLINE struct validate_EnumRules* validate_FieldRules_mutable_enum(validate_FieldRules *msg, upb_Arena *arena) {
556
+ UPB_INLINE struct validate_EnumRules* validate_FieldRules_mutable_enum(validate_FieldRules* msg, upb_Arena* arena) {
404
557
  struct validate_EnumRules* sub = (struct validate_EnumRules*)validate_FieldRules_enum(msg);
405
558
  if (sub == NULL) {
406
559
  sub = (struct validate_EnumRules*)_upb_Message_New(&validate_EnumRules_msginit, arena);
@@ -411,9 +564,9 @@ UPB_INLINE struct validate_EnumRules* validate_FieldRules_mutable_enum(validate_
411
564
  }
412
565
  UPB_INLINE void validate_FieldRules_set_message(validate_FieldRules *msg, validate_MessageRules* value) {
413
566
  _upb_sethas(msg, 1);
414
- *UPB_PTR_AT(msg, UPB_SIZE(4, 8), validate_MessageRules*) = value;
567
+ *UPB_PTR_AT(msg, UPB_SIZE(8, 8), validate_MessageRules*) = value;
415
568
  }
416
- UPB_INLINE struct validate_MessageRules* validate_FieldRules_mutable_message(validate_FieldRules *msg, upb_Arena *arena) {
569
+ UPB_INLINE struct validate_MessageRules* validate_FieldRules_mutable_message(validate_FieldRules* msg, upb_Arena* arena) {
417
570
  struct validate_MessageRules* sub = (struct validate_MessageRules*)validate_FieldRules_message(msg);
418
571
  if (sub == NULL) {
419
572
  sub = (struct validate_MessageRules*)_upb_Message_New(&validate_MessageRules_msginit, arena);
@@ -423,9 +576,9 @@ UPB_INLINE struct validate_MessageRules* validate_FieldRules_mutable_message(val
423
576
  return sub;
424
577
  }
425
578
  UPB_INLINE void validate_FieldRules_set_repeated(validate_FieldRules *msg, validate_RepeatedRules* value) {
426
- UPB_WRITE_ONEOF(msg, validate_RepeatedRules*, UPB_SIZE(8, 16), value, UPB_SIZE(12, 24), 18);
579
+ UPB_WRITE_ONEOF(msg, validate_RepeatedRules*, UPB_SIZE(12, 16), value, UPB_SIZE(4, 4), 18);
427
580
  }
428
- UPB_INLINE struct validate_RepeatedRules* validate_FieldRules_mutable_repeated(validate_FieldRules *msg, upb_Arena *arena) {
581
+ UPB_INLINE struct validate_RepeatedRules* validate_FieldRules_mutable_repeated(validate_FieldRules* msg, upb_Arena* arena) {
429
582
  struct validate_RepeatedRules* sub = (struct validate_RepeatedRules*)validate_FieldRules_repeated(msg);
430
583
  if (sub == NULL) {
431
584
  sub = (struct validate_RepeatedRules*)_upb_Message_New(&validate_RepeatedRules_msginit, arena);
@@ -435,9 +588,9 @@ UPB_INLINE struct validate_RepeatedRules* validate_FieldRules_mutable_repeated(v
435
588
  return sub;
436
589
  }
437
590
  UPB_INLINE void validate_FieldRules_set_map(validate_FieldRules *msg, validate_MapRules* value) {
438
- UPB_WRITE_ONEOF(msg, validate_MapRules*, UPB_SIZE(8, 16), value, UPB_SIZE(12, 24), 19);
591
+ UPB_WRITE_ONEOF(msg, validate_MapRules*, UPB_SIZE(12, 16), value, UPB_SIZE(4, 4), 19);
439
592
  }
440
- UPB_INLINE struct validate_MapRules* validate_FieldRules_mutable_map(validate_FieldRules *msg, upb_Arena *arena) {
593
+ UPB_INLINE struct validate_MapRules* validate_FieldRules_mutable_map(validate_FieldRules* msg, upb_Arena* arena) {
441
594
  struct validate_MapRules* sub = (struct validate_MapRules*)validate_FieldRules_map(msg);
442
595
  if (sub == NULL) {
443
596
  sub = (struct validate_MapRules*)_upb_Message_New(&validate_MapRules_msginit, arena);
@@ -447,9 +600,9 @@ UPB_INLINE struct validate_MapRules* validate_FieldRules_mutable_map(validate_Fi
447
600
  return sub;
448
601
  }
449
602
  UPB_INLINE void validate_FieldRules_set_any(validate_FieldRules *msg, validate_AnyRules* value) {
450
- UPB_WRITE_ONEOF(msg, validate_AnyRules*, UPB_SIZE(8, 16), value, UPB_SIZE(12, 24), 20);
603
+ UPB_WRITE_ONEOF(msg, validate_AnyRules*, UPB_SIZE(12, 16), value, UPB_SIZE(4, 4), 20);
451
604
  }
452
- UPB_INLINE struct validate_AnyRules* validate_FieldRules_mutable_any(validate_FieldRules *msg, upb_Arena *arena) {
605
+ UPB_INLINE struct validate_AnyRules* validate_FieldRules_mutable_any(validate_FieldRules* msg, upb_Arena* arena) {
453
606
  struct validate_AnyRules* sub = (struct validate_AnyRules*)validate_FieldRules_any(msg);
454
607
  if (sub == NULL) {
455
608
  sub = (struct validate_AnyRules*)_upb_Message_New(&validate_AnyRules_msginit, arena);
@@ -459,9 +612,9 @@ UPB_INLINE struct validate_AnyRules* validate_FieldRules_mutable_any(validate_Fi
459
612
  return sub;
460
613
  }
461
614
  UPB_INLINE void validate_FieldRules_set_duration(validate_FieldRules *msg, validate_DurationRules* value) {
462
- UPB_WRITE_ONEOF(msg, validate_DurationRules*, UPB_SIZE(8, 16), value, UPB_SIZE(12, 24), 21);
615
+ UPB_WRITE_ONEOF(msg, validate_DurationRules*, UPB_SIZE(12, 16), value, UPB_SIZE(4, 4), 21);
463
616
  }
464
- UPB_INLINE struct validate_DurationRules* validate_FieldRules_mutable_duration(validate_FieldRules *msg, upb_Arena *arena) {
617
+ UPB_INLINE struct validate_DurationRules* validate_FieldRules_mutable_duration(validate_FieldRules* msg, upb_Arena* arena) {
465
618
  struct validate_DurationRules* sub = (struct validate_DurationRules*)validate_FieldRules_duration(msg);
466
619
  if (sub == NULL) {
467
620
  sub = (struct validate_DurationRules*)_upb_Message_New(&validate_DurationRules_msginit, arena);
@@ -471,9 +624,9 @@ UPB_INLINE struct validate_DurationRules* validate_FieldRules_mutable_duration(v
471
624
  return sub;
472
625
  }
473
626
  UPB_INLINE void validate_FieldRules_set_timestamp(validate_FieldRules *msg, validate_TimestampRules* value) {
474
- UPB_WRITE_ONEOF(msg, validate_TimestampRules*, UPB_SIZE(8, 16), value, UPB_SIZE(12, 24), 22);
627
+ UPB_WRITE_ONEOF(msg, validate_TimestampRules*, UPB_SIZE(12, 16), value, UPB_SIZE(4, 4), 22);
475
628
  }
476
- UPB_INLINE struct validate_TimestampRules* validate_FieldRules_mutable_timestamp(validate_FieldRules *msg, upb_Arena *arena) {
629
+ UPB_INLINE struct validate_TimestampRules* validate_FieldRules_mutable_timestamp(validate_FieldRules* msg, upb_Arena* arena) {
477
630
  struct validate_TimestampRules* sub = (struct validate_TimestampRules*)validate_FieldRules_timestamp(msg);
478
631
  if (sub == NULL) {
479
632
  sub = (struct validate_TimestampRules*)_upb_Message_New(&validate_TimestampRules_msginit, arena);
@@ -514,29 +667,75 @@ UPB_INLINE char* validate_FloatRules_serialize_ex(const validate_FloatRules* msg
514
667
  upb_Arena* arena, size_t* len) {
515
668
  return upb_Encode(msg, &validate_FloatRules_msginit, options, arena, len);
516
669
  }
517
- UPB_INLINE bool validate_FloatRules_has_const(const validate_FloatRules *msg) { return _upb_hasbit(msg, 1); }
670
+ UPB_INLINE bool validate_FloatRules_has_const(const validate_FloatRules* msg) {
671
+ return _upb_hasbit(msg, 1);
672
+ }
673
+ UPB_INLINE void validate_FloatRules_clear_const(const validate_FloatRules* msg) {
674
+ *UPB_PTR_AT(msg, UPB_SIZE(4, 4), float) = 0;
675
+ _upb_clearhas(msg, 1);
676
+ }
518
677
  UPB_INLINE float validate_FloatRules_const(const validate_FloatRules* msg) {
519
678
  return *UPB_PTR_AT(msg, UPB_SIZE(4, 4), float);
520
679
  }
521
- UPB_INLINE bool validate_FloatRules_has_lt(const validate_FloatRules *msg) { return _upb_hasbit(msg, 2); }
680
+ UPB_INLINE bool validate_FloatRules_has_lt(const validate_FloatRules* msg) {
681
+ return _upb_hasbit(msg, 2);
682
+ }
683
+ UPB_INLINE void validate_FloatRules_clear_lt(const validate_FloatRules* msg) {
684
+ *UPB_PTR_AT(msg, UPB_SIZE(8, 8), float) = 0;
685
+ _upb_clearhas(msg, 2);
686
+ }
522
687
  UPB_INLINE float validate_FloatRules_lt(const validate_FloatRules* msg) {
523
688
  return *UPB_PTR_AT(msg, UPB_SIZE(8, 8), float);
524
689
  }
525
- UPB_INLINE bool validate_FloatRules_has_lte(const validate_FloatRules *msg) { return _upb_hasbit(msg, 3); }
690
+ UPB_INLINE bool validate_FloatRules_has_lte(const validate_FloatRules* msg) {
691
+ return _upb_hasbit(msg, 3);
692
+ }
693
+ UPB_INLINE void validate_FloatRules_clear_lte(const validate_FloatRules* msg) {
694
+ *UPB_PTR_AT(msg, UPB_SIZE(12, 12), float) = 0;
695
+ _upb_clearhas(msg, 3);
696
+ }
526
697
  UPB_INLINE float validate_FloatRules_lte(const validate_FloatRules* msg) {
527
698
  return *UPB_PTR_AT(msg, UPB_SIZE(12, 12), float);
528
699
  }
529
- UPB_INLINE bool validate_FloatRules_has_gt(const validate_FloatRules *msg) { return _upb_hasbit(msg, 4); }
700
+ UPB_INLINE bool validate_FloatRules_has_gt(const validate_FloatRules* msg) {
701
+ return _upb_hasbit(msg, 4);
702
+ }
703
+ UPB_INLINE void validate_FloatRules_clear_gt(const validate_FloatRules* msg) {
704
+ *UPB_PTR_AT(msg, UPB_SIZE(16, 16), float) = 0;
705
+ _upb_clearhas(msg, 4);
706
+ }
530
707
  UPB_INLINE float validate_FloatRules_gt(const validate_FloatRules* msg) {
531
708
  return *UPB_PTR_AT(msg, UPB_SIZE(16, 16), float);
532
709
  }
533
- UPB_INLINE bool validate_FloatRules_has_gte(const validate_FloatRules *msg) { return _upb_hasbit(msg, 5); }
710
+ UPB_INLINE bool validate_FloatRules_has_gte(const validate_FloatRules* msg) {
711
+ return _upb_hasbit(msg, 5);
712
+ }
713
+ UPB_INLINE void validate_FloatRules_clear_gte(const validate_FloatRules* msg) {
714
+ *UPB_PTR_AT(msg, UPB_SIZE(20, 20), float) = 0;
715
+ _upb_clearhas(msg, 5);
716
+ }
534
717
  UPB_INLINE float validate_FloatRules_gte(const validate_FloatRules* msg) {
535
718
  return *UPB_PTR_AT(msg, UPB_SIZE(20, 20), float);
536
719
  }
537
- UPB_INLINE float const* validate_FloatRules_in(const validate_FloatRules *msg, size_t *len) { return (float const*)_upb_array_accessor(msg, UPB_SIZE(28, 32), len); }
538
- UPB_INLINE float const* validate_FloatRules_not_in(const validate_FloatRules *msg, size_t *len) { return (float const*)_upb_array_accessor(msg, UPB_SIZE(32, 40), len); }
539
- UPB_INLINE bool validate_FloatRules_has_ignore_empty(const validate_FloatRules *msg) { return _upb_hasbit(msg, 6); }
720
+ UPB_INLINE void validate_FloatRules_clear_in(const validate_FloatRules* msg) {
721
+ _upb_array_detach(msg, UPB_SIZE(28, 32));
722
+ }
723
+ UPB_INLINE float const* validate_FloatRules_in(const validate_FloatRules* msg, size_t* len) {
724
+ return (float const*)_upb_array_accessor(msg, UPB_SIZE(28, 32), len);
725
+ }
726
+ UPB_INLINE void validate_FloatRules_clear_not_in(const validate_FloatRules* msg) {
727
+ _upb_array_detach(msg, UPB_SIZE(32, 40));
728
+ }
729
+ UPB_INLINE float const* validate_FloatRules_not_in(const validate_FloatRules* msg, size_t* len) {
730
+ return (float const*)_upb_array_accessor(msg, UPB_SIZE(32, 40), len);
731
+ }
732
+ UPB_INLINE bool validate_FloatRules_has_ignore_empty(const validate_FloatRules* msg) {
733
+ return _upb_hasbit(msg, 6);
734
+ }
735
+ UPB_INLINE void validate_FloatRules_clear_ignore_empty(const validate_FloatRules* msg) {
736
+ *UPB_PTR_AT(msg, UPB_SIZE(24, 24), bool) = 0;
737
+ _upb_clearhas(msg, 6);
738
+ }
540
739
  UPB_INLINE bool validate_FloatRules_ignore_empty(const validate_FloatRules* msg) {
541
740
  return *UPB_PTR_AT(msg, UPB_SIZE(24, 24), bool);
542
741
  }
@@ -561,25 +760,23 @@ UPB_INLINE void validate_FloatRules_set_gte(validate_FloatRules *msg, float valu
561
760
  _upb_sethas(msg, 5);
562
761
  *UPB_PTR_AT(msg, UPB_SIZE(20, 20), float) = value;
563
762
  }
564
- UPB_INLINE float* validate_FloatRules_mutable_in(validate_FloatRules *msg, size_t *len) {
763
+ UPB_INLINE float* validate_FloatRules_mutable_in(validate_FloatRules* msg, size_t* len) {
565
764
  return (float*)_upb_array_mutable_accessor(msg, UPB_SIZE(28, 32), len);
566
765
  }
567
- UPB_INLINE float* validate_FloatRules_resize_in(validate_FloatRules *msg, size_t len, upb_Arena *arena) {
766
+ UPB_INLINE float* validate_FloatRules_resize_in(validate_FloatRules* msg, size_t len, upb_Arena* arena) {
568
767
  return (float*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(28, 32), len, 2, arena);
569
768
  }
570
- UPB_INLINE bool validate_FloatRules_add_in(validate_FloatRules *msg, float val, upb_Arena *arena) {
571
- return _upb_Array_Append_accessor2(msg, UPB_SIZE(28, 32), 2, &val,
572
- arena);
769
+ UPB_INLINE bool validate_FloatRules_add_in(validate_FloatRules* msg, float val, upb_Arena* arena) {
770
+ return _upb_Array_Append_accessor2(msg, UPB_SIZE(28, 32), 2, &val, arena);
573
771
  }
574
- UPB_INLINE float* validate_FloatRules_mutable_not_in(validate_FloatRules *msg, size_t *len) {
772
+ UPB_INLINE float* validate_FloatRules_mutable_not_in(validate_FloatRules* msg, size_t* len) {
575
773
  return (float*)_upb_array_mutable_accessor(msg, UPB_SIZE(32, 40), len);
576
774
  }
577
- UPB_INLINE float* validate_FloatRules_resize_not_in(validate_FloatRules *msg, size_t len, upb_Arena *arena) {
775
+ UPB_INLINE float* validate_FloatRules_resize_not_in(validate_FloatRules* msg, size_t len, upb_Arena* arena) {
578
776
  return (float*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(32, 40), len, 2, arena);
579
777
  }
580
- UPB_INLINE bool validate_FloatRules_add_not_in(validate_FloatRules *msg, float val, upb_Arena *arena) {
581
- return _upb_Array_Append_accessor2(msg, UPB_SIZE(32, 40), 2, &val,
582
- arena);
778
+ UPB_INLINE bool validate_FloatRules_add_not_in(validate_FloatRules* msg, float val, upb_Arena* arena) {
779
+ return _upb_Array_Append_accessor2(msg, UPB_SIZE(32, 40), 2, &val, arena);
583
780
  }
584
781
  UPB_INLINE void validate_FloatRules_set_ignore_empty(validate_FloatRules *msg, bool value) {
585
782
  _upb_sethas(msg, 6);
@@ -617,76 +814,120 @@ UPB_INLINE char* validate_DoubleRules_serialize_ex(const validate_DoubleRules* m
617
814
  upb_Arena* arena, size_t* len) {
618
815
  return upb_Encode(msg, &validate_DoubleRules_msginit, options, arena, len);
619
816
  }
620
- UPB_INLINE bool validate_DoubleRules_has_const(const validate_DoubleRules *msg) { return _upb_hasbit(msg, 1); }
817
+ UPB_INLINE bool validate_DoubleRules_has_const(const validate_DoubleRules* msg) {
818
+ return _upb_hasbit(msg, 1);
819
+ }
820
+ UPB_INLINE void validate_DoubleRules_clear_const(const validate_DoubleRules* msg) {
821
+ *UPB_PTR_AT(msg, UPB_SIZE(16, 24), double) = 0;
822
+ _upb_clearhas(msg, 1);
823
+ }
621
824
  UPB_INLINE double validate_DoubleRules_const(const validate_DoubleRules* msg) {
622
- return *UPB_PTR_AT(msg, UPB_SIZE(8, 8), double);
825
+ return *UPB_PTR_AT(msg, UPB_SIZE(16, 24), double);
826
+ }
827
+ UPB_INLINE bool validate_DoubleRules_has_lt(const validate_DoubleRules* msg) {
828
+ return _upb_hasbit(msg, 2);
829
+ }
830
+ UPB_INLINE void validate_DoubleRules_clear_lt(const validate_DoubleRules* msg) {
831
+ *UPB_PTR_AT(msg, UPB_SIZE(24, 32), double) = 0;
832
+ _upb_clearhas(msg, 2);
623
833
  }
624
- UPB_INLINE bool validate_DoubleRules_has_lt(const validate_DoubleRules *msg) { return _upb_hasbit(msg, 2); }
625
834
  UPB_INLINE double validate_DoubleRules_lt(const validate_DoubleRules* msg) {
626
- return *UPB_PTR_AT(msg, UPB_SIZE(16, 16), double);
835
+ return *UPB_PTR_AT(msg, UPB_SIZE(24, 32), double);
836
+ }
837
+ UPB_INLINE bool validate_DoubleRules_has_lte(const validate_DoubleRules* msg) {
838
+ return _upb_hasbit(msg, 3);
839
+ }
840
+ UPB_INLINE void validate_DoubleRules_clear_lte(const validate_DoubleRules* msg) {
841
+ *UPB_PTR_AT(msg, UPB_SIZE(32, 40), double) = 0;
842
+ _upb_clearhas(msg, 3);
627
843
  }
628
- UPB_INLINE bool validate_DoubleRules_has_lte(const validate_DoubleRules *msg) { return _upb_hasbit(msg, 3); }
629
844
  UPB_INLINE double validate_DoubleRules_lte(const validate_DoubleRules* msg) {
630
- return *UPB_PTR_AT(msg, UPB_SIZE(24, 24), double);
845
+ return *UPB_PTR_AT(msg, UPB_SIZE(32, 40), double);
846
+ }
847
+ UPB_INLINE bool validate_DoubleRules_has_gt(const validate_DoubleRules* msg) {
848
+ return _upb_hasbit(msg, 4);
849
+ }
850
+ UPB_INLINE void validate_DoubleRules_clear_gt(const validate_DoubleRules* msg) {
851
+ *UPB_PTR_AT(msg, UPB_SIZE(40, 48), double) = 0;
852
+ _upb_clearhas(msg, 4);
631
853
  }
632
- UPB_INLINE bool validate_DoubleRules_has_gt(const validate_DoubleRules *msg) { return _upb_hasbit(msg, 4); }
633
854
  UPB_INLINE double validate_DoubleRules_gt(const validate_DoubleRules* msg) {
634
- return *UPB_PTR_AT(msg, UPB_SIZE(32, 32), double);
855
+ return *UPB_PTR_AT(msg, UPB_SIZE(40, 48), double);
856
+ }
857
+ UPB_INLINE bool validate_DoubleRules_has_gte(const validate_DoubleRules* msg) {
858
+ return _upb_hasbit(msg, 5);
859
+ }
860
+ UPB_INLINE void validate_DoubleRules_clear_gte(const validate_DoubleRules* msg) {
861
+ *UPB_PTR_AT(msg, UPB_SIZE(48, 56), double) = 0;
862
+ _upb_clearhas(msg, 5);
635
863
  }
636
- UPB_INLINE bool validate_DoubleRules_has_gte(const validate_DoubleRules *msg) { return _upb_hasbit(msg, 5); }
637
864
  UPB_INLINE double validate_DoubleRules_gte(const validate_DoubleRules* msg) {
638
- return *UPB_PTR_AT(msg, UPB_SIZE(40, 40), double);
865
+ return *UPB_PTR_AT(msg, UPB_SIZE(48, 56), double);
866
+ }
867
+ UPB_INLINE void validate_DoubleRules_clear_in(const validate_DoubleRules* msg) {
868
+ _upb_array_detach(msg, UPB_SIZE(4, 8));
869
+ }
870
+ UPB_INLINE double const* validate_DoubleRules_in(const validate_DoubleRules* msg, size_t* len) {
871
+ return (double const*)_upb_array_accessor(msg, UPB_SIZE(4, 8), len);
872
+ }
873
+ UPB_INLINE void validate_DoubleRules_clear_not_in(const validate_DoubleRules* msg) {
874
+ _upb_array_detach(msg, UPB_SIZE(8, 16));
875
+ }
876
+ UPB_INLINE double const* validate_DoubleRules_not_in(const validate_DoubleRules* msg, size_t* len) {
877
+ return (double const*)_upb_array_accessor(msg, UPB_SIZE(8, 16), len);
878
+ }
879
+ UPB_INLINE bool validate_DoubleRules_has_ignore_empty(const validate_DoubleRules* msg) {
880
+ return _upb_hasbit(msg, 6);
881
+ }
882
+ UPB_INLINE void validate_DoubleRules_clear_ignore_empty(const validate_DoubleRules* msg) {
883
+ *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool) = 0;
884
+ _upb_clearhas(msg, 6);
639
885
  }
640
- UPB_INLINE double const* validate_DoubleRules_in(const validate_DoubleRules *msg, size_t *len) { return (double const*)_upb_array_accessor(msg, UPB_SIZE(52, 56), len); }
641
- UPB_INLINE double const* validate_DoubleRules_not_in(const validate_DoubleRules *msg, size_t *len) { return (double const*)_upb_array_accessor(msg, UPB_SIZE(56, 64), len); }
642
- UPB_INLINE bool validate_DoubleRules_has_ignore_empty(const validate_DoubleRules *msg) { return _upb_hasbit(msg, 6); }
643
886
  UPB_INLINE bool validate_DoubleRules_ignore_empty(const validate_DoubleRules* msg) {
644
- return *UPB_PTR_AT(msg, UPB_SIZE(48, 48), bool);
887
+ return *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool);
645
888
  }
646
889
 
647
890
  UPB_INLINE void validate_DoubleRules_set_const(validate_DoubleRules *msg, double value) {
648
891
  _upb_sethas(msg, 1);
649
- *UPB_PTR_AT(msg, UPB_SIZE(8, 8), double) = value;
892
+ *UPB_PTR_AT(msg, UPB_SIZE(16, 24), double) = value;
650
893
  }
651
894
  UPB_INLINE void validate_DoubleRules_set_lt(validate_DoubleRules *msg, double value) {
652
895
  _upb_sethas(msg, 2);
653
- *UPB_PTR_AT(msg, UPB_SIZE(16, 16), double) = value;
896
+ *UPB_PTR_AT(msg, UPB_SIZE(24, 32), double) = value;
654
897
  }
655
898
  UPB_INLINE void validate_DoubleRules_set_lte(validate_DoubleRules *msg, double value) {
656
899
  _upb_sethas(msg, 3);
657
- *UPB_PTR_AT(msg, UPB_SIZE(24, 24), double) = value;
900
+ *UPB_PTR_AT(msg, UPB_SIZE(32, 40), double) = value;
658
901
  }
659
902
  UPB_INLINE void validate_DoubleRules_set_gt(validate_DoubleRules *msg, double value) {
660
903
  _upb_sethas(msg, 4);
661
- *UPB_PTR_AT(msg, UPB_SIZE(32, 32), double) = value;
904
+ *UPB_PTR_AT(msg, UPB_SIZE(40, 48), double) = value;
662
905
  }
663
906
  UPB_INLINE void validate_DoubleRules_set_gte(validate_DoubleRules *msg, double value) {
664
907
  _upb_sethas(msg, 5);
665
- *UPB_PTR_AT(msg, UPB_SIZE(40, 40), double) = value;
908
+ *UPB_PTR_AT(msg, UPB_SIZE(48, 56), double) = value;
666
909
  }
667
- UPB_INLINE double* validate_DoubleRules_mutable_in(validate_DoubleRules *msg, size_t *len) {
668
- return (double*)_upb_array_mutable_accessor(msg, UPB_SIZE(52, 56), len);
910
+ UPB_INLINE double* validate_DoubleRules_mutable_in(validate_DoubleRules* msg, size_t* len) {
911
+ return (double*)_upb_array_mutable_accessor(msg, UPB_SIZE(4, 8), len);
669
912
  }
670
- UPB_INLINE double* validate_DoubleRules_resize_in(validate_DoubleRules *msg, size_t len, upb_Arena *arena) {
671
- return (double*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(52, 56), len, 3, arena);
913
+ UPB_INLINE double* validate_DoubleRules_resize_in(validate_DoubleRules* msg, size_t len, upb_Arena* arena) {
914
+ return (double*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(4, 8), len, 3, arena);
672
915
  }
673
- UPB_INLINE bool validate_DoubleRules_add_in(validate_DoubleRules *msg, double val, upb_Arena *arena) {
674
- return _upb_Array_Append_accessor2(msg, UPB_SIZE(52, 56), 3, &val,
675
- arena);
916
+ UPB_INLINE bool validate_DoubleRules_add_in(validate_DoubleRules* msg, double val, upb_Arena* arena) {
917
+ return _upb_Array_Append_accessor2(msg, UPB_SIZE(4, 8), 3, &val, arena);
676
918
  }
677
- UPB_INLINE double* validate_DoubleRules_mutable_not_in(validate_DoubleRules *msg, size_t *len) {
678
- return (double*)_upb_array_mutable_accessor(msg, UPB_SIZE(56, 64), len);
919
+ UPB_INLINE double* validate_DoubleRules_mutable_not_in(validate_DoubleRules* msg, size_t* len) {
920
+ return (double*)_upb_array_mutable_accessor(msg, UPB_SIZE(8, 16), len);
679
921
  }
680
- UPB_INLINE double* validate_DoubleRules_resize_not_in(validate_DoubleRules *msg, size_t len, upb_Arena *arena) {
681
- return (double*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(56, 64), len, 3, arena);
922
+ UPB_INLINE double* validate_DoubleRules_resize_not_in(validate_DoubleRules* msg, size_t len, upb_Arena* arena) {
923
+ return (double*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(8, 16), len, 3, arena);
682
924
  }
683
- UPB_INLINE bool validate_DoubleRules_add_not_in(validate_DoubleRules *msg, double val, upb_Arena *arena) {
684
- return _upb_Array_Append_accessor2(msg, UPB_SIZE(56, 64), 3, &val,
685
- arena);
925
+ UPB_INLINE bool validate_DoubleRules_add_not_in(validate_DoubleRules* msg, double val, upb_Arena* arena) {
926
+ return _upb_Array_Append_accessor2(msg, UPB_SIZE(8, 16), 3, &val, arena);
686
927
  }
687
928
  UPB_INLINE void validate_DoubleRules_set_ignore_empty(validate_DoubleRules *msg, bool value) {
688
929
  _upb_sethas(msg, 6);
689
- *UPB_PTR_AT(msg, UPB_SIZE(48, 48), bool) = value;
930
+ *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool) = value;
690
931
  }
691
932
 
692
933
  /* validate.Int32Rules */
@@ -720,29 +961,75 @@ UPB_INLINE char* validate_Int32Rules_serialize_ex(const validate_Int32Rules* msg
720
961
  upb_Arena* arena, size_t* len) {
721
962
  return upb_Encode(msg, &validate_Int32Rules_msginit, options, arena, len);
722
963
  }
723
- UPB_INLINE bool validate_Int32Rules_has_const(const validate_Int32Rules *msg) { return _upb_hasbit(msg, 1); }
964
+ UPB_INLINE bool validate_Int32Rules_has_const(const validate_Int32Rules* msg) {
965
+ return _upb_hasbit(msg, 1);
966
+ }
967
+ UPB_INLINE void validate_Int32Rules_clear_const(const validate_Int32Rules* msg) {
968
+ *UPB_PTR_AT(msg, UPB_SIZE(4, 4), int32_t) = 0;
969
+ _upb_clearhas(msg, 1);
970
+ }
724
971
  UPB_INLINE int32_t validate_Int32Rules_const(const validate_Int32Rules* msg) {
725
972
  return *UPB_PTR_AT(msg, UPB_SIZE(4, 4), int32_t);
726
973
  }
727
- UPB_INLINE bool validate_Int32Rules_has_lt(const validate_Int32Rules *msg) { return _upb_hasbit(msg, 2); }
974
+ UPB_INLINE bool validate_Int32Rules_has_lt(const validate_Int32Rules* msg) {
975
+ return _upb_hasbit(msg, 2);
976
+ }
977
+ UPB_INLINE void validate_Int32Rules_clear_lt(const validate_Int32Rules* msg) {
978
+ *UPB_PTR_AT(msg, UPB_SIZE(8, 8), int32_t) = 0;
979
+ _upb_clearhas(msg, 2);
980
+ }
728
981
  UPB_INLINE int32_t validate_Int32Rules_lt(const validate_Int32Rules* msg) {
729
982
  return *UPB_PTR_AT(msg, UPB_SIZE(8, 8), int32_t);
730
983
  }
731
- UPB_INLINE bool validate_Int32Rules_has_lte(const validate_Int32Rules *msg) { return _upb_hasbit(msg, 3); }
984
+ UPB_INLINE bool validate_Int32Rules_has_lte(const validate_Int32Rules* msg) {
985
+ return _upb_hasbit(msg, 3);
986
+ }
987
+ UPB_INLINE void validate_Int32Rules_clear_lte(const validate_Int32Rules* msg) {
988
+ *UPB_PTR_AT(msg, UPB_SIZE(12, 12), int32_t) = 0;
989
+ _upb_clearhas(msg, 3);
990
+ }
732
991
  UPB_INLINE int32_t validate_Int32Rules_lte(const validate_Int32Rules* msg) {
733
992
  return *UPB_PTR_AT(msg, UPB_SIZE(12, 12), int32_t);
734
993
  }
735
- UPB_INLINE bool validate_Int32Rules_has_gt(const validate_Int32Rules *msg) { return _upb_hasbit(msg, 4); }
994
+ UPB_INLINE bool validate_Int32Rules_has_gt(const validate_Int32Rules* msg) {
995
+ return _upb_hasbit(msg, 4);
996
+ }
997
+ UPB_INLINE void validate_Int32Rules_clear_gt(const validate_Int32Rules* msg) {
998
+ *UPB_PTR_AT(msg, UPB_SIZE(16, 16), int32_t) = 0;
999
+ _upb_clearhas(msg, 4);
1000
+ }
736
1001
  UPB_INLINE int32_t validate_Int32Rules_gt(const validate_Int32Rules* msg) {
737
1002
  return *UPB_PTR_AT(msg, UPB_SIZE(16, 16), int32_t);
738
1003
  }
739
- UPB_INLINE bool validate_Int32Rules_has_gte(const validate_Int32Rules *msg) { return _upb_hasbit(msg, 5); }
1004
+ UPB_INLINE bool validate_Int32Rules_has_gte(const validate_Int32Rules* msg) {
1005
+ return _upb_hasbit(msg, 5);
1006
+ }
1007
+ UPB_INLINE void validate_Int32Rules_clear_gte(const validate_Int32Rules* msg) {
1008
+ *UPB_PTR_AT(msg, UPB_SIZE(20, 20), int32_t) = 0;
1009
+ _upb_clearhas(msg, 5);
1010
+ }
740
1011
  UPB_INLINE int32_t validate_Int32Rules_gte(const validate_Int32Rules* msg) {
741
1012
  return *UPB_PTR_AT(msg, UPB_SIZE(20, 20), int32_t);
742
1013
  }
743
- UPB_INLINE int32_t const* validate_Int32Rules_in(const validate_Int32Rules *msg, size_t *len) { return (int32_t const*)_upb_array_accessor(msg, UPB_SIZE(28, 32), len); }
744
- UPB_INLINE int32_t const* validate_Int32Rules_not_in(const validate_Int32Rules *msg, size_t *len) { return (int32_t const*)_upb_array_accessor(msg, UPB_SIZE(32, 40), len); }
745
- UPB_INLINE bool validate_Int32Rules_has_ignore_empty(const validate_Int32Rules *msg) { return _upb_hasbit(msg, 6); }
1014
+ UPB_INLINE void validate_Int32Rules_clear_in(const validate_Int32Rules* msg) {
1015
+ _upb_array_detach(msg, UPB_SIZE(28, 32));
1016
+ }
1017
+ UPB_INLINE int32_t const* validate_Int32Rules_in(const validate_Int32Rules* msg, size_t* len) {
1018
+ return (int32_t const*)_upb_array_accessor(msg, UPB_SIZE(28, 32), len);
1019
+ }
1020
+ UPB_INLINE void validate_Int32Rules_clear_not_in(const validate_Int32Rules* msg) {
1021
+ _upb_array_detach(msg, UPB_SIZE(32, 40));
1022
+ }
1023
+ UPB_INLINE int32_t const* validate_Int32Rules_not_in(const validate_Int32Rules* msg, size_t* len) {
1024
+ return (int32_t const*)_upb_array_accessor(msg, UPB_SIZE(32, 40), len);
1025
+ }
1026
+ UPB_INLINE bool validate_Int32Rules_has_ignore_empty(const validate_Int32Rules* msg) {
1027
+ return _upb_hasbit(msg, 6);
1028
+ }
1029
+ UPB_INLINE void validate_Int32Rules_clear_ignore_empty(const validate_Int32Rules* msg) {
1030
+ *UPB_PTR_AT(msg, UPB_SIZE(24, 24), bool) = 0;
1031
+ _upb_clearhas(msg, 6);
1032
+ }
746
1033
  UPB_INLINE bool validate_Int32Rules_ignore_empty(const validate_Int32Rules* msg) {
747
1034
  return *UPB_PTR_AT(msg, UPB_SIZE(24, 24), bool);
748
1035
  }
@@ -767,25 +1054,23 @@ UPB_INLINE void validate_Int32Rules_set_gte(validate_Int32Rules *msg, int32_t va
767
1054
  _upb_sethas(msg, 5);
768
1055
  *UPB_PTR_AT(msg, UPB_SIZE(20, 20), int32_t) = value;
769
1056
  }
770
- UPB_INLINE int32_t* validate_Int32Rules_mutable_in(validate_Int32Rules *msg, size_t *len) {
1057
+ UPB_INLINE int32_t* validate_Int32Rules_mutable_in(validate_Int32Rules* msg, size_t* len) {
771
1058
  return (int32_t*)_upb_array_mutable_accessor(msg, UPB_SIZE(28, 32), len);
772
1059
  }
773
- UPB_INLINE int32_t* validate_Int32Rules_resize_in(validate_Int32Rules *msg, size_t len, upb_Arena *arena) {
1060
+ UPB_INLINE int32_t* validate_Int32Rules_resize_in(validate_Int32Rules* msg, size_t len, upb_Arena* arena) {
774
1061
  return (int32_t*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(28, 32), len, 2, arena);
775
1062
  }
776
- UPB_INLINE bool validate_Int32Rules_add_in(validate_Int32Rules *msg, int32_t val, upb_Arena *arena) {
777
- return _upb_Array_Append_accessor2(msg, UPB_SIZE(28, 32), 2, &val,
778
- arena);
1063
+ UPB_INLINE bool validate_Int32Rules_add_in(validate_Int32Rules* msg, int32_t val, upb_Arena* arena) {
1064
+ return _upb_Array_Append_accessor2(msg, UPB_SIZE(28, 32), 2, &val, arena);
779
1065
  }
780
- UPB_INLINE int32_t* validate_Int32Rules_mutable_not_in(validate_Int32Rules *msg, size_t *len) {
1066
+ UPB_INLINE int32_t* validate_Int32Rules_mutable_not_in(validate_Int32Rules* msg, size_t* len) {
781
1067
  return (int32_t*)_upb_array_mutable_accessor(msg, UPB_SIZE(32, 40), len);
782
1068
  }
783
- UPB_INLINE int32_t* validate_Int32Rules_resize_not_in(validate_Int32Rules *msg, size_t len, upb_Arena *arena) {
1069
+ UPB_INLINE int32_t* validate_Int32Rules_resize_not_in(validate_Int32Rules* msg, size_t len, upb_Arena* arena) {
784
1070
  return (int32_t*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(32, 40), len, 2, arena);
785
1071
  }
786
- UPB_INLINE bool validate_Int32Rules_add_not_in(validate_Int32Rules *msg, int32_t val, upb_Arena *arena) {
787
- return _upb_Array_Append_accessor2(msg, UPB_SIZE(32, 40), 2, &val,
788
- arena);
1072
+ UPB_INLINE bool validate_Int32Rules_add_not_in(validate_Int32Rules* msg, int32_t val, upb_Arena* arena) {
1073
+ return _upb_Array_Append_accessor2(msg, UPB_SIZE(32, 40), 2, &val, arena);
789
1074
  }
790
1075
  UPB_INLINE void validate_Int32Rules_set_ignore_empty(validate_Int32Rules *msg, bool value) {
791
1076
  _upb_sethas(msg, 6);
@@ -823,76 +1108,120 @@ UPB_INLINE char* validate_Int64Rules_serialize_ex(const validate_Int64Rules* msg
823
1108
  upb_Arena* arena, size_t* len) {
824
1109
  return upb_Encode(msg, &validate_Int64Rules_msginit, options, arena, len);
825
1110
  }
826
- UPB_INLINE bool validate_Int64Rules_has_const(const validate_Int64Rules *msg) { return _upb_hasbit(msg, 1); }
1111
+ UPB_INLINE bool validate_Int64Rules_has_const(const validate_Int64Rules* msg) {
1112
+ return _upb_hasbit(msg, 1);
1113
+ }
1114
+ UPB_INLINE void validate_Int64Rules_clear_const(const validate_Int64Rules* msg) {
1115
+ *UPB_PTR_AT(msg, UPB_SIZE(16, 24), int64_t) = 0;
1116
+ _upb_clearhas(msg, 1);
1117
+ }
827
1118
  UPB_INLINE int64_t validate_Int64Rules_const(const validate_Int64Rules* msg) {
828
- return *UPB_PTR_AT(msg, UPB_SIZE(8, 8), int64_t);
1119
+ return *UPB_PTR_AT(msg, UPB_SIZE(16, 24), int64_t);
1120
+ }
1121
+ UPB_INLINE bool validate_Int64Rules_has_lt(const validate_Int64Rules* msg) {
1122
+ return _upb_hasbit(msg, 2);
1123
+ }
1124
+ UPB_INLINE void validate_Int64Rules_clear_lt(const validate_Int64Rules* msg) {
1125
+ *UPB_PTR_AT(msg, UPB_SIZE(24, 32), int64_t) = 0;
1126
+ _upb_clearhas(msg, 2);
829
1127
  }
830
- UPB_INLINE bool validate_Int64Rules_has_lt(const validate_Int64Rules *msg) { return _upb_hasbit(msg, 2); }
831
1128
  UPB_INLINE int64_t validate_Int64Rules_lt(const validate_Int64Rules* msg) {
832
- return *UPB_PTR_AT(msg, UPB_SIZE(16, 16), int64_t);
1129
+ return *UPB_PTR_AT(msg, UPB_SIZE(24, 32), int64_t);
1130
+ }
1131
+ UPB_INLINE bool validate_Int64Rules_has_lte(const validate_Int64Rules* msg) {
1132
+ return _upb_hasbit(msg, 3);
1133
+ }
1134
+ UPB_INLINE void validate_Int64Rules_clear_lte(const validate_Int64Rules* msg) {
1135
+ *UPB_PTR_AT(msg, UPB_SIZE(32, 40), int64_t) = 0;
1136
+ _upb_clearhas(msg, 3);
833
1137
  }
834
- UPB_INLINE bool validate_Int64Rules_has_lte(const validate_Int64Rules *msg) { return _upb_hasbit(msg, 3); }
835
1138
  UPB_INLINE int64_t validate_Int64Rules_lte(const validate_Int64Rules* msg) {
836
- return *UPB_PTR_AT(msg, UPB_SIZE(24, 24), int64_t);
1139
+ return *UPB_PTR_AT(msg, UPB_SIZE(32, 40), int64_t);
1140
+ }
1141
+ UPB_INLINE bool validate_Int64Rules_has_gt(const validate_Int64Rules* msg) {
1142
+ return _upb_hasbit(msg, 4);
1143
+ }
1144
+ UPB_INLINE void validate_Int64Rules_clear_gt(const validate_Int64Rules* msg) {
1145
+ *UPB_PTR_AT(msg, UPB_SIZE(40, 48), int64_t) = 0;
1146
+ _upb_clearhas(msg, 4);
837
1147
  }
838
- UPB_INLINE bool validate_Int64Rules_has_gt(const validate_Int64Rules *msg) { return _upb_hasbit(msg, 4); }
839
1148
  UPB_INLINE int64_t validate_Int64Rules_gt(const validate_Int64Rules* msg) {
840
- return *UPB_PTR_AT(msg, UPB_SIZE(32, 32), int64_t);
1149
+ return *UPB_PTR_AT(msg, UPB_SIZE(40, 48), int64_t);
1150
+ }
1151
+ UPB_INLINE bool validate_Int64Rules_has_gte(const validate_Int64Rules* msg) {
1152
+ return _upb_hasbit(msg, 5);
1153
+ }
1154
+ UPB_INLINE void validate_Int64Rules_clear_gte(const validate_Int64Rules* msg) {
1155
+ *UPB_PTR_AT(msg, UPB_SIZE(48, 56), int64_t) = 0;
1156
+ _upb_clearhas(msg, 5);
841
1157
  }
842
- UPB_INLINE bool validate_Int64Rules_has_gte(const validate_Int64Rules *msg) { return _upb_hasbit(msg, 5); }
843
1158
  UPB_INLINE int64_t validate_Int64Rules_gte(const validate_Int64Rules* msg) {
844
- return *UPB_PTR_AT(msg, UPB_SIZE(40, 40), int64_t);
1159
+ return *UPB_PTR_AT(msg, UPB_SIZE(48, 56), int64_t);
1160
+ }
1161
+ UPB_INLINE void validate_Int64Rules_clear_in(const validate_Int64Rules* msg) {
1162
+ _upb_array_detach(msg, UPB_SIZE(4, 8));
1163
+ }
1164
+ UPB_INLINE int64_t const* validate_Int64Rules_in(const validate_Int64Rules* msg, size_t* len) {
1165
+ return (int64_t const*)_upb_array_accessor(msg, UPB_SIZE(4, 8), len);
1166
+ }
1167
+ UPB_INLINE void validate_Int64Rules_clear_not_in(const validate_Int64Rules* msg) {
1168
+ _upb_array_detach(msg, UPB_SIZE(8, 16));
1169
+ }
1170
+ UPB_INLINE int64_t const* validate_Int64Rules_not_in(const validate_Int64Rules* msg, size_t* len) {
1171
+ return (int64_t const*)_upb_array_accessor(msg, UPB_SIZE(8, 16), len);
1172
+ }
1173
+ UPB_INLINE bool validate_Int64Rules_has_ignore_empty(const validate_Int64Rules* msg) {
1174
+ return _upb_hasbit(msg, 6);
1175
+ }
1176
+ UPB_INLINE void validate_Int64Rules_clear_ignore_empty(const validate_Int64Rules* msg) {
1177
+ *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool) = 0;
1178
+ _upb_clearhas(msg, 6);
845
1179
  }
846
- UPB_INLINE int64_t const* validate_Int64Rules_in(const validate_Int64Rules *msg, size_t *len) { return (int64_t const*)_upb_array_accessor(msg, UPB_SIZE(52, 56), len); }
847
- UPB_INLINE int64_t const* validate_Int64Rules_not_in(const validate_Int64Rules *msg, size_t *len) { return (int64_t const*)_upb_array_accessor(msg, UPB_SIZE(56, 64), len); }
848
- UPB_INLINE bool validate_Int64Rules_has_ignore_empty(const validate_Int64Rules *msg) { return _upb_hasbit(msg, 6); }
849
1180
  UPB_INLINE bool validate_Int64Rules_ignore_empty(const validate_Int64Rules* msg) {
850
- return *UPB_PTR_AT(msg, UPB_SIZE(48, 48), bool);
1181
+ return *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool);
851
1182
  }
852
1183
 
853
1184
  UPB_INLINE void validate_Int64Rules_set_const(validate_Int64Rules *msg, int64_t value) {
854
1185
  _upb_sethas(msg, 1);
855
- *UPB_PTR_AT(msg, UPB_SIZE(8, 8), int64_t) = value;
1186
+ *UPB_PTR_AT(msg, UPB_SIZE(16, 24), int64_t) = value;
856
1187
  }
857
1188
  UPB_INLINE void validate_Int64Rules_set_lt(validate_Int64Rules *msg, int64_t value) {
858
1189
  _upb_sethas(msg, 2);
859
- *UPB_PTR_AT(msg, UPB_SIZE(16, 16), int64_t) = value;
1190
+ *UPB_PTR_AT(msg, UPB_SIZE(24, 32), int64_t) = value;
860
1191
  }
861
1192
  UPB_INLINE void validate_Int64Rules_set_lte(validate_Int64Rules *msg, int64_t value) {
862
1193
  _upb_sethas(msg, 3);
863
- *UPB_PTR_AT(msg, UPB_SIZE(24, 24), int64_t) = value;
1194
+ *UPB_PTR_AT(msg, UPB_SIZE(32, 40), int64_t) = value;
864
1195
  }
865
1196
  UPB_INLINE void validate_Int64Rules_set_gt(validate_Int64Rules *msg, int64_t value) {
866
1197
  _upb_sethas(msg, 4);
867
- *UPB_PTR_AT(msg, UPB_SIZE(32, 32), int64_t) = value;
1198
+ *UPB_PTR_AT(msg, UPB_SIZE(40, 48), int64_t) = value;
868
1199
  }
869
1200
  UPB_INLINE void validate_Int64Rules_set_gte(validate_Int64Rules *msg, int64_t value) {
870
1201
  _upb_sethas(msg, 5);
871
- *UPB_PTR_AT(msg, UPB_SIZE(40, 40), int64_t) = value;
1202
+ *UPB_PTR_AT(msg, UPB_SIZE(48, 56), int64_t) = value;
872
1203
  }
873
- UPB_INLINE int64_t* validate_Int64Rules_mutable_in(validate_Int64Rules *msg, size_t *len) {
874
- return (int64_t*)_upb_array_mutable_accessor(msg, UPB_SIZE(52, 56), len);
1204
+ UPB_INLINE int64_t* validate_Int64Rules_mutable_in(validate_Int64Rules* msg, size_t* len) {
1205
+ return (int64_t*)_upb_array_mutable_accessor(msg, UPB_SIZE(4, 8), len);
875
1206
  }
876
- UPB_INLINE int64_t* validate_Int64Rules_resize_in(validate_Int64Rules *msg, size_t len, upb_Arena *arena) {
877
- return (int64_t*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(52, 56), len, 3, arena);
1207
+ UPB_INLINE int64_t* validate_Int64Rules_resize_in(validate_Int64Rules* msg, size_t len, upb_Arena* arena) {
1208
+ return (int64_t*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(4, 8), len, 3, arena);
878
1209
  }
879
- UPB_INLINE bool validate_Int64Rules_add_in(validate_Int64Rules *msg, int64_t val, upb_Arena *arena) {
880
- return _upb_Array_Append_accessor2(msg, UPB_SIZE(52, 56), 3, &val,
881
- arena);
1210
+ UPB_INLINE bool validate_Int64Rules_add_in(validate_Int64Rules* msg, int64_t val, upb_Arena* arena) {
1211
+ return _upb_Array_Append_accessor2(msg, UPB_SIZE(4, 8), 3, &val, arena);
882
1212
  }
883
- UPB_INLINE int64_t* validate_Int64Rules_mutable_not_in(validate_Int64Rules *msg, size_t *len) {
884
- return (int64_t*)_upb_array_mutable_accessor(msg, UPB_SIZE(56, 64), len);
1213
+ UPB_INLINE int64_t* validate_Int64Rules_mutable_not_in(validate_Int64Rules* msg, size_t* len) {
1214
+ return (int64_t*)_upb_array_mutable_accessor(msg, UPB_SIZE(8, 16), len);
885
1215
  }
886
- UPB_INLINE int64_t* validate_Int64Rules_resize_not_in(validate_Int64Rules *msg, size_t len, upb_Arena *arena) {
887
- return (int64_t*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(56, 64), len, 3, arena);
1216
+ UPB_INLINE int64_t* validate_Int64Rules_resize_not_in(validate_Int64Rules* msg, size_t len, upb_Arena* arena) {
1217
+ return (int64_t*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(8, 16), len, 3, arena);
888
1218
  }
889
- UPB_INLINE bool validate_Int64Rules_add_not_in(validate_Int64Rules *msg, int64_t val, upb_Arena *arena) {
890
- return _upb_Array_Append_accessor2(msg, UPB_SIZE(56, 64), 3, &val,
891
- arena);
1219
+ UPB_INLINE bool validate_Int64Rules_add_not_in(validate_Int64Rules* msg, int64_t val, upb_Arena* arena) {
1220
+ return _upb_Array_Append_accessor2(msg, UPB_SIZE(8, 16), 3, &val, arena);
892
1221
  }
893
1222
  UPB_INLINE void validate_Int64Rules_set_ignore_empty(validate_Int64Rules *msg, bool value) {
894
1223
  _upb_sethas(msg, 6);
895
- *UPB_PTR_AT(msg, UPB_SIZE(48, 48), bool) = value;
1224
+ *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool) = value;
896
1225
  }
897
1226
 
898
1227
  /* validate.UInt32Rules */
@@ -926,29 +1255,75 @@ UPB_INLINE char* validate_UInt32Rules_serialize_ex(const validate_UInt32Rules* m
926
1255
  upb_Arena* arena, size_t* len) {
927
1256
  return upb_Encode(msg, &validate_UInt32Rules_msginit, options, arena, len);
928
1257
  }
929
- UPB_INLINE bool validate_UInt32Rules_has_const(const validate_UInt32Rules *msg) { return _upb_hasbit(msg, 1); }
1258
+ UPB_INLINE bool validate_UInt32Rules_has_const(const validate_UInt32Rules* msg) {
1259
+ return _upb_hasbit(msg, 1);
1260
+ }
1261
+ UPB_INLINE void validate_UInt32Rules_clear_const(const validate_UInt32Rules* msg) {
1262
+ *UPB_PTR_AT(msg, UPB_SIZE(4, 4), uint32_t) = 0;
1263
+ _upb_clearhas(msg, 1);
1264
+ }
930
1265
  UPB_INLINE uint32_t validate_UInt32Rules_const(const validate_UInt32Rules* msg) {
931
1266
  return *UPB_PTR_AT(msg, UPB_SIZE(4, 4), uint32_t);
932
1267
  }
933
- UPB_INLINE bool validate_UInt32Rules_has_lt(const validate_UInt32Rules *msg) { return _upb_hasbit(msg, 2); }
1268
+ UPB_INLINE bool validate_UInt32Rules_has_lt(const validate_UInt32Rules* msg) {
1269
+ return _upb_hasbit(msg, 2);
1270
+ }
1271
+ UPB_INLINE void validate_UInt32Rules_clear_lt(const validate_UInt32Rules* msg) {
1272
+ *UPB_PTR_AT(msg, UPB_SIZE(8, 8), uint32_t) = 0;
1273
+ _upb_clearhas(msg, 2);
1274
+ }
934
1275
  UPB_INLINE uint32_t validate_UInt32Rules_lt(const validate_UInt32Rules* msg) {
935
1276
  return *UPB_PTR_AT(msg, UPB_SIZE(8, 8), uint32_t);
936
1277
  }
937
- UPB_INLINE bool validate_UInt32Rules_has_lte(const validate_UInt32Rules *msg) { return _upb_hasbit(msg, 3); }
1278
+ UPB_INLINE bool validate_UInt32Rules_has_lte(const validate_UInt32Rules* msg) {
1279
+ return _upb_hasbit(msg, 3);
1280
+ }
1281
+ UPB_INLINE void validate_UInt32Rules_clear_lte(const validate_UInt32Rules* msg) {
1282
+ *UPB_PTR_AT(msg, UPB_SIZE(12, 12), uint32_t) = 0;
1283
+ _upb_clearhas(msg, 3);
1284
+ }
938
1285
  UPB_INLINE uint32_t validate_UInt32Rules_lte(const validate_UInt32Rules* msg) {
939
1286
  return *UPB_PTR_AT(msg, UPB_SIZE(12, 12), uint32_t);
940
1287
  }
941
- UPB_INLINE bool validate_UInt32Rules_has_gt(const validate_UInt32Rules *msg) { return _upb_hasbit(msg, 4); }
1288
+ UPB_INLINE bool validate_UInt32Rules_has_gt(const validate_UInt32Rules* msg) {
1289
+ return _upb_hasbit(msg, 4);
1290
+ }
1291
+ UPB_INLINE void validate_UInt32Rules_clear_gt(const validate_UInt32Rules* msg) {
1292
+ *UPB_PTR_AT(msg, UPB_SIZE(16, 16), uint32_t) = 0;
1293
+ _upb_clearhas(msg, 4);
1294
+ }
942
1295
  UPB_INLINE uint32_t validate_UInt32Rules_gt(const validate_UInt32Rules* msg) {
943
1296
  return *UPB_PTR_AT(msg, UPB_SIZE(16, 16), uint32_t);
944
1297
  }
945
- UPB_INLINE bool validate_UInt32Rules_has_gte(const validate_UInt32Rules *msg) { return _upb_hasbit(msg, 5); }
1298
+ UPB_INLINE bool validate_UInt32Rules_has_gte(const validate_UInt32Rules* msg) {
1299
+ return _upb_hasbit(msg, 5);
1300
+ }
1301
+ UPB_INLINE void validate_UInt32Rules_clear_gte(const validate_UInt32Rules* msg) {
1302
+ *UPB_PTR_AT(msg, UPB_SIZE(20, 20), uint32_t) = 0;
1303
+ _upb_clearhas(msg, 5);
1304
+ }
946
1305
  UPB_INLINE uint32_t validate_UInt32Rules_gte(const validate_UInt32Rules* msg) {
947
1306
  return *UPB_PTR_AT(msg, UPB_SIZE(20, 20), uint32_t);
948
1307
  }
949
- UPB_INLINE uint32_t const* validate_UInt32Rules_in(const validate_UInt32Rules *msg, size_t *len) { return (uint32_t const*)_upb_array_accessor(msg, UPB_SIZE(28, 32), len); }
950
- UPB_INLINE uint32_t const* validate_UInt32Rules_not_in(const validate_UInt32Rules *msg, size_t *len) { return (uint32_t const*)_upb_array_accessor(msg, UPB_SIZE(32, 40), len); }
951
- UPB_INLINE bool validate_UInt32Rules_has_ignore_empty(const validate_UInt32Rules *msg) { return _upb_hasbit(msg, 6); }
1308
+ UPB_INLINE void validate_UInt32Rules_clear_in(const validate_UInt32Rules* msg) {
1309
+ _upb_array_detach(msg, UPB_SIZE(28, 32));
1310
+ }
1311
+ UPB_INLINE uint32_t const* validate_UInt32Rules_in(const validate_UInt32Rules* msg, size_t* len) {
1312
+ return (uint32_t const*)_upb_array_accessor(msg, UPB_SIZE(28, 32), len);
1313
+ }
1314
+ UPB_INLINE void validate_UInt32Rules_clear_not_in(const validate_UInt32Rules* msg) {
1315
+ _upb_array_detach(msg, UPB_SIZE(32, 40));
1316
+ }
1317
+ UPB_INLINE uint32_t const* validate_UInt32Rules_not_in(const validate_UInt32Rules* msg, size_t* len) {
1318
+ return (uint32_t const*)_upb_array_accessor(msg, UPB_SIZE(32, 40), len);
1319
+ }
1320
+ UPB_INLINE bool validate_UInt32Rules_has_ignore_empty(const validate_UInt32Rules* msg) {
1321
+ return _upb_hasbit(msg, 6);
1322
+ }
1323
+ UPB_INLINE void validate_UInt32Rules_clear_ignore_empty(const validate_UInt32Rules* msg) {
1324
+ *UPB_PTR_AT(msg, UPB_SIZE(24, 24), bool) = 0;
1325
+ _upb_clearhas(msg, 6);
1326
+ }
952
1327
  UPB_INLINE bool validate_UInt32Rules_ignore_empty(const validate_UInt32Rules* msg) {
953
1328
  return *UPB_PTR_AT(msg, UPB_SIZE(24, 24), bool);
954
1329
  }
@@ -973,25 +1348,23 @@ UPB_INLINE void validate_UInt32Rules_set_gte(validate_UInt32Rules *msg, uint32_t
973
1348
  _upb_sethas(msg, 5);
974
1349
  *UPB_PTR_AT(msg, UPB_SIZE(20, 20), uint32_t) = value;
975
1350
  }
976
- UPB_INLINE uint32_t* validate_UInt32Rules_mutable_in(validate_UInt32Rules *msg, size_t *len) {
1351
+ UPB_INLINE uint32_t* validate_UInt32Rules_mutable_in(validate_UInt32Rules* msg, size_t* len) {
977
1352
  return (uint32_t*)_upb_array_mutable_accessor(msg, UPB_SIZE(28, 32), len);
978
1353
  }
979
- UPB_INLINE uint32_t* validate_UInt32Rules_resize_in(validate_UInt32Rules *msg, size_t len, upb_Arena *arena) {
1354
+ UPB_INLINE uint32_t* validate_UInt32Rules_resize_in(validate_UInt32Rules* msg, size_t len, upb_Arena* arena) {
980
1355
  return (uint32_t*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(28, 32), len, 2, arena);
981
1356
  }
982
- UPB_INLINE bool validate_UInt32Rules_add_in(validate_UInt32Rules *msg, uint32_t val, upb_Arena *arena) {
983
- return _upb_Array_Append_accessor2(msg, UPB_SIZE(28, 32), 2, &val,
984
- arena);
1357
+ UPB_INLINE bool validate_UInt32Rules_add_in(validate_UInt32Rules* msg, uint32_t val, upb_Arena* arena) {
1358
+ return _upb_Array_Append_accessor2(msg, UPB_SIZE(28, 32), 2, &val, arena);
985
1359
  }
986
- UPB_INLINE uint32_t* validate_UInt32Rules_mutable_not_in(validate_UInt32Rules *msg, size_t *len) {
1360
+ UPB_INLINE uint32_t* validate_UInt32Rules_mutable_not_in(validate_UInt32Rules* msg, size_t* len) {
987
1361
  return (uint32_t*)_upb_array_mutable_accessor(msg, UPB_SIZE(32, 40), len);
988
1362
  }
989
- UPB_INLINE uint32_t* validate_UInt32Rules_resize_not_in(validate_UInt32Rules *msg, size_t len, upb_Arena *arena) {
1363
+ UPB_INLINE uint32_t* validate_UInt32Rules_resize_not_in(validate_UInt32Rules* msg, size_t len, upb_Arena* arena) {
990
1364
  return (uint32_t*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(32, 40), len, 2, arena);
991
1365
  }
992
- UPB_INLINE bool validate_UInt32Rules_add_not_in(validate_UInt32Rules *msg, uint32_t val, upb_Arena *arena) {
993
- return _upb_Array_Append_accessor2(msg, UPB_SIZE(32, 40), 2, &val,
994
- arena);
1366
+ UPB_INLINE bool validate_UInt32Rules_add_not_in(validate_UInt32Rules* msg, uint32_t val, upb_Arena* arena) {
1367
+ return _upb_Array_Append_accessor2(msg, UPB_SIZE(32, 40), 2, &val, arena);
995
1368
  }
996
1369
  UPB_INLINE void validate_UInt32Rules_set_ignore_empty(validate_UInt32Rules *msg, bool value) {
997
1370
  _upb_sethas(msg, 6);
@@ -1029,76 +1402,120 @@ UPB_INLINE char* validate_UInt64Rules_serialize_ex(const validate_UInt64Rules* m
1029
1402
  upb_Arena* arena, size_t* len) {
1030
1403
  return upb_Encode(msg, &validate_UInt64Rules_msginit, options, arena, len);
1031
1404
  }
1032
- UPB_INLINE bool validate_UInt64Rules_has_const(const validate_UInt64Rules *msg) { return _upb_hasbit(msg, 1); }
1405
+ UPB_INLINE bool validate_UInt64Rules_has_const(const validate_UInt64Rules* msg) {
1406
+ return _upb_hasbit(msg, 1);
1407
+ }
1408
+ UPB_INLINE void validate_UInt64Rules_clear_const(const validate_UInt64Rules* msg) {
1409
+ *UPB_PTR_AT(msg, UPB_SIZE(16, 24), uint64_t) = 0;
1410
+ _upb_clearhas(msg, 1);
1411
+ }
1033
1412
  UPB_INLINE uint64_t validate_UInt64Rules_const(const validate_UInt64Rules* msg) {
1034
- return *UPB_PTR_AT(msg, UPB_SIZE(8, 8), uint64_t);
1413
+ return *UPB_PTR_AT(msg, UPB_SIZE(16, 24), uint64_t);
1414
+ }
1415
+ UPB_INLINE bool validate_UInt64Rules_has_lt(const validate_UInt64Rules* msg) {
1416
+ return _upb_hasbit(msg, 2);
1417
+ }
1418
+ UPB_INLINE void validate_UInt64Rules_clear_lt(const validate_UInt64Rules* msg) {
1419
+ *UPB_PTR_AT(msg, UPB_SIZE(24, 32), uint64_t) = 0;
1420
+ _upb_clearhas(msg, 2);
1035
1421
  }
1036
- UPB_INLINE bool validate_UInt64Rules_has_lt(const validate_UInt64Rules *msg) { return _upb_hasbit(msg, 2); }
1037
1422
  UPB_INLINE uint64_t validate_UInt64Rules_lt(const validate_UInt64Rules* msg) {
1038
- return *UPB_PTR_AT(msg, UPB_SIZE(16, 16), uint64_t);
1423
+ return *UPB_PTR_AT(msg, UPB_SIZE(24, 32), uint64_t);
1424
+ }
1425
+ UPB_INLINE bool validate_UInt64Rules_has_lte(const validate_UInt64Rules* msg) {
1426
+ return _upb_hasbit(msg, 3);
1427
+ }
1428
+ UPB_INLINE void validate_UInt64Rules_clear_lte(const validate_UInt64Rules* msg) {
1429
+ *UPB_PTR_AT(msg, UPB_SIZE(32, 40), uint64_t) = 0;
1430
+ _upb_clearhas(msg, 3);
1039
1431
  }
1040
- UPB_INLINE bool validate_UInt64Rules_has_lte(const validate_UInt64Rules *msg) { return _upb_hasbit(msg, 3); }
1041
1432
  UPB_INLINE uint64_t validate_UInt64Rules_lte(const validate_UInt64Rules* msg) {
1042
- return *UPB_PTR_AT(msg, UPB_SIZE(24, 24), uint64_t);
1433
+ return *UPB_PTR_AT(msg, UPB_SIZE(32, 40), uint64_t);
1434
+ }
1435
+ UPB_INLINE bool validate_UInt64Rules_has_gt(const validate_UInt64Rules* msg) {
1436
+ return _upb_hasbit(msg, 4);
1437
+ }
1438
+ UPB_INLINE void validate_UInt64Rules_clear_gt(const validate_UInt64Rules* msg) {
1439
+ *UPB_PTR_AT(msg, UPB_SIZE(40, 48), uint64_t) = 0;
1440
+ _upb_clearhas(msg, 4);
1043
1441
  }
1044
- UPB_INLINE bool validate_UInt64Rules_has_gt(const validate_UInt64Rules *msg) { return _upb_hasbit(msg, 4); }
1045
1442
  UPB_INLINE uint64_t validate_UInt64Rules_gt(const validate_UInt64Rules* msg) {
1046
- return *UPB_PTR_AT(msg, UPB_SIZE(32, 32), uint64_t);
1443
+ return *UPB_PTR_AT(msg, UPB_SIZE(40, 48), uint64_t);
1444
+ }
1445
+ UPB_INLINE bool validate_UInt64Rules_has_gte(const validate_UInt64Rules* msg) {
1446
+ return _upb_hasbit(msg, 5);
1447
+ }
1448
+ UPB_INLINE void validate_UInt64Rules_clear_gte(const validate_UInt64Rules* msg) {
1449
+ *UPB_PTR_AT(msg, UPB_SIZE(48, 56), uint64_t) = 0;
1450
+ _upb_clearhas(msg, 5);
1047
1451
  }
1048
- UPB_INLINE bool validate_UInt64Rules_has_gte(const validate_UInt64Rules *msg) { return _upb_hasbit(msg, 5); }
1049
1452
  UPB_INLINE uint64_t validate_UInt64Rules_gte(const validate_UInt64Rules* msg) {
1050
- return *UPB_PTR_AT(msg, UPB_SIZE(40, 40), uint64_t);
1453
+ return *UPB_PTR_AT(msg, UPB_SIZE(48, 56), uint64_t);
1454
+ }
1455
+ UPB_INLINE void validate_UInt64Rules_clear_in(const validate_UInt64Rules* msg) {
1456
+ _upb_array_detach(msg, UPB_SIZE(4, 8));
1457
+ }
1458
+ UPB_INLINE uint64_t const* validate_UInt64Rules_in(const validate_UInt64Rules* msg, size_t* len) {
1459
+ return (uint64_t const*)_upb_array_accessor(msg, UPB_SIZE(4, 8), len);
1460
+ }
1461
+ UPB_INLINE void validate_UInt64Rules_clear_not_in(const validate_UInt64Rules* msg) {
1462
+ _upb_array_detach(msg, UPB_SIZE(8, 16));
1463
+ }
1464
+ UPB_INLINE uint64_t const* validate_UInt64Rules_not_in(const validate_UInt64Rules* msg, size_t* len) {
1465
+ return (uint64_t const*)_upb_array_accessor(msg, UPB_SIZE(8, 16), len);
1466
+ }
1467
+ UPB_INLINE bool validate_UInt64Rules_has_ignore_empty(const validate_UInt64Rules* msg) {
1468
+ return _upb_hasbit(msg, 6);
1469
+ }
1470
+ UPB_INLINE void validate_UInt64Rules_clear_ignore_empty(const validate_UInt64Rules* msg) {
1471
+ *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool) = 0;
1472
+ _upb_clearhas(msg, 6);
1051
1473
  }
1052
- UPB_INLINE uint64_t const* validate_UInt64Rules_in(const validate_UInt64Rules *msg, size_t *len) { return (uint64_t const*)_upb_array_accessor(msg, UPB_SIZE(52, 56), len); }
1053
- UPB_INLINE uint64_t const* validate_UInt64Rules_not_in(const validate_UInt64Rules *msg, size_t *len) { return (uint64_t const*)_upb_array_accessor(msg, UPB_SIZE(56, 64), len); }
1054
- UPB_INLINE bool validate_UInt64Rules_has_ignore_empty(const validate_UInt64Rules *msg) { return _upb_hasbit(msg, 6); }
1055
1474
  UPB_INLINE bool validate_UInt64Rules_ignore_empty(const validate_UInt64Rules* msg) {
1056
- return *UPB_PTR_AT(msg, UPB_SIZE(48, 48), bool);
1475
+ return *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool);
1057
1476
  }
1058
1477
 
1059
1478
  UPB_INLINE void validate_UInt64Rules_set_const(validate_UInt64Rules *msg, uint64_t value) {
1060
1479
  _upb_sethas(msg, 1);
1061
- *UPB_PTR_AT(msg, UPB_SIZE(8, 8), uint64_t) = value;
1480
+ *UPB_PTR_AT(msg, UPB_SIZE(16, 24), uint64_t) = value;
1062
1481
  }
1063
1482
  UPB_INLINE void validate_UInt64Rules_set_lt(validate_UInt64Rules *msg, uint64_t value) {
1064
1483
  _upb_sethas(msg, 2);
1065
- *UPB_PTR_AT(msg, UPB_SIZE(16, 16), uint64_t) = value;
1484
+ *UPB_PTR_AT(msg, UPB_SIZE(24, 32), uint64_t) = value;
1066
1485
  }
1067
1486
  UPB_INLINE void validate_UInt64Rules_set_lte(validate_UInt64Rules *msg, uint64_t value) {
1068
1487
  _upb_sethas(msg, 3);
1069
- *UPB_PTR_AT(msg, UPB_SIZE(24, 24), uint64_t) = value;
1488
+ *UPB_PTR_AT(msg, UPB_SIZE(32, 40), uint64_t) = value;
1070
1489
  }
1071
1490
  UPB_INLINE void validate_UInt64Rules_set_gt(validate_UInt64Rules *msg, uint64_t value) {
1072
1491
  _upb_sethas(msg, 4);
1073
- *UPB_PTR_AT(msg, UPB_SIZE(32, 32), uint64_t) = value;
1492
+ *UPB_PTR_AT(msg, UPB_SIZE(40, 48), uint64_t) = value;
1074
1493
  }
1075
1494
  UPB_INLINE void validate_UInt64Rules_set_gte(validate_UInt64Rules *msg, uint64_t value) {
1076
1495
  _upb_sethas(msg, 5);
1077
- *UPB_PTR_AT(msg, UPB_SIZE(40, 40), uint64_t) = value;
1496
+ *UPB_PTR_AT(msg, UPB_SIZE(48, 56), uint64_t) = value;
1078
1497
  }
1079
- UPB_INLINE uint64_t* validate_UInt64Rules_mutable_in(validate_UInt64Rules *msg, size_t *len) {
1080
- return (uint64_t*)_upb_array_mutable_accessor(msg, UPB_SIZE(52, 56), len);
1498
+ UPB_INLINE uint64_t* validate_UInt64Rules_mutable_in(validate_UInt64Rules* msg, size_t* len) {
1499
+ return (uint64_t*)_upb_array_mutable_accessor(msg, UPB_SIZE(4, 8), len);
1081
1500
  }
1082
- UPB_INLINE uint64_t* validate_UInt64Rules_resize_in(validate_UInt64Rules *msg, size_t len, upb_Arena *arena) {
1083
- return (uint64_t*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(52, 56), len, 3, arena);
1501
+ UPB_INLINE uint64_t* validate_UInt64Rules_resize_in(validate_UInt64Rules* msg, size_t len, upb_Arena* arena) {
1502
+ return (uint64_t*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(4, 8), len, 3, arena);
1084
1503
  }
1085
- UPB_INLINE bool validate_UInt64Rules_add_in(validate_UInt64Rules *msg, uint64_t val, upb_Arena *arena) {
1086
- return _upb_Array_Append_accessor2(msg, UPB_SIZE(52, 56), 3, &val,
1087
- arena);
1504
+ UPB_INLINE bool validate_UInt64Rules_add_in(validate_UInt64Rules* msg, uint64_t val, upb_Arena* arena) {
1505
+ return _upb_Array_Append_accessor2(msg, UPB_SIZE(4, 8), 3, &val, arena);
1088
1506
  }
1089
- UPB_INLINE uint64_t* validate_UInt64Rules_mutable_not_in(validate_UInt64Rules *msg, size_t *len) {
1090
- return (uint64_t*)_upb_array_mutable_accessor(msg, UPB_SIZE(56, 64), len);
1507
+ UPB_INLINE uint64_t* validate_UInt64Rules_mutable_not_in(validate_UInt64Rules* msg, size_t* len) {
1508
+ return (uint64_t*)_upb_array_mutable_accessor(msg, UPB_SIZE(8, 16), len);
1091
1509
  }
1092
- UPB_INLINE uint64_t* validate_UInt64Rules_resize_not_in(validate_UInt64Rules *msg, size_t len, upb_Arena *arena) {
1093
- return (uint64_t*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(56, 64), len, 3, arena);
1510
+ UPB_INLINE uint64_t* validate_UInt64Rules_resize_not_in(validate_UInt64Rules* msg, size_t len, upb_Arena* arena) {
1511
+ return (uint64_t*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(8, 16), len, 3, arena);
1094
1512
  }
1095
- UPB_INLINE bool validate_UInt64Rules_add_not_in(validate_UInt64Rules *msg, uint64_t val, upb_Arena *arena) {
1096
- return _upb_Array_Append_accessor2(msg, UPB_SIZE(56, 64), 3, &val,
1097
- arena);
1513
+ UPB_INLINE bool validate_UInt64Rules_add_not_in(validate_UInt64Rules* msg, uint64_t val, upb_Arena* arena) {
1514
+ return _upb_Array_Append_accessor2(msg, UPB_SIZE(8, 16), 3, &val, arena);
1098
1515
  }
1099
1516
  UPB_INLINE void validate_UInt64Rules_set_ignore_empty(validate_UInt64Rules *msg, bool value) {
1100
1517
  _upb_sethas(msg, 6);
1101
- *UPB_PTR_AT(msg, UPB_SIZE(48, 48), bool) = value;
1518
+ *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool) = value;
1102
1519
  }
1103
1520
 
1104
1521
  /* validate.SInt32Rules */
@@ -1132,29 +1549,75 @@ UPB_INLINE char* validate_SInt32Rules_serialize_ex(const validate_SInt32Rules* m
1132
1549
  upb_Arena* arena, size_t* len) {
1133
1550
  return upb_Encode(msg, &validate_SInt32Rules_msginit, options, arena, len);
1134
1551
  }
1135
- UPB_INLINE bool validate_SInt32Rules_has_const(const validate_SInt32Rules *msg) { return _upb_hasbit(msg, 1); }
1552
+ UPB_INLINE bool validate_SInt32Rules_has_const(const validate_SInt32Rules* msg) {
1553
+ return _upb_hasbit(msg, 1);
1554
+ }
1555
+ UPB_INLINE void validate_SInt32Rules_clear_const(const validate_SInt32Rules* msg) {
1556
+ *UPB_PTR_AT(msg, UPB_SIZE(4, 4), int32_t) = 0;
1557
+ _upb_clearhas(msg, 1);
1558
+ }
1136
1559
  UPB_INLINE int32_t validate_SInt32Rules_const(const validate_SInt32Rules* msg) {
1137
1560
  return *UPB_PTR_AT(msg, UPB_SIZE(4, 4), int32_t);
1138
1561
  }
1139
- UPB_INLINE bool validate_SInt32Rules_has_lt(const validate_SInt32Rules *msg) { return _upb_hasbit(msg, 2); }
1562
+ UPB_INLINE bool validate_SInt32Rules_has_lt(const validate_SInt32Rules* msg) {
1563
+ return _upb_hasbit(msg, 2);
1564
+ }
1565
+ UPB_INLINE void validate_SInt32Rules_clear_lt(const validate_SInt32Rules* msg) {
1566
+ *UPB_PTR_AT(msg, UPB_SIZE(8, 8), int32_t) = 0;
1567
+ _upb_clearhas(msg, 2);
1568
+ }
1140
1569
  UPB_INLINE int32_t validate_SInt32Rules_lt(const validate_SInt32Rules* msg) {
1141
1570
  return *UPB_PTR_AT(msg, UPB_SIZE(8, 8), int32_t);
1142
1571
  }
1143
- UPB_INLINE bool validate_SInt32Rules_has_lte(const validate_SInt32Rules *msg) { return _upb_hasbit(msg, 3); }
1572
+ UPB_INLINE bool validate_SInt32Rules_has_lte(const validate_SInt32Rules* msg) {
1573
+ return _upb_hasbit(msg, 3);
1574
+ }
1575
+ UPB_INLINE void validate_SInt32Rules_clear_lte(const validate_SInt32Rules* msg) {
1576
+ *UPB_PTR_AT(msg, UPB_SIZE(12, 12), int32_t) = 0;
1577
+ _upb_clearhas(msg, 3);
1578
+ }
1144
1579
  UPB_INLINE int32_t validate_SInt32Rules_lte(const validate_SInt32Rules* msg) {
1145
1580
  return *UPB_PTR_AT(msg, UPB_SIZE(12, 12), int32_t);
1146
1581
  }
1147
- UPB_INLINE bool validate_SInt32Rules_has_gt(const validate_SInt32Rules *msg) { return _upb_hasbit(msg, 4); }
1582
+ UPB_INLINE bool validate_SInt32Rules_has_gt(const validate_SInt32Rules* msg) {
1583
+ return _upb_hasbit(msg, 4);
1584
+ }
1585
+ UPB_INLINE void validate_SInt32Rules_clear_gt(const validate_SInt32Rules* msg) {
1586
+ *UPB_PTR_AT(msg, UPB_SIZE(16, 16), int32_t) = 0;
1587
+ _upb_clearhas(msg, 4);
1588
+ }
1148
1589
  UPB_INLINE int32_t validate_SInt32Rules_gt(const validate_SInt32Rules* msg) {
1149
1590
  return *UPB_PTR_AT(msg, UPB_SIZE(16, 16), int32_t);
1150
1591
  }
1151
- UPB_INLINE bool validate_SInt32Rules_has_gte(const validate_SInt32Rules *msg) { return _upb_hasbit(msg, 5); }
1592
+ UPB_INLINE bool validate_SInt32Rules_has_gte(const validate_SInt32Rules* msg) {
1593
+ return _upb_hasbit(msg, 5);
1594
+ }
1595
+ UPB_INLINE void validate_SInt32Rules_clear_gte(const validate_SInt32Rules* msg) {
1596
+ *UPB_PTR_AT(msg, UPB_SIZE(20, 20), int32_t) = 0;
1597
+ _upb_clearhas(msg, 5);
1598
+ }
1152
1599
  UPB_INLINE int32_t validate_SInt32Rules_gte(const validate_SInt32Rules* msg) {
1153
1600
  return *UPB_PTR_AT(msg, UPB_SIZE(20, 20), int32_t);
1154
1601
  }
1155
- UPB_INLINE int32_t const* validate_SInt32Rules_in(const validate_SInt32Rules *msg, size_t *len) { return (int32_t const*)_upb_array_accessor(msg, UPB_SIZE(28, 32), len); }
1156
- UPB_INLINE int32_t const* validate_SInt32Rules_not_in(const validate_SInt32Rules *msg, size_t *len) { return (int32_t const*)_upb_array_accessor(msg, UPB_SIZE(32, 40), len); }
1157
- UPB_INLINE bool validate_SInt32Rules_has_ignore_empty(const validate_SInt32Rules *msg) { return _upb_hasbit(msg, 6); }
1602
+ UPB_INLINE void validate_SInt32Rules_clear_in(const validate_SInt32Rules* msg) {
1603
+ _upb_array_detach(msg, UPB_SIZE(28, 32));
1604
+ }
1605
+ UPB_INLINE int32_t const* validate_SInt32Rules_in(const validate_SInt32Rules* msg, size_t* len) {
1606
+ return (int32_t const*)_upb_array_accessor(msg, UPB_SIZE(28, 32), len);
1607
+ }
1608
+ UPB_INLINE void validate_SInt32Rules_clear_not_in(const validate_SInt32Rules* msg) {
1609
+ _upb_array_detach(msg, UPB_SIZE(32, 40));
1610
+ }
1611
+ UPB_INLINE int32_t const* validate_SInt32Rules_not_in(const validate_SInt32Rules* msg, size_t* len) {
1612
+ return (int32_t const*)_upb_array_accessor(msg, UPB_SIZE(32, 40), len);
1613
+ }
1614
+ UPB_INLINE bool validate_SInt32Rules_has_ignore_empty(const validate_SInt32Rules* msg) {
1615
+ return _upb_hasbit(msg, 6);
1616
+ }
1617
+ UPB_INLINE void validate_SInt32Rules_clear_ignore_empty(const validate_SInt32Rules* msg) {
1618
+ *UPB_PTR_AT(msg, UPB_SIZE(24, 24), bool) = 0;
1619
+ _upb_clearhas(msg, 6);
1620
+ }
1158
1621
  UPB_INLINE bool validate_SInt32Rules_ignore_empty(const validate_SInt32Rules* msg) {
1159
1622
  return *UPB_PTR_AT(msg, UPB_SIZE(24, 24), bool);
1160
1623
  }
@@ -1179,25 +1642,23 @@ UPB_INLINE void validate_SInt32Rules_set_gte(validate_SInt32Rules *msg, int32_t
1179
1642
  _upb_sethas(msg, 5);
1180
1643
  *UPB_PTR_AT(msg, UPB_SIZE(20, 20), int32_t) = value;
1181
1644
  }
1182
- UPB_INLINE int32_t* validate_SInt32Rules_mutable_in(validate_SInt32Rules *msg, size_t *len) {
1645
+ UPB_INLINE int32_t* validate_SInt32Rules_mutable_in(validate_SInt32Rules* msg, size_t* len) {
1183
1646
  return (int32_t*)_upb_array_mutable_accessor(msg, UPB_SIZE(28, 32), len);
1184
1647
  }
1185
- UPB_INLINE int32_t* validate_SInt32Rules_resize_in(validate_SInt32Rules *msg, size_t len, upb_Arena *arena) {
1648
+ UPB_INLINE int32_t* validate_SInt32Rules_resize_in(validate_SInt32Rules* msg, size_t len, upb_Arena* arena) {
1186
1649
  return (int32_t*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(28, 32), len, 2, arena);
1187
1650
  }
1188
- UPB_INLINE bool validate_SInt32Rules_add_in(validate_SInt32Rules *msg, int32_t val, upb_Arena *arena) {
1189
- return _upb_Array_Append_accessor2(msg, UPB_SIZE(28, 32), 2, &val,
1190
- arena);
1651
+ UPB_INLINE bool validate_SInt32Rules_add_in(validate_SInt32Rules* msg, int32_t val, upb_Arena* arena) {
1652
+ return _upb_Array_Append_accessor2(msg, UPB_SIZE(28, 32), 2, &val, arena);
1191
1653
  }
1192
- UPB_INLINE int32_t* validate_SInt32Rules_mutable_not_in(validate_SInt32Rules *msg, size_t *len) {
1654
+ UPB_INLINE int32_t* validate_SInt32Rules_mutable_not_in(validate_SInt32Rules* msg, size_t* len) {
1193
1655
  return (int32_t*)_upb_array_mutable_accessor(msg, UPB_SIZE(32, 40), len);
1194
1656
  }
1195
- UPB_INLINE int32_t* validate_SInt32Rules_resize_not_in(validate_SInt32Rules *msg, size_t len, upb_Arena *arena) {
1657
+ UPB_INLINE int32_t* validate_SInt32Rules_resize_not_in(validate_SInt32Rules* msg, size_t len, upb_Arena* arena) {
1196
1658
  return (int32_t*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(32, 40), len, 2, arena);
1197
1659
  }
1198
- UPB_INLINE bool validate_SInt32Rules_add_not_in(validate_SInt32Rules *msg, int32_t val, upb_Arena *arena) {
1199
- return _upb_Array_Append_accessor2(msg, UPB_SIZE(32, 40), 2, &val,
1200
- arena);
1660
+ UPB_INLINE bool validate_SInt32Rules_add_not_in(validate_SInt32Rules* msg, int32_t val, upb_Arena* arena) {
1661
+ return _upb_Array_Append_accessor2(msg, UPB_SIZE(32, 40), 2, &val, arena);
1201
1662
  }
1202
1663
  UPB_INLINE void validate_SInt32Rules_set_ignore_empty(validate_SInt32Rules *msg, bool value) {
1203
1664
  _upb_sethas(msg, 6);
@@ -1235,76 +1696,120 @@ UPB_INLINE char* validate_SInt64Rules_serialize_ex(const validate_SInt64Rules* m
1235
1696
  upb_Arena* arena, size_t* len) {
1236
1697
  return upb_Encode(msg, &validate_SInt64Rules_msginit, options, arena, len);
1237
1698
  }
1238
- UPB_INLINE bool validate_SInt64Rules_has_const(const validate_SInt64Rules *msg) { return _upb_hasbit(msg, 1); }
1699
+ UPB_INLINE bool validate_SInt64Rules_has_const(const validate_SInt64Rules* msg) {
1700
+ return _upb_hasbit(msg, 1);
1701
+ }
1702
+ UPB_INLINE void validate_SInt64Rules_clear_const(const validate_SInt64Rules* msg) {
1703
+ *UPB_PTR_AT(msg, UPB_SIZE(16, 24), int64_t) = 0;
1704
+ _upb_clearhas(msg, 1);
1705
+ }
1239
1706
  UPB_INLINE int64_t validate_SInt64Rules_const(const validate_SInt64Rules* msg) {
1240
- return *UPB_PTR_AT(msg, UPB_SIZE(8, 8), int64_t);
1707
+ return *UPB_PTR_AT(msg, UPB_SIZE(16, 24), int64_t);
1708
+ }
1709
+ UPB_INLINE bool validate_SInt64Rules_has_lt(const validate_SInt64Rules* msg) {
1710
+ return _upb_hasbit(msg, 2);
1711
+ }
1712
+ UPB_INLINE void validate_SInt64Rules_clear_lt(const validate_SInt64Rules* msg) {
1713
+ *UPB_PTR_AT(msg, UPB_SIZE(24, 32), int64_t) = 0;
1714
+ _upb_clearhas(msg, 2);
1241
1715
  }
1242
- UPB_INLINE bool validate_SInt64Rules_has_lt(const validate_SInt64Rules *msg) { return _upb_hasbit(msg, 2); }
1243
1716
  UPB_INLINE int64_t validate_SInt64Rules_lt(const validate_SInt64Rules* msg) {
1244
- return *UPB_PTR_AT(msg, UPB_SIZE(16, 16), int64_t);
1717
+ return *UPB_PTR_AT(msg, UPB_SIZE(24, 32), int64_t);
1718
+ }
1719
+ UPB_INLINE bool validate_SInt64Rules_has_lte(const validate_SInt64Rules* msg) {
1720
+ return _upb_hasbit(msg, 3);
1721
+ }
1722
+ UPB_INLINE void validate_SInt64Rules_clear_lte(const validate_SInt64Rules* msg) {
1723
+ *UPB_PTR_AT(msg, UPB_SIZE(32, 40), int64_t) = 0;
1724
+ _upb_clearhas(msg, 3);
1245
1725
  }
1246
- UPB_INLINE bool validate_SInt64Rules_has_lte(const validate_SInt64Rules *msg) { return _upb_hasbit(msg, 3); }
1247
1726
  UPB_INLINE int64_t validate_SInt64Rules_lte(const validate_SInt64Rules* msg) {
1248
- return *UPB_PTR_AT(msg, UPB_SIZE(24, 24), int64_t);
1727
+ return *UPB_PTR_AT(msg, UPB_SIZE(32, 40), int64_t);
1728
+ }
1729
+ UPB_INLINE bool validate_SInt64Rules_has_gt(const validate_SInt64Rules* msg) {
1730
+ return _upb_hasbit(msg, 4);
1731
+ }
1732
+ UPB_INLINE void validate_SInt64Rules_clear_gt(const validate_SInt64Rules* msg) {
1733
+ *UPB_PTR_AT(msg, UPB_SIZE(40, 48), int64_t) = 0;
1734
+ _upb_clearhas(msg, 4);
1249
1735
  }
1250
- UPB_INLINE bool validate_SInt64Rules_has_gt(const validate_SInt64Rules *msg) { return _upb_hasbit(msg, 4); }
1251
1736
  UPB_INLINE int64_t validate_SInt64Rules_gt(const validate_SInt64Rules* msg) {
1252
- return *UPB_PTR_AT(msg, UPB_SIZE(32, 32), int64_t);
1737
+ return *UPB_PTR_AT(msg, UPB_SIZE(40, 48), int64_t);
1738
+ }
1739
+ UPB_INLINE bool validate_SInt64Rules_has_gte(const validate_SInt64Rules* msg) {
1740
+ return _upb_hasbit(msg, 5);
1741
+ }
1742
+ UPB_INLINE void validate_SInt64Rules_clear_gte(const validate_SInt64Rules* msg) {
1743
+ *UPB_PTR_AT(msg, UPB_SIZE(48, 56), int64_t) = 0;
1744
+ _upb_clearhas(msg, 5);
1253
1745
  }
1254
- UPB_INLINE bool validate_SInt64Rules_has_gte(const validate_SInt64Rules *msg) { return _upb_hasbit(msg, 5); }
1255
1746
  UPB_INLINE int64_t validate_SInt64Rules_gte(const validate_SInt64Rules* msg) {
1256
- return *UPB_PTR_AT(msg, UPB_SIZE(40, 40), int64_t);
1747
+ return *UPB_PTR_AT(msg, UPB_SIZE(48, 56), int64_t);
1748
+ }
1749
+ UPB_INLINE void validate_SInt64Rules_clear_in(const validate_SInt64Rules* msg) {
1750
+ _upb_array_detach(msg, UPB_SIZE(4, 8));
1751
+ }
1752
+ UPB_INLINE int64_t const* validate_SInt64Rules_in(const validate_SInt64Rules* msg, size_t* len) {
1753
+ return (int64_t const*)_upb_array_accessor(msg, UPB_SIZE(4, 8), len);
1754
+ }
1755
+ UPB_INLINE void validate_SInt64Rules_clear_not_in(const validate_SInt64Rules* msg) {
1756
+ _upb_array_detach(msg, UPB_SIZE(8, 16));
1757
+ }
1758
+ UPB_INLINE int64_t const* validate_SInt64Rules_not_in(const validate_SInt64Rules* msg, size_t* len) {
1759
+ return (int64_t const*)_upb_array_accessor(msg, UPB_SIZE(8, 16), len);
1760
+ }
1761
+ UPB_INLINE bool validate_SInt64Rules_has_ignore_empty(const validate_SInt64Rules* msg) {
1762
+ return _upb_hasbit(msg, 6);
1763
+ }
1764
+ UPB_INLINE void validate_SInt64Rules_clear_ignore_empty(const validate_SInt64Rules* msg) {
1765
+ *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool) = 0;
1766
+ _upb_clearhas(msg, 6);
1257
1767
  }
1258
- UPB_INLINE int64_t const* validate_SInt64Rules_in(const validate_SInt64Rules *msg, size_t *len) { return (int64_t const*)_upb_array_accessor(msg, UPB_SIZE(52, 56), len); }
1259
- UPB_INLINE int64_t const* validate_SInt64Rules_not_in(const validate_SInt64Rules *msg, size_t *len) { return (int64_t const*)_upb_array_accessor(msg, UPB_SIZE(56, 64), len); }
1260
- UPB_INLINE bool validate_SInt64Rules_has_ignore_empty(const validate_SInt64Rules *msg) { return _upb_hasbit(msg, 6); }
1261
1768
  UPB_INLINE bool validate_SInt64Rules_ignore_empty(const validate_SInt64Rules* msg) {
1262
- return *UPB_PTR_AT(msg, UPB_SIZE(48, 48), bool);
1769
+ return *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool);
1263
1770
  }
1264
1771
 
1265
1772
  UPB_INLINE void validate_SInt64Rules_set_const(validate_SInt64Rules *msg, int64_t value) {
1266
1773
  _upb_sethas(msg, 1);
1267
- *UPB_PTR_AT(msg, UPB_SIZE(8, 8), int64_t) = value;
1774
+ *UPB_PTR_AT(msg, UPB_SIZE(16, 24), int64_t) = value;
1268
1775
  }
1269
1776
  UPB_INLINE void validate_SInt64Rules_set_lt(validate_SInt64Rules *msg, int64_t value) {
1270
1777
  _upb_sethas(msg, 2);
1271
- *UPB_PTR_AT(msg, UPB_SIZE(16, 16), int64_t) = value;
1778
+ *UPB_PTR_AT(msg, UPB_SIZE(24, 32), int64_t) = value;
1272
1779
  }
1273
1780
  UPB_INLINE void validate_SInt64Rules_set_lte(validate_SInt64Rules *msg, int64_t value) {
1274
1781
  _upb_sethas(msg, 3);
1275
- *UPB_PTR_AT(msg, UPB_SIZE(24, 24), int64_t) = value;
1782
+ *UPB_PTR_AT(msg, UPB_SIZE(32, 40), int64_t) = value;
1276
1783
  }
1277
1784
  UPB_INLINE void validate_SInt64Rules_set_gt(validate_SInt64Rules *msg, int64_t value) {
1278
1785
  _upb_sethas(msg, 4);
1279
- *UPB_PTR_AT(msg, UPB_SIZE(32, 32), int64_t) = value;
1786
+ *UPB_PTR_AT(msg, UPB_SIZE(40, 48), int64_t) = value;
1280
1787
  }
1281
1788
  UPB_INLINE void validate_SInt64Rules_set_gte(validate_SInt64Rules *msg, int64_t value) {
1282
1789
  _upb_sethas(msg, 5);
1283
- *UPB_PTR_AT(msg, UPB_SIZE(40, 40), int64_t) = value;
1790
+ *UPB_PTR_AT(msg, UPB_SIZE(48, 56), int64_t) = value;
1284
1791
  }
1285
- UPB_INLINE int64_t* validate_SInt64Rules_mutable_in(validate_SInt64Rules *msg, size_t *len) {
1286
- return (int64_t*)_upb_array_mutable_accessor(msg, UPB_SIZE(52, 56), len);
1792
+ UPB_INLINE int64_t* validate_SInt64Rules_mutable_in(validate_SInt64Rules* msg, size_t* len) {
1793
+ return (int64_t*)_upb_array_mutable_accessor(msg, UPB_SIZE(4, 8), len);
1287
1794
  }
1288
- UPB_INLINE int64_t* validate_SInt64Rules_resize_in(validate_SInt64Rules *msg, size_t len, upb_Arena *arena) {
1289
- return (int64_t*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(52, 56), len, 3, arena);
1795
+ UPB_INLINE int64_t* validate_SInt64Rules_resize_in(validate_SInt64Rules* msg, size_t len, upb_Arena* arena) {
1796
+ return (int64_t*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(4, 8), len, 3, arena);
1290
1797
  }
1291
- UPB_INLINE bool validate_SInt64Rules_add_in(validate_SInt64Rules *msg, int64_t val, upb_Arena *arena) {
1292
- return _upb_Array_Append_accessor2(msg, UPB_SIZE(52, 56), 3, &val,
1293
- arena);
1798
+ UPB_INLINE bool validate_SInt64Rules_add_in(validate_SInt64Rules* msg, int64_t val, upb_Arena* arena) {
1799
+ return _upb_Array_Append_accessor2(msg, UPB_SIZE(4, 8), 3, &val, arena);
1294
1800
  }
1295
- UPB_INLINE int64_t* validate_SInt64Rules_mutable_not_in(validate_SInt64Rules *msg, size_t *len) {
1296
- return (int64_t*)_upb_array_mutable_accessor(msg, UPB_SIZE(56, 64), len);
1801
+ UPB_INLINE int64_t* validate_SInt64Rules_mutable_not_in(validate_SInt64Rules* msg, size_t* len) {
1802
+ return (int64_t*)_upb_array_mutable_accessor(msg, UPB_SIZE(8, 16), len);
1297
1803
  }
1298
- UPB_INLINE int64_t* validate_SInt64Rules_resize_not_in(validate_SInt64Rules *msg, size_t len, upb_Arena *arena) {
1299
- return (int64_t*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(56, 64), len, 3, arena);
1804
+ UPB_INLINE int64_t* validate_SInt64Rules_resize_not_in(validate_SInt64Rules* msg, size_t len, upb_Arena* arena) {
1805
+ return (int64_t*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(8, 16), len, 3, arena);
1300
1806
  }
1301
- UPB_INLINE bool validate_SInt64Rules_add_not_in(validate_SInt64Rules *msg, int64_t val, upb_Arena *arena) {
1302
- return _upb_Array_Append_accessor2(msg, UPB_SIZE(56, 64), 3, &val,
1303
- arena);
1807
+ UPB_INLINE bool validate_SInt64Rules_add_not_in(validate_SInt64Rules* msg, int64_t val, upb_Arena* arena) {
1808
+ return _upb_Array_Append_accessor2(msg, UPB_SIZE(8, 16), 3, &val, arena);
1304
1809
  }
1305
1810
  UPB_INLINE void validate_SInt64Rules_set_ignore_empty(validate_SInt64Rules *msg, bool value) {
1306
1811
  _upb_sethas(msg, 6);
1307
- *UPB_PTR_AT(msg, UPB_SIZE(48, 48), bool) = value;
1812
+ *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool) = value;
1308
1813
  }
1309
1814
 
1310
1815
  /* validate.Fixed32Rules */
@@ -1338,29 +1843,75 @@ UPB_INLINE char* validate_Fixed32Rules_serialize_ex(const validate_Fixed32Rules*
1338
1843
  upb_Arena* arena, size_t* len) {
1339
1844
  return upb_Encode(msg, &validate_Fixed32Rules_msginit, options, arena, len);
1340
1845
  }
1341
- UPB_INLINE bool validate_Fixed32Rules_has_const(const validate_Fixed32Rules *msg) { return _upb_hasbit(msg, 1); }
1846
+ UPB_INLINE bool validate_Fixed32Rules_has_const(const validate_Fixed32Rules* msg) {
1847
+ return _upb_hasbit(msg, 1);
1848
+ }
1849
+ UPB_INLINE void validate_Fixed32Rules_clear_const(const validate_Fixed32Rules* msg) {
1850
+ *UPB_PTR_AT(msg, UPB_SIZE(4, 4), uint32_t) = 0;
1851
+ _upb_clearhas(msg, 1);
1852
+ }
1342
1853
  UPB_INLINE uint32_t validate_Fixed32Rules_const(const validate_Fixed32Rules* msg) {
1343
1854
  return *UPB_PTR_AT(msg, UPB_SIZE(4, 4), uint32_t);
1344
1855
  }
1345
- UPB_INLINE bool validate_Fixed32Rules_has_lt(const validate_Fixed32Rules *msg) { return _upb_hasbit(msg, 2); }
1856
+ UPB_INLINE bool validate_Fixed32Rules_has_lt(const validate_Fixed32Rules* msg) {
1857
+ return _upb_hasbit(msg, 2);
1858
+ }
1859
+ UPB_INLINE void validate_Fixed32Rules_clear_lt(const validate_Fixed32Rules* msg) {
1860
+ *UPB_PTR_AT(msg, UPB_SIZE(8, 8), uint32_t) = 0;
1861
+ _upb_clearhas(msg, 2);
1862
+ }
1346
1863
  UPB_INLINE uint32_t validate_Fixed32Rules_lt(const validate_Fixed32Rules* msg) {
1347
1864
  return *UPB_PTR_AT(msg, UPB_SIZE(8, 8), uint32_t);
1348
1865
  }
1349
- UPB_INLINE bool validate_Fixed32Rules_has_lte(const validate_Fixed32Rules *msg) { return _upb_hasbit(msg, 3); }
1866
+ UPB_INLINE bool validate_Fixed32Rules_has_lte(const validate_Fixed32Rules* msg) {
1867
+ return _upb_hasbit(msg, 3);
1868
+ }
1869
+ UPB_INLINE void validate_Fixed32Rules_clear_lte(const validate_Fixed32Rules* msg) {
1870
+ *UPB_PTR_AT(msg, UPB_SIZE(12, 12), uint32_t) = 0;
1871
+ _upb_clearhas(msg, 3);
1872
+ }
1350
1873
  UPB_INLINE uint32_t validate_Fixed32Rules_lte(const validate_Fixed32Rules* msg) {
1351
1874
  return *UPB_PTR_AT(msg, UPB_SIZE(12, 12), uint32_t);
1352
1875
  }
1353
- UPB_INLINE bool validate_Fixed32Rules_has_gt(const validate_Fixed32Rules *msg) { return _upb_hasbit(msg, 4); }
1876
+ UPB_INLINE bool validate_Fixed32Rules_has_gt(const validate_Fixed32Rules* msg) {
1877
+ return _upb_hasbit(msg, 4);
1878
+ }
1879
+ UPB_INLINE void validate_Fixed32Rules_clear_gt(const validate_Fixed32Rules* msg) {
1880
+ *UPB_PTR_AT(msg, UPB_SIZE(16, 16), uint32_t) = 0;
1881
+ _upb_clearhas(msg, 4);
1882
+ }
1354
1883
  UPB_INLINE uint32_t validate_Fixed32Rules_gt(const validate_Fixed32Rules* msg) {
1355
1884
  return *UPB_PTR_AT(msg, UPB_SIZE(16, 16), uint32_t);
1356
1885
  }
1357
- UPB_INLINE bool validate_Fixed32Rules_has_gte(const validate_Fixed32Rules *msg) { return _upb_hasbit(msg, 5); }
1886
+ UPB_INLINE bool validate_Fixed32Rules_has_gte(const validate_Fixed32Rules* msg) {
1887
+ return _upb_hasbit(msg, 5);
1888
+ }
1889
+ UPB_INLINE void validate_Fixed32Rules_clear_gte(const validate_Fixed32Rules* msg) {
1890
+ *UPB_PTR_AT(msg, UPB_SIZE(20, 20), uint32_t) = 0;
1891
+ _upb_clearhas(msg, 5);
1892
+ }
1358
1893
  UPB_INLINE uint32_t validate_Fixed32Rules_gte(const validate_Fixed32Rules* msg) {
1359
1894
  return *UPB_PTR_AT(msg, UPB_SIZE(20, 20), uint32_t);
1360
1895
  }
1361
- UPB_INLINE uint32_t const* validate_Fixed32Rules_in(const validate_Fixed32Rules *msg, size_t *len) { return (uint32_t const*)_upb_array_accessor(msg, UPB_SIZE(28, 32), len); }
1362
- UPB_INLINE uint32_t const* validate_Fixed32Rules_not_in(const validate_Fixed32Rules *msg, size_t *len) { return (uint32_t const*)_upb_array_accessor(msg, UPB_SIZE(32, 40), len); }
1363
- UPB_INLINE bool validate_Fixed32Rules_has_ignore_empty(const validate_Fixed32Rules *msg) { return _upb_hasbit(msg, 6); }
1896
+ UPB_INLINE void validate_Fixed32Rules_clear_in(const validate_Fixed32Rules* msg) {
1897
+ _upb_array_detach(msg, UPB_SIZE(28, 32));
1898
+ }
1899
+ UPB_INLINE uint32_t const* validate_Fixed32Rules_in(const validate_Fixed32Rules* msg, size_t* len) {
1900
+ return (uint32_t const*)_upb_array_accessor(msg, UPB_SIZE(28, 32), len);
1901
+ }
1902
+ UPB_INLINE void validate_Fixed32Rules_clear_not_in(const validate_Fixed32Rules* msg) {
1903
+ _upb_array_detach(msg, UPB_SIZE(32, 40));
1904
+ }
1905
+ UPB_INLINE uint32_t const* validate_Fixed32Rules_not_in(const validate_Fixed32Rules* msg, size_t* len) {
1906
+ return (uint32_t const*)_upb_array_accessor(msg, UPB_SIZE(32, 40), len);
1907
+ }
1908
+ UPB_INLINE bool validate_Fixed32Rules_has_ignore_empty(const validate_Fixed32Rules* msg) {
1909
+ return _upb_hasbit(msg, 6);
1910
+ }
1911
+ UPB_INLINE void validate_Fixed32Rules_clear_ignore_empty(const validate_Fixed32Rules* msg) {
1912
+ *UPB_PTR_AT(msg, UPB_SIZE(24, 24), bool) = 0;
1913
+ _upb_clearhas(msg, 6);
1914
+ }
1364
1915
  UPB_INLINE bool validate_Fixed32Rules_ignore_empty(const validate_Fixed32Rules* msg) {
1365
1916
  return *UPB_PTR_AT(msg, UPB_SIZE(24, 24), bool);
1366
1917
  }
@@ -1385,25 +1936,23 @@ UPB_INLINE void validate_Fixed32Rules_set_gte(validate_Fixed32Rules *msg, uint32
1385
1936
  _upb_sethas(msg, 5);
1386
1937
  *UPB_PTR_AT(msg, UPB_SIZE(20, 20), uint32_t) = value;
1387
1938
  }
1388
- UPB_INLINE uint32_t* validate_Fixed32Rules_mutable_in(validate_Fixed32Rules *msg, size_t *len) {
1939
+ UPB_INLINE uint32_t* validate_Fixed32Rules_mutable_in(validate_Fixed32Rules* msg, size_t* len) {
1389
1940
  return (uint32_t*)_upb_array_mutable_accessor(msg, UPB_SIZE(28, 32), len);
1390
1941
  }
1391
- UPB_INLINE uint32_t* validate_Fixed32Rules_resize_in(validate_Fixed32Rules *msg, size_t len, upb_Arena *arena) {
1942
+ UPB_INLINE uint32_t* validate_Fixed32Rules_resize_in(validate_Fixed32Rules* msg, size_t len, upb_Arena* arena) {
1392
1943
  return (uint32_t*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(28, 32), len, 2, arena);
1393
1944
  }
1394
- UPB_INLINE bool validate_Fixed32Rules_add_in(validate_Fixed32Rules *msg, uint32_t val, upb_Arena *arena) {
1395
- return _upb_Array_Append_accessor2(msg, UPB_SIZE(28, 32), 2, &val,
1396
- arena);
1945
+ UPB_INLINE bool validate_Fixed32Rules_add_in(validate_Fixed32Rules* msg, uint32_t val, upb_Arena* arena) {
1946
+ return _upb_Array_Append_accessor2(msg, UPB_SIZE(28, 32), 2, &val, arena);
1397
1947
  }
1398
- UPB_INLINE uint32_t* validate_Fixed32Rules_mutable_not_in(validate_Fixed32Rules *msg, size_t *len) {
1948
+ UPB_INLINE uint32_t* validate_Fixed32Rules_mutable_not_in(validate_Fixed32Rules* msg, size_t* len) {
1399
1949
  return (uint32_t*)_upb_array_mutable_accessor(msg, UPB_SIZE(32, 40), len);
1400
1950
  }
1401
- UPB_INLINE uint32_t* validate_Fixed32Rules_resize_not_in(validate_Fixed32Rules *msg, size_t len, upb_Arena *arena) {
1951
+ UPB_INLINE uint32_t* validate_Fixed32Rules_resize_not_in(validate_Fixed32Rules* msg, size_t len, upb_Arena* arena) {
1402
1952
  return (uint32_t*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(32, 40), len, 2, arena);
1403
1953
  }
1404
- UPB_INLINE bool validate_Fixed32Rules_add_not_in(validate_Fixed32Rules *msg, uint32_t val, upb_Arena *arena) {
1405
- return _upb_Array_Append_accessor2(msg, UPB_SIZE(32, 40), 2, &val,
1406
- arena);
1954
+ UPB_INLINE bool validate_Fixed32Rules_add_not_in(validate_Fixed32Rules* msg, uint32_t val, upb_Arena* arena) {
1955
+ return _upb_Array_Append_accessor2(msg, UPB_SIZE(32, 40), 2, &val, arena);
1407
1956
  }
1408
1957
  UPB_INLINE void validate_Fixed32Rules_set_ignore_empty(validate_Fixed32Rules *msg, bool value) {
1409
1958
  _upb_sethas(msg, 6);
@@ -1441,76 +1990,120 @@ UPB_INLINE char* validate_Fixed64Rules_serialize_ex(const validate_Fixed64Rules*
1441
1990
  upb_Arena* arena, size_t* len) {
1442
1991
  return upb_Encode(msg, &validate_Fixed64Rules_msginit, options, arena, len);
1443
1992
  }
1444
- UPB_INLINE bool validate_Fixed64Rules_has_const(const validate_Fixed64Rules *msg) { return _upb_hasbit(msg, 1); }
1993
+ UPB_INLINE bool validate_Fixed64Rules_has_const(const validate_Fixed64Rules* msg) {
1994
+ return _upb_hasbit(msg, 1);
1995
+ }
1996
+ UPB_INLINE void validate_Fixed64Rules_clear_const(const validate_Fixed64Rules* msg) {
1997
+ *UPB_PTR_AT(msg, UPB_SIZE(16, 24), uint64_t) = 0;
1998
+ _upb_clearhas(msg, 1);
1999
+ }
1445
2000
  UPB_INLINE uint64_t validate_Fixed64Rules_const(const validate_Fixed64Rules* msg) {
1446
- return *UPB_PTR_AT(msg, UPB_SIZE(8, 8), uint64_t);
2001
+ return *UPB_PTR_AT(msg, UPB_SIZE(16, 24), uint64_t);
2002
+ }
2003
+ UPB_INLINE bool validate_Fixed64Rules_has_lt(const validate_Fixed64Rules* msg) {
2004
+ return _upb_hasbit(msg, 2);
2005
+ }
2006
+ UPB_INLINE void validate_Fixed64Rules_clear_lt(const validate_Fixed64Rules* msg) {
2007
+ *UPB_PTR_AT(msg, UPB_SIZE(24, 32), uint64_t) = 0;
2008
+ _upb_clearhas(msg, 2);
1447
2009
  }
1448
- UPB_INLINE bool validate_Fixed64Rules_has_lt(const validate_Fixed64Rules *msg) { return _upb_hasbit(msg, 2); }
1449
2010
  UPB_INLINE uint64_t validate_Fixed64Rules_lt(const validate_Fixed64Rules* msg) {
1450
- return *UPB_PTR_AT(msg, UPB_SIZE(16, 16), uint64_t);
2011
+ return *UPB_PTR_AT(msg, UPB_SIZE(24, 32), uint64_t);
2012
+ }
2013
+ UPB_INLINE bool validate_Fixed64Rules_has_lte(const validate_Fixed64Rules* msg) {
2014
+ return _upb_hasbit(msg, 3);
2015
+ }
2016
+ UPB_INLINE void validate_Fixed64Rules_clear_lte(const validate_Fixed64Rules* msg) {
2017
+ *UPB_PTR_AT(msg, UPB_SIZE(32, 40), uint64_t) = 0;
2018
+ _upb_clearhas(msg, 3);
1451
2019
  }
1452
- UPB_INLINE bool validate_Fixed64Rules_has_lte(const validate_Fixed64Rules *msg) { return _upb_hasbit(msg, 3); }
1453
2020
  UPB_INLINE uint64_t validate_Fixed64Rules_lte(const validate_Fixed64Rules* msg) {
1454
- return *UPB_PTR_AT(msg, UPB_SIZE(24, 24), uint64_t);
2021
+ return *UPB_PTR_AT(msg, UPB_SIZE(32, 40), uint64_t);
2022
+ }
2023
+ UPB_INLINE bool validate_Fixed64Rules_has_gt(const validate_Fixed64Rules* msg) {
2024
+ return _upb_hasbit(msg, 4);
2025
+ }
2026
+ UPB_INLINE void validate_Fixed64Rules_clear_gt(const validate_Fixed64Rules* msg) {
2027
+ *UPB_PTR_AT(msg, UPB_SIZE(40, 48), uint64_t) = 0;
2028
+ _upb_clearhas(msg, 4);
1455
2029
  }
1456
- UPB_INLINE bool validate_Fixed64Rules_has_gt(const validate_Fixed64Rules *msg) { return _upb_hasbit(msg, 4); }
1457
2030
  UPB_INLINE uint64_t validate_Fixed64Rules_gt(const validate_Fixed64Rules* msg) {
1458
- return *UPB_PTR_AT(msg, UPB_SIZE(32, 32), uint64_t);
2031
+ return *UPB_PTR_AT(msg, UPB_SIZE(40, 48), uint64_t);
2032
+ }
2033
+ UPB_INLINE bool validate_Fixed64Rules_has_gte(const validate_Fixed64Rules* msg) {
2034
+ return _upb_hasbit(msg, 5);
2035
+ }
2036
+ UPB_INLINE void validate_Fixed64Rules_clear_gte(const validate_Fixed64Rules* msg) {
2037
+ *UPB_PTR_AT(msg, UPB_SIZE(48, 56), uint64_t) = 0;
2038
+ _upb_clearhas(msg, 5);
1459
2039
  }
1460
- UPB_INLINE bool validate_Fixed64Rules_has_gte(const validate_Fixed64Rules *msg) { return _upb_hasbit(msg, 5); }
1461
2040
  UPB_INLINE uint64_t validate_Fixed64Rules_gte(const validate_Fixed64Rules* msg) {
1462
- return *UPB_PTR_AT(msg, UPB_SIZE(40, 40), uint64_t);
2041
+ return *UPB_PTR_AT(msg, UPB_SIZE(48, 56), uint64_t);
2042
+ }
2043
+ UPB_INLINE void validate_Fixed64Rules_clear_in(const validate_Fixed64Rules* msg) {
2044
+ _upb_array_detach(msg, UPB_SIZE(4, 8));
2045
+ }
2046
+ UPB_INLINE uint64_t const* validate_Fixed64Rules_in(const validate_Fixed64Rules* msg, size_t* len) {
2047
+ return (uint64_t const*)_upb_array_accessor(msg, UPB_SIZE(4, 8), len);
2048
+ }
2049
+ UPB_INLINE void validate_Fixed64Rules_clear_not_in(const validate_Fixed64Rules* msg) {
2050
+ _upb_array_detach(msg, UPB_SIZE(8, 16));
2051
+ }
2052
+ UPB_INLINE uint64_t const* validate_Fixed64Rules_not_in(const validate_Fixed64Rules* msg, size_t* len) {
2053
+ return (uint64_t const*)_upb_array_accessor(msg, UPB_SIZE(8, 16), len);
2054
+ }
2055
+ UPB_INLINE bool validate_Fixed64Rules_has_ignore_empty(const validate_Fixed64Rules* msg) {
2056
+ return _upb_hasbit(msg, 6);
2057
+ }
2058
+ UPB_INLINE void validate_Fixed64Rules_clear_ignore_empty(const validate_Fixed64Rules* msg) {
2059
+ *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool) = 0;
2060
+ _upb_clearhas(msg, 6);
1463
2061
  }
1464
- UPB_INLINE uint64_t const* validate_Fixed64Rules_in(const validate_Fixed64Rules *msg, size_t *len) { return (uint64_t const*)_upb_array_accessor(msg, UPB_SIZE(52, 56), len); }
1465
- UPB_INLINE uint64_t const* validate_Fixed64Rules_not_in(const validate_Fixed64Rules *msg, size_t *len) { return (uint64_t const*)_upb_array_accessor(msg, UPB_SIZE(56, 64), len); }
1466
- UPB_INLINE bool validate_Fixed64Rules_has_ignore_empty(const validate_Fixed64Rules *msg) { return _upb_hasbit(msg, 6); }
1467
2062
  UPB_INLINE bool validate_Fixed64Rules_ignore_empty(const validate_Fixed64Rules* msg) {
1468
- return *UPB_PTR_AT(msg, UPB_SIZE(48, 48), bool);
2063
+ return *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool);
1469
2064
  }
1470
2065
 
1471
2066
  UPB_INLINE void validate_Fixed64Rules_set_const(validate_Fixed64Rules *msg, uint64_t value) {
1472
2067
  _upb_sethas(msg, 1);
1473
- *UPB_PTR_AT(msg, UPB_SIZE(8, 8), uint64_t) = value;
2068
+ *UPB_PTR_AT(msg, UPB_SIZE(16, 24), uint64_t) = value;
1474
2069
  }
1475
2070
  UPB_INLINE void validate_Fixed64Rules_set_lt(validate_Fixed64Rules *msg, uint64_t value) {
1476
2071
  _upb_sethas(msg, 2);
1477
- *UPB_PTR_AT(msg, UPB_SIZE(16, 16), uint64_t) = value;
2072
+ *UPB_PTR_AT(msg, UPB_SIZE(24, 32), uint64_t) = value;
1478
2073
  }
1479
2074
  UPB_INLINE void validate_Fixed64Rules_set_lte(validate_Fixed64Rules *msg, uint64_t value) {
1480
2075
  _upb_sethas(msg, 3);
1481
- *UPB_PTR_AT(msg, UPB_SIZE(24, 24), uint64_t) = value;
2076
+ *UPB_PTR_AT(msg, UPB_SIZE(32, 40), uint64_t) = value;
1482
2077
  }
1483
2078
  UPB_INLINE void validate_Fixed64Rules_set_gt(validate_Fixed64Rules *msg, uint64_t value) {
1484
2079
  _upb_sethas(msg, 4);
1485
- *UPB_PTR_AT(msg, UPB_SIZE(32, 32), uint64_t) = value;
2080
+ *UPB_PTR_AT(msg, UPB_SIZE(40, 48), uint64_t) = value;
1486
2081
  }
1487
2082
  UPB_INLINE void validate_Fixed64Rules_set_gte(validate_Fixed64Rules *msg, uint64_t value) {
1488
2083
  _upb_sethas(msg, 5);
1489
- *UPB_PTR_AT(msg, UPB_SIZE(40, 40), uint64_t) = value;
2084
+ *UPB_PTR_AT(msg, UPB_SIZE(48, 56), uint64_t) = value;
1490
2085
  }
1491
- UPB_INLINE uint64_t* validate_Fixed64Rules_mutable_in(validate_Fixed64Rules *msg, size_t *len) {
1492
- return (uint64_t*)_upb_array_mutable_accessor(msg, UPB_SIZE(52, 56), len);
2086
+ UPB_INLINE uint64_t* validate_Fixed64Rules_mutable_in(validate_Fixed64Rules* msg, size_t* len) {
2087
+ return (uint64_t*)_upb_array_mutable_accessor(msg, UPB_SIZE(4, 8), len);
1493
2088
  }
1494
- UPB_INLINE uint64_t* validate_Fixed64Rules_resize_in(validate_Fixed64Rules *msg, size_t len, upb_Arena *arena) {
1495
- return (uint64_t*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(52, 56), len, 3, arena);
2089
+ UPB_INLINE uint64_t* validate_Fixed64Rules_resize_in(validate_Fixed64Rules* msg, size_t len, upb_Arena* arena) {
2090
+ return (uint64_t*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(4, 8), len, 3, arena);
1496
2091
  }
1497
- UPB_INLINE bool validate_Fixed64Rules_add_in(validate_Fixed64Rules *msg, uint64_t val, upb_Arena *arena) {
1498
- return _upb_Array_Append_accessor2(msg, UPB_SIZE(52, 56), 3, &val,
1499
- arena);
2092
+ UPB_INLINE bool validate_Fixed64Rules_add_in(validate_Fixed64Rules* msg, uint64_t val, upb_Arena* arena) {
2093
+ return _upb_Array_Append_accessor2(msg, UPB_SIZE(4, 8), 3, &val, arena);
1500
2094
  }
1501
- UPB_INLINE uint64_t* validate_Fixed64Rules_mutable_not_in(validate_Fixed64Rules *msg, size_t *len) {
1502
- return (uint64_t*)_upb_array_mutable_accessor(msg, UPB_SIZE(56, 64), len);
2095
+ UPB_INLINE uint64_t* validate_Fixed64Rules_mutable_not_in(validate_Fixed64Rules* msg, size_t* len) {
2096
+ return (uint64_t*)_upb_array_mutable_accessor(msg, UPB_SIZE(8, 16), len);
1503
2097
  }
1504
- UPB_INLINE uint64_t* validate_Fixed64Rules_resize_not_in(validate_Fixed64Rules *msg, size_t len, upb_Arena *arena) {
1505
- return (uint64_t*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(56, 64), len, 3, arena);
2098
+ UPB_INLINE uint64_t* validate_Fixed64Rules_resize_not_in(validate_Fixed64Rules* msg, size_t len, upb_Arena* arena) {
2099
+ return (uint64_t*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(8, 16), len, 3, arena);
1506
2100
  }
1507
- UPB_INLINE bool validate_Fixed64Rules_add_not_in(validate_Fixed64Rules *msg, uint64_t val, upb_Arena *arena) {
1508
- return _upb_Array_Append_accessor2(msg, UPB_SIZE(56, 64), 3, &val,
1509
- arena);
2101
+ UPB_INLINE bool validate_Fixed64Rules_add_not_in(validate_Fixed64Rules* msg, uint64_t val, upb_Arena* arena) {
2102
+ return _upb_Array_Append_accessor2(msg, UPB_SIZE(8, 16), 3, &val, arena);
1510
2103
  }
1511
2104
  UPB_INLINE void validate_Fixed64Rules_set_ignore_empty(validate_Fixed64Rules *msg, bool value) {
1512
2105
  _upb_sethas(msg, 6);
1513
- *UPB_PTR_AT(msg, UPB_SIZE(48, 48), bool) = value;
2106
+ *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool) = value;
1514
2107
  }
1515
2108
 
1516
2109
  /* validate.SFixed32Rules */
@@ -1544,29 +2137,75 @@ UPB_INLINE char* validate_SFixed32Rules_serialize_ex(const validate_SFixed32Rule
1544
2137
  upb_Arena* arena, size_t* len) {
1545
2138
  return upb_Encode(msg, &validate_SFixed32Rules_msginit, options, arena, len);
1546
2139
  }
1547
- UPB_INLINE bool validate_SFixed32Rules_has_const(const validate_SFixed32Rules *msg) { return _upb_hasbit(msg, 1); }
2140
+ UPB_INLINE bool validate_SFixed32Rules_has_const(const validate_SFixed32Rules* msg) {
2141
+ return _upb_hasbit(msg, 1);
2142
+ }
2143
+ UPB_INLINE void validate_SFixed32Rules_clear_const(const validate_SFixed32Rules* msg) {
2144
+ *UPB_PTR_AT(msg, UPB_SIZE(4, 4), int32_t) = 0;
2145
+ _upb_clearhas(msg, 1);
2146
+ }
1548
2147
  UPB_INLINE int32_t validate_SFixed32Rules_const(const validate_SFixed32Rules* msg) {
1549
2148
  return *UPB_PTR_AT(msg, UPB_SIZE(4, 4), int32_t);
1550
2149
  }
1551
- UPB_INLINE bool validate_SFixed32Rules_has_lt(const validate_SFixed32Rules *msg) { return _upb_hasbit(msg, 2); }
2150
+ UPB_INLINE bool validate_SFixed32Rules_has_lt(const validate_SFixed32Rules* msg) {
2151
+ return _upb_hasbit(msg, 2);
2152
+ }
2153
+ UPB_INLINE void validate_SFixed32Rules_clear_lt(const validate_SFixed32Rules* msg) {
2154
+ *UPB_PTR_AT(msg, UPB_SIZE(8, 8), int32_t) = 0;
2155
+ _upb_clearhas(msg, 2);
2156
+ }
1552
2157
  UPB_INLINE int32_t validate_SFixed32Rules_lt(const validate_SFixed32Rules* msg) {
1553
2158
  return *UPB_PTR_AT(msg, UPB_SIZE(8, 8), int32_t);
1554
2159
  }
1555
- UPB_INLINE bool validate_SFixed32Rules_has_lte(const validate_SFixed32Rules *msg) { return _upb_hasbit(msg, 3); }
2160
+ UPB_INLINE bool validate_SFixed32Rules_has_lte(const validate_SFixed32Rules* msg) {
2161
+ return _upb_hasbit(msg, 3);
2162
+ }
2163
+ UPB_INLINE void validate_SFixed32Rules_clear_lte(const validate_SFixed32Rules* msg) {
2164
+ *UPB_PTR_AT(msg, UPB_SIZE(12, 12), int32_t) = 0;
2165
+ _upb_clearhas(msg, 3);
2166
+ }
1556
2167
  UPB_INLINE int32_t validate_SFixed32Rules_lte(const validate_SFixed32Rules* msg) {
1557
2168
  return *UPB_PTR_AT(msg, UPB_SIZE(12, 12), int32_t);
1558
2169
  }
1559
- UPB_INLINE bool validate_SFixed32Rules_has_gt(const validate_SFixed32Rules *msg) { return _upb_hasbit(msg, 4); }
2170
+ UPB_INLINE bool validate_SFixed32Rules_has_gt(const validate_SFixed32Rules* msg) {
2171
+ return _upb_hasbit(msg, 4);
2172
+ }
2173
+ UPB_INLINE void validate_SFixed32Rules_clear_gt(const validate_SFixed32Rules* msg) {
2174
+ *UPB_PTR_AT(msg, UPB_SIZE(16, 16), int32_t) = 0;
2175
+ _upb_clearhas(msg, 4);
2176
+ }
1560
2177
  UPB_INLINE int32_t validate_SFixed32Rules_gt(const validate_SFixed32Rules* msg) {
1561
2178
  return *UPB_PTR_AT(msg, UPB_SIZE(16, 16), int32_t);
1562
2179
  }
1563
- UPB_INLINE bool validate_SFixed32Rules_has_gte(const validate_SFixed32Rules *msg) { return _upb_hasbit(msg, 5); }
2180
+ UPB_INLINE bool validate_SFixed32Rules_has_gte(const validate_SFixed32Rules* msg) {
2181
+ return _upb_hasbit(msg, 5);
2182
+ }
2183
+ UPB_INLINE void validate_SFixed32Rules_clear_gte(const validate_SFixed32Rules* msg) {
2184
+ *UPB_PTR_AT(msg, UPB_SIZE(20, 20), int32_t) = 0;
2185
+ _upb_clearhas(msg, 5);
2186
+ }
1564
2187
  UPB_INLINE int32_t validate_SFixed32Rules_gte(const validate_SFixed32Rules* msg) {
1565
2188
  return *UPB_PTR_AT(msg, UPB_SIZE(20, 20), int32_t);
1566
2189
  }
1567
- UPB_INLINE int32_t const* validate_SFixed32Rules_in(const validate_SFixed32Rules *msg, size_t *len) { return (int32_t const*)_upb_array_accessor(msg, UPB_SIZE(28, 32), len); }
1568
- UPB_INLINE int32_t const* validate_SFixed32Rules_not_in(const validate_SFixed32Rules *msg, size_t *len) { return (int32_t const*)_upb_array_accessor(msg, UPB_SIZE(32, 40), len); }
1569
- UPB_INLINE bool validate_SFixed32Rules_has_ignore_empty(const validate_SFixed32Rules *msg) { return _upb_hasbit(msg, 6); }
2190
+ UPB_INLINE void validate_SFixed32Rules_clear_in(const validate_SFixed32Rules* msg) {
2191
+ _upb_array_detach(msg, UPB_SIZE(28, 32));
2192
+ }
2193
+ UPB_INLINE int32_t const* validate_SFixed32Rules_in(const validate_SFixed32Rules* msg, size_t* len) {
2194
+ return (int32_t const*)_upb_array_accessor(msg, UPB_SIZE(28, 32), len);
2195
+ }
2196
+ UPB_INLINE void validate_SFixed32Rules_clear_not_in(const validate_SFixed32Rules* msg) {
2197
+ _upb_array_detach(msg, UPB_SIZE(32, 40));
2198
+ }
2199
+ UPB_INLINE int32_t const* validate_SFixed32Rules_not_in(const validate_SFixed32Rules* msg, size_t* len) {
2200
+ return (int32_t const*)_upb_array_accessor(msg, UPB_SIZE(32, 40), len);
2201
+ }
2202
+ UPB_INLINE bool validate_SFixed32Rules_has_ignore_empty(const validate_SFixed32Rules* msg) {
2203
+ return _upb_hasbit(msg, 6);
2204
+ }
2205
+ UPB_INLINE void validate_SFixed32Rules_clear_ignore_empty(const validate_SFixed32Rules* msg) {
2206
+ *UPB_PTR_AT(msg, UPB_SIZE(24, 24), bool) = 0;
2207
+ _upb_clearhas(msg, 6);
2208
+ }
1570
2209
  UPB_INLINE bool validate_SFixed32Rules_ignore_empty(const validate_SFixed32Rules* msg) {
1571
2210
  return *UPB_PTR_AT(msg, UPB_SIZE(24, 24), bool);
1572
2211
  }
@@ -1591,25 +2230,23 @@ UPB_INLINE void validate_SFixed32Rules_set_gte(validate_SFixed32Rules *msg, int3
1591
2230
  _upb_sethas(msg, 5);
1592
2231
  *UPB_PTR_AT(msg, UPB_SIZE(20, 20), int32_t) = value;
1593
2232
  }
1594
- UPB_INLINE int32_t* validate_SFixed32Rules_mutable_in(validate_SFixed32Rules *msg, size_t *len) {
2233
+ UPB_INLINE int32_t* validate_SFixed32Rules_mutable_in(validate_SFixed32Rules* msg, size_t* len) {
1595
2234
  return (int32_t*)_upb_array_mutable_accessor(msg, UPB_SIZE(28, 32), len);
1596
2235
  }
1597
- UPB_INLINE int32_t* validate_SFixed32Rules_resize_in(validate_SFixed32Rules *msg, size_t len, upb_Arena *arena) {
2236
+ UPB_INLINE int32_t* validate_SFixed32Rules_resize_in(validate_SFixed32Rules* msg, size_t len, upb_Arena* arena) {
1598
2237
  return (int32_t*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(28, 32), len, 2, arena);
1599
2238
  }
1600
- UPB_INLINE bool validate_SFixed32Rules_add_in(validate_SFixed32Rules *msg, int32_t val, upb_Arena *arena) {
1601
- return _upb_Array_Append_accessor2(msg, UPB_SIZE(28, 32), 2, &val,
1602
- arena);
2239
+ UPB_INLINE bool validate_SFixed32Rules_add_in(validate_SFixed32Rules* msg, int32_t val, upb_Arena* arena) {
2240
+ return _upb_Array_Append_accessor2(msg, UPB_SIZE(28, 32), 2, &val, arena);
1603
2241
  }
1604
- UPB_INLINE int32_t* validate_SFixed32Rules_mutable_not_in(validate_SFixed32Rules *msg, size_t *len) {
2242
+ UPB_INLINE int32_t* validate_SFixed32Rules_mutable_not_in(validate_SFixed32Rules* msg, size_t* len) {
1605
2243
  return (int32_t*)_upb_array_mutable_accessor(msg, UPB_SIZE(32, 40), len);
1606
2244
  }
1607
- UPB_INLINE int32_t* validate_SFixed32Rules_resize_not_in(validate_SFixed32Rules *msg, size_t len, upb_Arena *arena) {
2245
+ UPB_INLINE int32_t* validate_SFixed32Rules_resize_not_in(validate_SFixed32Rules* msg, size_t len, upb_Arena* arena) {
1608
2246
  return (int32_t*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(32, 40), len, 2, arena);
1609
2247
  }
1610
- UPB_INLINE bool validate_SFixed32Rules_add_not_in(validate_SFixed32Rules *msg, int32_t val, upb_Arena *arena) {
1611
- return _upb_Array_Append_accessor2(msg, UPB_SIZE(32, 40), 2, &val,
1612
- arena);
2248
+ UPB_INLINE bool validate_SFixed32Rules_add_not_in(validate_SFixed32Rules* msg, int32_t val, upb_Arena* arena) {
2249
+ return _upb_Array_Append_accessor2(msg, UPB_SIZE(32, 40), 2, &val, arena);
1613
2250
  }
1614
2251
  UPB_INLINE void validate_SFixed32Rules_set_ignore_empty(validate_SFixed32Rules *msg, bool value) {
1615
2252
  _upb_sethas(msg, 6);
@@ -1647,76 +2284,120 @@ UPB_INLINE char* validate_SFixed64Rules_serialize_ex(const validate_SFixed64Rule
1647
2284
  upb_Arena* arena, size_t* len) {
1648
2285
  return upb_Encode(msg, &validate_SFixed64Rules_msginit, options, arena, len);
1649
2286
  }
1650
- UPB_INLINE bool validate_SFixed64Rules_has_const(const validate_SFixed64Rules *msg) { return _upb_hasbit(msg, 1); }
2287
+ UPB_INLINE bool validate_SFixed64Rules_has_const(const validate_SFixed64Rules* msg) {
2288
+ return _upb_hasbit(msg, 1);
2289
+ }
2290
+ UPB_INLINE void validate_SFixed64Rules_clear_const(const validate_SFixed64Rules* msg) {
2291
+ *UPB_PTR_AT(msg, UPB_SIZE(16, 24), int64_t) = 0;
2292
+ _upb_clearhas(msg, 1);
2293
+ }
1651
2294
  UPB_INLINE int64_t validate_SFixed64Rules_const(const validate_SFixed64Rules* msg) {
1652
- return *UPB_PTR_AT(msg, UPB_SIZE(8, 8), int64_t);
2295
+ return *UPB_PTR_AT(msg, UPB_SIZE(16, 24), int64_t);
2296
+ }
2297
+ UPB_INLINE bool validate_SFixed64Rules_has_lt(const validate_SFixed64Rules* msg) {
2298
+ return _upb_hasbit(msg, 2);
2299
+ }
2300
+ UPB_INLINE void validate_SFixed64Rules_clear_lt(const validate_SFixed64Rules* msg) {
2301
+ *UPB_PTR_AT(msg, UPB_SIZE(24, 32), int64_t) = 0;
2302
+ _upb_clearhas(msg, 2);
1653
2303
  }
1654
- UPB_INLINE bool validate_SFixed64Rules_has_lt(const validate_SFixed64Rules *msg) { return _upb_hasbit(msg, 2); }
1655
2304
  UPB_INLINE int64_t validate_SFixed64Rules_lt(const validate_SFixed64Rules* msg) {
1656
- return *UPB_PTR_AT(msg, UPB_SIZE(16, 16), int64_t);
2305
+ return *UPB_PTR_AT(msg, UPB_SIZE(24, 32), int64_t);
2306
+ }
2307
+ UPB_INLINE bool validate_SFixed64Rules_has_lte(const validate_SFixed64Rules* msg) {
2308
+ return _upb_hasbit(msg, 3);
2309
+ }
2310
+ UPB_INLINE void validate_SFixed64Rules_clear_lte(const validate_SFixed64Rules* msg) {
2311
+ *UPB_PTR_AT(msg, UPB_SIZE(32, 40), int64_t) = 0;
2312
+ _upb_clearhas(msg, 3);
1657
2313
  }
1658
- UPB_INLINE bool validate_SFixed64Rules_has_lte(const validate_SFixed64Rules *msg) { return _upb_hasbit(msg, 3); }
1659
2314
  UPB_INLINE int64_t validate_SFixed64Rules_lte(const validate_SFixed64Rules* msg) {
1660
- return *UPB_PTR_AT(msg, UPB_SIZE(24, 24), int64_t);
2315
+ return *UPB_PTR_AT(msg, UPB_SIZE(32, 40), int64_t);
2316
+ }
2317
+ UPB_INLINE bool validate_SFixed64Rules_has_gt(const validate_SFixed64Rules* msg) {
2318
+ return _upb_hasbit(msg, 4);
2319
+ }
2320
+ UPB_INLINE void validate_SFixed64Rules_clear_gt(const validate_SFixed64Rules* msg) {
2321
+ *UPB_PTR_AT(msg, UPB_SIZE(40, 48), int64_t) = 0;
2322
+ _upb_clearhas(msg, 4);
1661
2323
  }
1662
- UPB_INLINE bool validate_SFixed64Rules_has_gt(const validate_SFixed64Rules *msg) { return _upb_hasbit(msg, 4); }
1663
2324
  UPB_INLINE int64_t validate_SFixed64Rules_gt(const validate_SFixed64Rules* msg) {
1664
- return *UPB_PTR_AT(msg, UPB_SIZE(32, 32), int64_t);
2325
+ return *UPB_PTR_AT(msg, UPB_SIZE(40, 48), int64_t);
2326
+ }
2327
+ UPB_INLINE bool validate_SFixed64Rules_has_gte(const validate_SFixed64Rules* msg) {
2328
+ return _upb_hasbit(msg, 5);
2329
+ }
2330
+ UPB_INLINE void validate_SFixed64Rules_clear_gte(const validate_SFixed64Rules* msg) {
2331
+ *UPB_PTR_AT(msg, UPB_SIZE(48, 56), int64_t) = 0;
2332
+ _upb_clearhas(msg, 5);
1665
2333
  }
1666
- UPB_INLINE bool validate_SFixed64Rules_has_gte(const validate_SFixed64Rules *msg) { return _upb_hasbit(msg, 5); }
1667
2334
  UPB_INLINE int64_t validate_SFixed64Rules_gte(const validate_SFixed64Rules* msg) {
1668
- return *UPB_PTR_AT(msg, UPB_SIZE(40, 40), int64_t);
2335
+ return *UPB_PTR_AT(msg, UPB_SIZE(48, 56), int64_t);
2336
+ }
2337
+ UPB_INLINE void validate_SFixed64Rules_clear_in(const validate_SFixed64Rules* msg) {
2338
+ _upb_array_detach(msg, UPB_SIZE(4, 8));
2339
+ }
2340
+ UPB_INLINE int64_t const* validate_SFixed64Rules_in(const validate_SFixed64Rules* msg, size_t* len) {
2341
+ return (int64_t const*)_upb_array_accessor(msg, UPB_SIZE(4, 8), len);
2342
+ }
2343
+ UPB_INLINE void validate_SFixed64Rules_clear_not_in(const validate_SFixed64Rules* msg) {
2344
+ _upb_array_detach(msg, UPB_SIZE(8, 16));
2345
+ }
2346
+ UPB_INLINE int64_t const* validate_SFixed64Rules_not_in(const validate_SFixed64Rules* msg, size_t* len) {
2347
+ return (int64_t const*)_upb_array_accessor(msg, UPB_SIZE(8, 16), len);
2348
+ }
2349
+ UPB_INLINE bool validate_SFixed64Rules_has_ignore_empty(const validate_SFixed64Rules* msg) {
2350
+ return _upb_hasbit(msg, 6);
2351
+ }
2352
+ UPB_INLINE void validate_SFixed64Rules_clear_ignore_empty(const validate_SFixed64Rules* msg) {
2353
+ *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool) = 0;
2354
+ _upb_clearhas(msg, 6);
1669
2355
  }
1670
- UPB_INLINE int64_t const* validate_SFixed64Rules_in(const validate_SFixed64Rules *msg, size_t *len) { return (int64_t const*)_upb_array_accessor(msg, UPB_SIZE(52, 56), len); }
1671
- UPB_INLINE int64_t const* validate_SFixed64Rules_not_in(const validate_SFixed64Rules *msg, size_t *len) { return (int64_t const*)_upb_array_accessor(msg, UPB_SIZE(56, 64), len); }
1672
- UPB_INLINE bool validate_SFixed64Rules_has_ignore_empty(const validate_SFixed64Rules *msg) { return _upb_hasbit(msg, 6); }
1673
2356
  UPB_INLINE bool validate_SFixed64Rules_ignore_empty(const validate_SFixed64Rules* msg) {
1674
- return *UPB_PTR_AT(msg, UPB_SIZE(48, 48), bool);
2357
+ return *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool);
1675
2358
  }
1676
2359
 
1677
2360
  UPB_INLINE void validate_SFixed64Rules_set_const(validate_SFixed64Rules *msg, int64_t value) {
1678
2361
  _upb_sethas(msg, 1);
1679
- *UPB_PTR_AT(msg, UPB_SIZE(8, 8), int64_t) = value;
2362
+ *UPB_PTR_AT(msg, UPB_SIZE(16, 24), int64_t) = value;
1680
2363
  }
1681
2364
  UPB_INLINE void validate_SFixed64Rules_set_lt(validate_SFixed64Rules *msg, int64_t value) {
1682
2365
  _upb_sethas(msg, 2);
1683
- *UPB_PTR_AT(msg, UPB_SIZE(16, 16), int64_t) = value;
2366
+ *UPB_PTR_AT(msg, UPB_SIZE(24, 32), int64_t) = value;
1684
2367
  }
1685
2368
  UPB_INLINE void validate_SFixed64Rules_set_lte(validate_SFixed64Rules *msg, int64_t value) {
1686
2369
  _upb_sethas(msg, 3);
1687
- *UPB_PTR_AT(msg, UPB_SIZE(24, 24), int64_t) = value;
2370
+ *UPB_PTR_AT(msg, UPB_SIZE(32, 40), int64_t) = value;
1688
2371
  }
1689
2372
  UPB_INLINE void validate_SFixed64Rules_set_gt(validate_SFixed64Rules *msg, int64_t value) {
1690
2373
  _upb_sethas(msg, 4);
1691
- *UPB_PTR_AT(msg, UPB_SIZE(32, 32), int64_t) = value;
2374
+ *UPB_PTR_AT(msg, UPB_SIZE(40, 48), int64_t) = value;
1692
2375
  }
1693
2376
  UPB_INLINE void validate_SFixed64Rules_set_gte(validate_SFixed64Rules *msg, int64_t value) {
1694
2377
  _upb_sethas(msg, 5);
1695
- *UPB_PTR_AT(msg, UPB_SIZE(40, 40), int64_t) = value;
2378
+ *UPB_PTR_AT(msg, UPB_SIZE(48, 56), int64_t) = value;
1696
2379
  }
1697
- UPB_INLINE int64_t* validate_SFixed64Rules_mutable_in(validate_SFixed64Rules *msg, size_t *len) {
1698
- return (int64_t*)_upb_array_mutable_accessor(msg, UPB_SIZE(52, 56), len);
2380
+ UPB_INLINE int64_t* validate_SFixed64Rules_mutable_in(validate_SFixed64Rules* msg, size_t* len) {
2381
+ return (int64_t*)_upb_array_mutable_accessor(msg, UPB_SIZE(4, 8), len);
1699
2382
  }
1700
- UPB_INLINE int64_t* validate_SFixed64Rules_resize_in(validate_SFixed64Rules *msg, size_t len, upb_Arena *arena) {
1701
- return (int64_t*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(52, 56), len, 3, arena);
2383
+ UPB_INLINE int64_t* validate_SFixed64Rules_resize_in(validate_SFixed64Rules* msg, size_t len, upb_Arena* arena) {
2384
+ return (int64_t*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(4, 8), len, 3, arena);
1702
2385
  }
1703
- UPB_INLINE bool validate_SFixed64Rules_add_in(validate_SFixed64Rules *msg, int64_t val, upb_Arena *arena) {
1704
- return _upb_Array_Append_accessor2(msg, UPB_SIZE(52, 56), 3, &val,
1705
- arena);
2386
+ UPB_INLINE bool validate_SFixed64Rules_add_in(validate_SFixed64Rules* msg, int64_t val, upb_Arena* arena) {
2387
+ return _upb_Array_Append_accessor2(msg, UPB_SIZE(4, 8), 3, &val, arena);
1706
2388
  }
1707
- UPB_INLINE int64_t* validate_SFixed64Rules_mutable_not_in(validate_SFixed64Rules *msg, size_t *len) {
1708
- return (int64_t*)_upb_array_mutable_accessor(msg, UPB_SIZE(56, 64), len);
2389
+ UPB_INLINE int64_t* validate_SFixed64Rules_mutable_not_in(validate_SFixed64Rules* msg, size_t* len) {
2390
+ return (int64_t*)_upb_array_mutable_accessor(msg, UPB_SIZE(8, 16), len);
1709
2391
  }
1710
- UPB_INLINE int64_t* validate_SFixed64Rules_resize_not_in(validate_SFixed64Rules *msg, size_t len, upb_Arena *arena) {
1711
- return (int64_t*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(56, 64), len, 3, arena);
2392
+ UPB_INLINE int64_t* validate_SFixed64Rules_resize_not_in(validate_SFixed64Rules* msg, size_t len, upb_Arena* arena) {
2393
+ return (int64_t*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(8, 16), len, 3, arena);
1712
2394
  }
1713
- UPB_INLINE bool validate_SFixed64Rules_add_not_in(validate_SFixed64Rules *msg, int64_t val, upb_Arena *arena) {
1714
- return _upb_Array_Append_accessor2(msg, UPB_SIZE(56, 64), 3, &val,
1715
- arena);
2395
+ UPB_INLINE bool validate_SFixed64Rules_add_not_in(validate_SFixed64Rules* msg, int64_t val, upb_Arena* arena) {
2396
+ return _upb_Array_Append_accessor2(msg, UPB_SIZE(8, 16), 3, &val, arena);
1716
2397
  }
1717
2398
  UPB_INLINE void validate_SFixed64Rules_set_ignore_empty(validate_SFixed64Rules *msg, bool value) {
1718
2399
  _upb_sethas(msg, 6);
1719
- *UPB_PTR_AT(msg, UPB_SIZE(48, 48), bool) = value;
2400
+ *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool) = value;
1720
2401
  }
1721
2402
 
1722
2403
  /* validate.BoolRules */
@@ -1750,7 +2431,13 @@ UPB_INLINE char* validate_BoolRules_serialize_ex(const validate_BoolRules* msg,
1750
2431
  upb_Arena* arena, size_t* len) {
1751
2432
  return upb_Encode(msg, &validate_BoolRules_msginit, options, arena, len);
1752
2433
  }
1753
- UPB_INLINE bool validate_BoolRules_has_const(const validate_BoolRules *msg) { return _upb_hasbit(msg, 1); }
2434
+ UPB_INLINE bool validate_BoolRules_has_const(const validate_BoolRules* msg) {
2435
+ return _upb_hasbit(msg, 1);
2436
+ }
2437
+ UPB_INLINE void validate_BoolRules_clear_const(const validate_BoolRules* msg) {
2438
+ *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool) = 0;
2439
+ _upb_clearhas(msg, 1);
2440
+ }
1754
2441
  UPB_INLINE bool validate_BoolRules_const(const validate_BoolRules* msg) {
1755
2442
  return *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool);
1756
2443
  }
@@ -1804,192 +2491,355 @@ typedef enum {
1804
2491
  validate_StringRules_well_known_well_known_regex = 24,
1805
2492
  validate_StringRules_well_known_NOT_SET = 0
1806
2493
  } validate_StringRules_well_known_oneofcases;
1807
- UPB_INLINE validate_StringRules_well_known_oneofcases validate_StringRules_well_known_case(const validate_StringRules* msg) { return (validate_StringRules_well_known_oneofcases)*UPB_PTR_AT(msg, UPB_SIZE(120, 180), int32_t); }
1808
-
1809
- UPB_INLINE bool validate_StringRules_has_const(const validate_StringRules *msg) { return _upb_hasbit(msg, 1); }
2494
+ UPB_INLINE validate_StringRules_well_known_oneofcases validate_StringRules_well_known_case(const validate_StringRules* msg) {
2495
+ return (validate_StringRules_well_known_oneofcases)*UPB_PTR_AT(msg, UPB_SIZE(4, 4), int32_t);
2496
+ }
2497
+ UPB_INLINE bool validate_StringRules_has_const(const validate_StringRules* msg) {
2498
+ return _upb_hasbit(msg, 1);
2499
+ }
2500
+ UPB_INLINE void validate_StringRules_clear_const(const validate_StringRules* msg) {
2501
+ *UPB_PTR_AT(msg, UPB_SIZE(16, 16), upb_StringView) = upb_StringView_FromDataAndSize(NULL, 0);
2502
+ _upb_clearhas(msg, 1);
2503
+ }
1810
2504
  UPB_INLINE upb_StringView validate_StringRules_const(const validate_StringRules* msg) {
1811
- return *UPB_PTR_AT(msg, UPB_SIZE(60, 64), upb_StringView);
2505
+ return *UPB_PTR_AT(msg, UPB_SIZE(16, 16), upb_StringView);
2506
+ }
2507
+ UPB_INLINE bool validate_StringRules_has_min_len(const validate_StringRules* msg) {
2508
+ return _upb_hasbit(msg, 2);
2509
+ }
2510
+ UPB_INLINE void validate_StringRules_clear_min_len(const validate_StringRules* msg) {
2511
+ *UPB_PTR_AT(msg, UPB_SIZE(72, 128), uint64_t) = 0;
2512
+ _upb_clearhas(msg, 2);
1812
2513
  }
1813
- UPB_INLINE bool validate_StringRules_has_min_len(const validate_StringRules *msg) { return _upb_hasbit(msg, 2); }
1814
2514
  UPB_INLINE uint64_t validate_StringRules_min_len(const validate_StringRules* msg) {
1815
- return *UPB_PTR_AT(msg, UPB_SIZE(8, 8), uint64_t);
2515
+ return *UPB_PTR_AT(msg, UPB_SIZE(72, 128), uint64_t);
2516
+ }
2517
+ UPB_INLINE bool validate_StringRules_has_max_len(const validate_StringRules* msg) {
2518
+ return _upb_hasbit(msg, 3);
2519
+ }
2520
+ UPB_INLINE void validate_StringRules_clear_max_len(const validate_StringRules* msg) {
2521
+ *UPB_PTR_AT(msg, UPB_SIZE(80, 136), uint64_t) = 0;
2522
+ _upb_clearhas(msg, 3);
1816
2523
  }
1817
- UPB_INLINE bool validate_StringRules_has_max_len(const validate_StringRules *msg) { return _upb_hasbit(msg, 3); }
1818
2524
  UPB_INLINE uint64_t validate_StringRules_max_len(const validate_StringRules* msg) {
1819
- return *UPB_PTR_AT(msg, UPB_SIZE(16, 16), uint64_t);
2525
+ return *UPB_PTR_AT(msg, UPB_SIZE(80, 136), uint64_t);
2526
+ }
2527
+ UPB_INLINE bool validate_StringRules_has_min_bytes(const validate_StringRules* msg) {
2528
+ return _upb_hasbit(msg, 4);
2529
+ }
2530
+ UPB_INLINE void validate_StringRules_clear_min_bytes(const validate_StringRules* msg) {
2531
+ *UPB_PTR_AT(msg, UPB_SIZE(88, 144), uint64_t) = 0;
2532
+ _upb_clearhas(msg, 4);
1820
2533
  }
1821
- UPB_INLINE bool validate_StringRules_has_min_bytes(const validate_StringRules *msg) { return _upb_hasbit(msg, 4); }
1822
2534
  UPB_INLINE uint64_t validate_StringRules_min_bytes(const validate_StringRules* msg) {
1823
- return *UPB_PTR_AT(msg, UPB_SIZE(24, 24), uint64_t);
2535
+ return *UPB_PTR_AT(msg, UPB_SIZE(88, 144), uint64_t);
2536
+ }
2537
+ UPB_INLINE bool validate_StringRules_has_max_bytes(const validate_StringRules* msg) {
2538
+ return _upb_hasbit(msg, 5);
2539
+ }
2540
+ UPB_INLINE void validate_StringRules_clear_max_bytes(const validate_StringRules* msg) {
2541
+ *UPB_PTR_AT(msg, UPB_SIZE(96, 152), uint64_t) = 0;
2542
+ _upb_clearhas(msg, 5);
1824
2543
  }
1825
- UPB_INLINE bool validate_StringRules_has_max_bytes(const validate_StringRules *msg) { return _upb_hasbit(msg, 5); }
1826
2544
  UPB_INLINE uint64_t validate_StringRules_max_bytes(const validate_StringRules* msg) {
1827
- return *UPB_PTR_AT(msg, UPB_SIZE(32, 32), uint64_t);
2545
+ return *UPB_PTR_AT(msg, UPB_SIZE(96, 152), uint64_t);
2546
+ }
2547
+ UPB_INLINE bool validate_StringRules_has_pattern(const validate_StringRules* msg) {
2548
+ return _upb_hasbit(msg, 6);
2549
+ }
2550
+ UPB_INLINE void validate_StringRules_clear_pattern(const validate_StringRules* msg) {
2551
+ *UPB_PTR_AT(msg, UPB_SIZE(24, 32), upb_StringView) = upb_StringView_FromDataAndSize(NULL, 0);
2552
+ _upb_clearhas(msg, 6);
1828
2553
  }
1829
- UPB_INLINE bool validate_StringRules_has_pattern(const validate_StringRules *msg) { return _upb_hasbit(msg, 6); }
1830
2554
  UPB_INLINE upb_StringView validate_StringRules_pattern(const validate_StringRules* msg) {
1831
- return *UPB_PTR_AT(msg, UPB_SIZE(68, 80), upb_StringView);
2555
+ return *UPB_PTR_AT(msg, UPB_SIZE(24, 32), upb_StringView);
2556
+ }
2557
+ UPB_INLINE bool validate_StringRules_has_prefix(const validate_StringRules* msg) {
2558
+ return _upb_hasbit(msg, 7);
2559
+ }
2560
+ UPB_INLINE void validate_StringRules_clear_prefix(const validate_StringRules* msg) {
2561
+ *UPB_PTR_AT(msg, UPB_SIZE(32, 48), upb_StringView) = upb_StringView_FromDataAndSize(NULL, 0);
2562
+ _upb_clearhas(msg, 7);
1832
2563
  }
1833
- UPB_INLINE bool validate_StringRules_has_prefix(const validate_StringRules *msg) { return _upb_hasbit(msg, 7); }
1834
2564
  UPB_INLINE upb_StringView validate_StringRules_prefix(const validate_StringRules* msg) {
1835
- return *UPB_PTR_AT(msg, UPB_SIZE(76, 96), upb_StringView);
2565
+ return *UPB_PTR_AT(msg, UPB_SIZE(32, 48), upb_StringView);
2566
+ }
2567
+ UPB_INLINE bool validate_StringRules_has_suffix(const validate_StringRules* msg) {
2568
+ return _upb_hasbit(msg, 8);
2569
+ }
2570
+ UPB_INLINE void validate_StringRules_clear_suffix(const validate_StringRules* msg) {
2571
+ *UPB_PTR_AT(msg, UPB_SIZE(40, 64), upb_StringView) = upb_StringView_FromDataAndSize(NULL, 0);
2572
+ _upb_clearhas(msg, 8);
1836
2573
  }
1837
- UPB_INLINE bool validate_StringRules_has_suffix(const validate_StringRules *msg) { return _upb_hasbit(msg, 8); }
1838
2574
  UPB_INLINE upb_StringView validate_StringRules_suffix(const validate_StringRules* msg) {
1839
- return *UPB_PTR_AT(msg, UPB_SIZE(84, 112), upb_StringView);
2575
+ return *UPB_PTR_AT(msg, UPB_SIZE(40, 64), upb_StringView);
2576
+ }
2577
+ UPB_INLINE bool validate_StringRules_has_contains(const validate_StringRules* msg) {
2578
+ return _upb_hasbit(msg, 9);
2579
+ }
2580
+ UPB_INLINE void validate_StringRules_clear_contains(const validate_StringRules* msg) {
2581
+ *UPB_PTR_AT(msg, UPB_SIZE(48, 80), upb_StringView) = upb_StringView_FromDataAndSize(NULL, 0);
2582
+ _upb_clearhas(msg, 9);
1840
2583
  }
1841
- UPB_INLINE bool validate_StringRules_has_contains(const validate_StringRules *msg) { return _upb_hasbit(msg, 9); }
1842
2584
  UPB_INLINE upb_StringView validate_StringRules_contains(const validate_StringRules* msg) {
1843
- return *UPB_PTR_AT(msg, UPB_SIZE(92, 128), upb_StringView);
1844
- }
1845
- UPB_INLINE upb_StringView const* validate_StringRules_in(const validate_StringRules *msg, size_t *len) { return (upb_StringView const*)_upb_array_accessor(msg, UPB_SIZE(108, 160), len); }
1846
- UPB_INLINE upb_StringView const* validate_StringRules_not_in(const validate_StringRules *msg, size_t *len) { return (upb_StringView const*)_upb_array_accessor(msg, UPB_SIZE(112, 168), len); }
1847
- UPB_INLINE bool validate_StringRules_has_email(const validate_StringRules *msg) { return _upb_getoneofcase(msg, UPB_SIZE(120, 180)) == 12; }
1848
- UPB_INLINE bool validate_StringRules_email(const validate_StringRules *msg) { return UPB_READ_ONEOF(msg, bool, UPB_SIZE(116, 176), UPB_SIZE(120, 180), 12, false); }
1849
- UPB_INLINE bool validate_StringRules_has_hostname(const validate_StringRules *msg) { return _upb_getoneofcase(msg, UPB_SIZE(120, 180)) == 13; }
1850
- UPB_INLINE bool validate_StringRules_hostname(const validate_StringRules *msg) { return UPB_READ_ONEOF(msg, bool, UPB_SIZE(116, 176), UPB_SIZE(120, 180), 13, false); }
1851
- UPB_INLINE bool validate_StringRules_has_ip(const validate_StringRules *msg) { return _upb_getoneofcase(msg, UPB_SIZE(120, 180)) == 14; }
1852
- UPB_INLINE bool validate_StringRules_ip(const validate_StringRules *msg) { return UPB_READ_ONEOF(msg, bool, UPB_SIZE(116, 176), UPB_SIZE(120, 180), 14, false); }
1853
- UPB_INLINE bool validate_StringRules_has_ipv4(const validate_StringRules *msg) { return _upb_getoneofcase(msg, UPB_SIZE(120, 180)) == 15; }
1854
- UPB_INLINE bool validate_StringRules_ipv4(const validate_StringRules *msg) { return UPB_READ_ONEOF(msg, bool, UPB_SIZE(116, 176), UPB_SIZE(120, 180), 15, false); }
1855
- UPB_INLINE bool validate_StringRules_has_ipv6(const validate_StringRules *msg) { return _upb_getoneofcase(msg, UPB_SIZE(120, 180)) == 16; }
1856
- UPB_INLINE bool validate_StringRules_ipv6(const validate_StringRules *msg) { return UPB_READ_ONEOF(msg, bool, UPB_SIZE(116, 176), UPB_SIZE(120, 180), 16, false); }
1857
- UPB_INLINE bool validate_StringRules_has_uri(const validate_StringRules *msg) { return _upb_getoneofcase(msg, UPB_SIZE(120, 180)) == 17; }
1858
- UPB_INLINE bool validate_StringRules_uri(const validate_StringRules *msg) { return UPB_READ_ONEOF(msg, bool, UPB_SIZE(116, 176), UPB_SIZE(120, 180), 17, false); }
1859
- UPB_INLINE bool validate_StringRules_has_uri_ref(const validate_StringRules *msg) { return _upb_getoneofcase(msg, UPB_SIZE(120, 180)) == 18; }
1860
- UPB_INLINE bool validate_StringRules_uri_ref(const validate_StringRules *msg) { return UPB_READ_ONEOF(msg, bool, UPB_SIZE(116, 176), UPB_SIZE(120, 180), 18, false); }
1861
- UPB_INLINE bool validate_StringRules_has_len(const validate_StringRules *msg) { return _upb_hasbit(msg, 10); }
2585
+ return *UPB_PTR_AT(msg, UPB_SIZE(48, 80), upb_StringView);
2586
+ }
2587
+ UPB_INLINE void validate_StringRules_clear_in(const validate_StringRules* msg) {
2588
+ _upb_array_detach(msg, UPB_SIZE(56, 96));
2589
+ }
2590
+ UPB_INLINE upb_StringView const* validate_StringRules_in(const validate_StringRules* msg, size_t* len) {
2591
+ return (upb_StringView const*)_upb_array_accessor(msg, UPB_SIZE(56, 96), len);
2592
+ }
2593
+ UPB_INLINE void validate_StringRules_clear_not_in(const validate_StringRules* msg) {
2594
+ _upb_array_detach(msg, UPB_SIZE(60, 104));
2595
+ }
2596
+ UPB_INLINE upb_StringView const* validate_StringRules_not_in(const validate_StringRules* msg, size_t* len) {
2597
+ return (upb_StringView const*)_upb_array_accessor(msg, UPB_SIZE(60, 104), len);
2598
+ }
2599
+ UPB_INLINE bool validate_StringRules_has_email(const validate_StringRules* msg) {
2600
+ return _upb_getoneofcase(msg, UPB_SIZE(4, 4)) == 12;
2601
+ }
2602
+ UPB_INLINE void validate_StringRules_clear_email(const validate_StringRules* msg) {
2603
+ UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(12, 12), 0, UPB_SIZE(4, 4), validate_StringRules_well_known_NOT_SET);
2604
+ }
2605
+ UPB_INLINE bool validate_StringRules_email(const validate_StringRules* msg) {
2606
+ return UPB_READ_ONEOF(msg, bool, UPB_SIZE(12, 12), UPB_SIZE(4, 4), 12, false);
2607
+ }
2608
+ UPB_INLINE bool validate_StringRules_has_hostname(const validate_StringRules* msg) {
2609
+ return _upb_getoneofcase(msg, UPB_SIZE(4, 4)) == 13;
2610
+ }
2611
+ UPB_INLINE void validate_StringRules_clear_hostname(const validate_StringRules* msg) {
2612
+ UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(12, 12), 0, UPB_SIZE(4, 4), validate_StringRules_well_known_NOT_SET);
2613
+ }
2614
+ UPB_INLINE bool validate_StringRules_hostname(const validate_StringRules* msg) {
2615
+ return UPB_READ_ONEOF(msg, bool, UPB_SIZE(12, 12), UPB_SIZE(4, 4), 13, false);
2616
+ }
2617
+ UPB_INLINE bool validate_StringRules_has_ip(const validate_StringRules* msg) {
2618
+ return _upb_getoneofcase(msg, UPB_SIZE(4, 4)) == 14;
2619
+ }
2620
+ UPB_INLINE void validate_StringRules_clear_ip(const validate_StringRules* msg) {
2621
+ UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(12, 12), 0, UPB_SIZE(4, 4), validate_StringRules_well_known_NOT_SET);
2622
+ }
2623
+ UPB_INLINE bool validate_StringRules_ip(const validate_StringRules* msg) {
2624
+ return UPB_READ_ONEOF(msg, bool, UPB_SIZE(12, 12), UPB_SIZE(4, 4), 14, false);
2625
+ }
2626
+ UPB_INLINE bool validate_StringRules_has_ipv4(const validate_StringRules* msg) {
2627
+ return _upb_getoneofcase(msg, UPB_SIZE(4, 4)) == 15;
2628
+ }
2629
+ UPB_INLINE void validate_StringRules_clear_ipv4(const validate_StringRules* msg) {
2630
+ UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(12, 12), 0, UPB_SIZE(4, 4), validate_StringRules_well_known_NOT_SET);
2631
+ }
2632
+ UPB_INLINE bool validate_StringRules_ipv4(const validate_StringRules* msg) {
2633
+ return UPB_READ_ONEOF(msg, bool, UPB_SIZE(12, 12), UPB_SIZE(4, 4), 15, false);
2634
+ }
2635
+ UPB_INLINE bool validate_StringRules_has_ipv6(const validate_StringRules* msg) {
2636
+ return _upb_getoneofcase(msg, UPB_SIZE(4, 4)) == 16;
2637
+ }
2638
+ UPB_INLINE void validate_StringRules_clear_ipv6(const validate_StringRules* msg) {
2639
+ UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(12, 12), 0, UPB_SIZE(4, 4), validate_StringRules_well_known_NOT_SET);
2640
+ }
2641
+ UPB_INLINE bool validate_StringRules_ipv6(const validate_StringRules* msg) {
2642
+ return UPB_READ_ONEOF(msg, bool, UPB_SIZE(12, 12), UPB_SIZE(4, 4), 16, false);
2643
+ }
2644
+ UPB_INLINE bool validate_StringRules_has_uri(const validate_StringRules* msg) {
2645
+ return _upb_getoneofcase(msg, UPB_SIZE(4, 4)) == 17;
2646
+ }
2647
+ UPB_INLINE void validate_StringRules_clear_uri(const validate_StringRules* msg) {
2648
+ UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(12, 12), 0, UPB_SIZE(4, 4), validate_StringRules_well_known_NOT_SET);
2649
+ }
2650
+ UPB_INLINE bool validate_StringRules_uri(const validate_StringRules* msg) {
2651
+ return UPB_READ_ONEOF(msg, bool, UPB_SIZE(12, 12), UPB_SIZE(4, 4), 17, false);
2652
+ }
2653
+ UPB_INLINE bool validate_StringRules_has_uri_ref(const validate_StringRules* msg) {
2654
+ return _upb_getoneofcase(msg, UPB_SIZE(4, 4)) == 18;
2655
+ }
2656
+ UPB_INLINE void validate_StringRules_clear_uri_ref(const validate_StringRules* msg) {
2657
+ UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(12, 12), 0, UPB_SIZE(4, 4), validate_StringRules_well_known_NOT_SET);
2658
+ }
2659
+ UPB_INLINE bool validate_StringRules_uri_ref(const validate_StringRules* msg) {
2660
+ return UPB_READ_ONEOF(msg, bool, UPB_SIZE(12, 12), UPB_SIZE(4, 4), 18, false);
2661
+ }
2662
+ UPB_INLINE bool validate_StringRules_has_len(const validate_StringRules* msg) {
2663
+ return _upb_hasbit(msg, 10);
2664
+ }
2665
+ UPB_INLINE void validate_StringRules_clear_len(const validate_StringRules* msg) {
2666
+ *UPB_PTR_AT(msg, UPB_SIZE(104, 160), uint64_t) = 0;
2667
+ _upb_clearhas(msg, 10);
2668
+ }
1862
2669
  UPB_INLINE uint64_t validate_StringRules_len(const validate_StringRules* msg) {
1863
- return *UPB_PTR_AT(msg, UPB_SIZE(40, 40), uint64_t);
2670
+ return *UPB_PTR_AT(msg, UPB_SIZE(104, 160), uint64_t);
2671
+ }
2672
+ UPB_INLINE bool validate_StringRules_has_len_bytes(const validate_StringRules* msg) {
2673
+ return _upb_hasbit(msg, 11);
2674
+ }
2675
+ UPB_INLINE void validate_StringRules_clear_len_bytes(const validate_StringRules* msg) {
2676
+ *UPB_PTR_AT(msg, UPB_SIZE(112, 168), uint64_t) = 0;
2677
+ _upb_clearhas(msg, 11);
1864
2678
  }
1865
- UPB_INLINE bool validate_StringRules_has_len_bytes(const validate_StringRules *msg) { return _upb_hasbit(msg, 11); }
1866
2679
  UPB_INLINE uint64_t validate_StringRules_len_bytes(const validate_StringRules* msg) {
1867
- return *UPB_PTR_AT(msg, UPB_SIZE(48, 48), uint64_t);
2680
+ return *UPB_PTR_AT(msg, UPB_SIZE(112, 168), uint64_t);
2681
+ }
2682
+ UPB_INLINE bool validate_StringRules_has_address(const validate_StringRules* msg) {
2683
+ return _upb_getoneofcase(msg, UPB_SIZE(4, 4)) == 21;
2684
+ }
2685
+ UPB_INLINE void validate_StringRules_clear_address(const validate_StringRules* msg) {
2686
+ UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(12, 12), 0, UPB_SIZE(4, 4), validate_StringRules_well_known_NOT_SET);
2687
+ }
2688
+ UPB_INLINE bool validate_StringRules_address(const validate_StringRules* msg) {
2689
+ return UPB_READ_ONEOF(msg, bool, UPB_SIZE(12, 12), UPB_SIZE(4, 4), 21, false);
2690
+ }
2691
+ UPB_INLINE bool validate_StringRules_has_uuid(const validate_StringRules* msg) {
2692
+ return _upb_getoneofcase(msg, UPB_SIZE(4, 4)) == 22;
2693
+ }
2694
+ UPB_INLINE void validate_StringRules_clear_uuid(const validate_StringRules* msg) {
2695
+ UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(12, 12), 0, UPB_SIZE(4, 4), validate_StringRules_well_known_NOT_SET);
2696
+ }
2697
+ UPB_INLINE bool validate_StringRules_uuid(const validate_StringRules* msg) {
2698
+ return UPB_READ_ONEOF(msg, bool, UPB_SIZE(12, 12), UPB_SIZE(4, 4), 22, false);
2699
+ }
2700
+ UPB_INLINE bool validate_StringRules_has_not_contains(const validate_StringRules* msg) {
2701
+ return _upb_hasbit(msg, 12);
2702
+ }
2703
+ UPB_INLINE void validate_StringRules_clear_not_contains(const validate_StringRules* msg) {
2704
+ *UPB_PTR_AT(msg, UPB_SIZE(64, 112), upb_StringView) = upb_StringView_FromDataAndSize(NULL, 0);
2705
+ _upb_clearhas(msg, 12);
1868
2706
  }
1869
- UPB_INLINE bool validate_StringRules_has_address(const validate_StringRules *msg) { return _upb_getoneofcase(msg, UPB_SIZE(120, 180)) == 21; }
1870
- UPB_INLINE bool validate_StringRules_address(const validate_StringRules *msg) { return UPB_READ_ONEOF(msg, bool, UPB_SIZE(116, 176), UPB_SIZE(120, 180), 21, false); }
1871
- UPB_INLINE bool validate_StringRules_has_uuid(const validate_StringRules *msg) { return _upb_getoneofcase(msg, UPB_SIZE(120, 180)) == 22; }
1872
- UPB_INLINE bool validate_StringRules_uuid(const validate_StringRules *msg) { return UPB_READ_ONEOF(msg, bool, UPB_SIZE(116, 176), UPB_SIZE(120, 180), 22, false); }
1873
- UPB_INLINE bool validate_StringRules_has_not_contains(const validate_StringRules *msg) { return _upb_hasbit(msg, 12); }
1874
2707
  UPB_INLINE upb_StringView validate_StringRules_not_contains(const validate_StringRules* msg) {
1875
- return *UPB_PTR_AT(msg, UPB_SIZE(100, 144), upb_StringView);
2708
+ return *UPB_PTR_AT(msg, UPB_SIZE(64, 112), upb_StringView);
2709
+ }
2710
+ UPB_INLINE bool validate_StringRules_has_well_known_regex(const validate_StringRules* msg) {
2711
+ return _upb_getoneofcase(msg, UPB_SIZE(4, 4)) == 24;
2712
+ }
2713
+ UPB_INLINE void validate_StringRules_clear_well_known_regex(const validate_StringRules* msg) {
2714
+ UPB_WRITE_ONEOF(msg, int32_t, UPB_SIZE(12, 12), 0, UPB_SIZE(4, 4), validate_StringRules_well_known_NOT_SET);
2715
+ }
2716
+ UPB_INLINE int32_t validate_StringRules_well_known_regex(const validate_StringRules* msg) {
2717
+ return UPB_READ_ONEOF(msg, int32_t, UPB_SIZE(12, 12), UPB_SIZE(4, 4), 24, 0);
2718
+ }
2719
+ UPB_INLINE bool validate_StringRules_has_strict(const validate_StringRules* msg) {
2720
+ return _upb_hasbit(msg, 13);
2721
+ }
2722
+ UPB_INLINE void validate_StringRules_clear_strict(const validate_StringRules* msg) {
2723
+ *UPB_PTR_AT(msg, UPB_SIZE(8, 8), bool) = 0;
2724
+ _upb_clearhas(msg, 13);
1876
2725
  }
1877
- UPB_INLINE bool validate_StringRules_has_well_known_regex(const validate_StringRules *msg) { return _upb_getoneofcase(msg, UPB_SIZE(120, 180)) == 24; }
1878
- UPB_INLINE int32_t validate_StringRules_well_known_regex(const validate_StringRules *msg) { return UPB_READ_ONEOF(msg, int32_t, UPB_SIZE(116, 176), UPB_SIZE(120, 180), 24, 0); }
1879
- UPB_INLINE bool validate_StringRules_has_strict(const validate_StringRules *msg) { return _upb_hasbit(msg, 13); }
1880
2726
  UPB_INLINE bool validate_StringRules_strict(const validate_StringRules* msg) {
1881
- return validate_StringRules_has_strict(msg) ? *UPB_PTR_AT(msg, UPB_SIZE(56, 56), bool) : true;
2727
+ return validate_StringRules_has_strict(msg) ? *UPB_PTR_AT(msg, UPB_SIZE(8, 8), bool) : true;
2728
+ }
2729
+ UPB_INLINE bool validate_StringRules_has_ignore_empty(const validate_StringRules* msg) {
2730
+ return _upb_hasbit(msg, 14);
2731
+ }
2732
+ UPB_INLINE void validate_StringRules_clear_ignore_empty(const validate_StringRules* msg) {
2733
+ *UPB_PTR_AT(msg, UPB_SIZE(9, 9), bool) = 0;
2734
+ _upb_clearhas(msg, 14);
1882
2735
  }
1883
- UPB_INLINE bool validate_StringRules_has_ignore_empty(const validate_StringRules *msg) { return _upb_hasbit(msg, 14); }
1884
2736
  UPB_INLINE bool validate_StringRules_ignore_empty(const validate_StringRules* msg) {
1885
- return *UPB_PTR_AT(msg, UPB_SIZE(57, 57), bool);
2737
+ return *UPB_PTR_AT(msg, UPB_SIZE(9, 9), bool);
1886
2738
  }
1887
2739
 
1888
2740
  UPB_INLINE void validate_StringRules_set_const(validate_StringRules *msg, upb_StringView value) {
1889
2741
  _upb_sethas(msg, 1);
1890
- *UPB_PTR_AT(msg, UPB_SIZE(60, 64), upb_StringView) = value;
2742
+ *UPB_PTR_AT(msg, UPB_SIZE(16, 16), upb_StringView) = value;
1891
2743
  }
1892
2744
  UPB_INLINE void validate_StringRules_set_min_len(validate_StringRules *msg, uint64_t value) {
1893
2745
  _upb_sethas(msg, 2);
1894
- *UPB_PTR_AT(msg, UPB_SIZE(8, 8), uint64_t) = value;
2746
+ *UPB_PTR_AT(msg, UPB_SIZE(72, 128), uint64_t) = value;
1895
2747
  }
1896
2748
  UPB_INLINE void validate_StringRules_set_max_len(validate_StringRules *msg, uint64_t value) {
1897
2749
  _upb_sethas(msg, 3);
1898
- *UPB_PTR_AT(msg, UPB_SIZE(16, 16), uint64_t) = value;
2750
+ *UPB_PTR_AT(msg, UPB_SIZE(80, 136), uint64_t) = value;
1899
2751
  }
1900
2752
  UPB_INLINE void validate_StringRules_set_min_bytes(validate_StringRules *msg, uint64_t value) {
1901
2753
  _upb_sethas(msg, 4);
1902
- *UPB_PTR_AT(msg, UPB_SIZE(24, 24), uint64_t) = value;
2754
+ *UPB_PTR_AT(msg, UPB_SIZE(88, 144), uint64_t) = value;
1903
2755
  }
1904
2756
  UPB_INLINE void validate_StringRules_set_max_bytes(validate_StringRules *msg, uint64_t value) {
1905
2757
  _upb_sethas(msg, 5);
1906
- *UPB_PTR_AT(msg, UPB_SIZE(32, 32), uint64_t) = value;
2758
+ *UPB_PTR_AT(msg, UPB_SIZE(96, 152), uint64_t) = value;
1907
2759
  }
1908
2760
  UPB_INLINE void validate_StringRules_set_pattern(validate_StringRules *msg, upb_StringView value) {
1909
2761
  _upb_sethas(msg, 6);
1910
- *UPB_PTR_AT(msg, UPB_SIZE(68, 80), upb_StringView) = value;
2762
+ *UPB_PTR_AT(msg, UPB_SIZE(24, 32), upb_StringView) = value;
1911
2763
  }
1912
2764
  UPB_INLINE void validate_StringRules_set_prefix(validate_StringRules *msg, upb_StringView value) {
1913
2765
  _upb_sethas(msg, 7);
1914
- *UPB_PTR_AT(msg, UPB_SIZE(76, 96), upb_StringView) = value;
2766
+ *UPB_PTR_AT(msg, UPB_SIZE(32, 48), upb_StringView) = value;
1915
2767
  }
1916
2768
  UPB_INLINE void validate_StringRules_set_suffix(validate_StringRules *msg, upb_StringView value) {
1917
2769
  _upb_sethas(msg, 8);
1918
- *UPB_PTR_AT(msg, UPB_SIZE(84, 112), upb_StringView) = value;
2770
+ *UPB_PTR_AT(msg, UPB_SIZE(40, 64), upb_StringView) = value;
1919
2771
  }
1920
2772
  UPB_INLINE void validate_StringRules_set_contains(validate_StringRules *msg, upb_StringView value) {
1921
2773
  _upb_sethas(msg, 9);
1922
- *UPB_PTR_AT(msg, UPB_SIZE(92, 128), upb_StringView) = value;
2774
+ *UPB_PTR_AT(msg, UPB_SIZE(48, 80), upb_StringView) = value;
1923
2775
  }
1924
- UPB_INLINE upb_StringView* validate_StringRules_mutable_in(validate_StringRules *msg, size_t *len) {
1925
- return (upb_StringView*)_upb_array_mutable_accessor(msg, UPB_SIZE(108, 160), len);
2776
+ UPB_INLINE upb_StringView* validate_StringRules_mutable_in(validate_StringRules* msg, size_t* len) {
2777
+ return (upb_StringView*)_upb_array_mutable_accessor(msg, UPB_SIZE(56, 96), len);
1926
2778
  }
1927
- UPB_INLINE upb_StringView* validate_StringRules_resize_in(validate_StringRules *msg, size_t len, upb_Arena *arena) {
1928
- return (upb_StringView*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(108, 160), len, UPB_SIZE(3, 4), arena);
2779
+ UPB_INLINE upb_StringView* validate_StringRules_resize_in(validate_StringRules* msg, size_t len, upb_Arena* arena) {
2780
+ return (upb_StringView*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(56, 96), len, UPB_SIZE(3, 4), arena);
1929
2781
  }
1930
- UPB_INLINE bool validate_StringRules_add_in(validate_StringRules *msg, upb_StringView val, upb_Arena *arena) {
1931
- return _upb_Array_Append_accessor2(msg, UPB_SIZE(108, 160), UPB_SIZE(3, 4), &val,
1932
- arena);
2782
+ UPB_INLINE bool validate_StringRules_add_in(validate_StringRules* msg, upb_StringView val, upb_Arena* arena) {
2783
+ return _upb_Array_Append_accessor2(msg, UPB_SIZE(56, 96), UPB_SIZE(3, 4), &val, arena);
1933
2784
  }
1934
- UPB_INLINE upb_StringView* validate_StringRules_mutable_not_in(validate_StringRules *msg, size_t *len) {
1935
- return (upb_StringView*)_upb_array_mutable_accessor(msg, UPB_SIZE(112, 168), len);
2785
+ UPB_INLINE upb_StringView* validate_StringRules_mutable_not_in(validate_StringRules* msg, size_t* len) {
2786
+ return (upb_StringView*)_upb_array_mutable_accessor(msg, UPB_SIZE(60, 104), len);
1936
2787
  }
1937
- UPB_INLINE upb_StringView* validate_StringRules_resize_not_in(validate_StringRules *msg, size_t len, upb_Arena *arena) {
1938
- return (upb_StringView*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(112, 168), len, UPB_SIZE(3, 4), arena);
2788
+ UPB_INLINE upb_StringView* validate_StringRules_resize_not_in(validate_StringRules* msg, size_t len, upb_Arena* arena) {
2789
+ return (upb_StringView*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(60, 104), len, UPB_SIZE(3, 4), arena);
1939
2790
  }
1940
- UPB_INLINE bool validate_StringRules_add_not_in(validate_StringRules *msg, upb_StringView val, upb_Arena *arena) {
1941
- return _upb_Array_Append_accessor2(msg, UPB_SIZE(112, 168), UPB_SIZE(3, 4), &val,
1942
- arena);
2791
+ UPB_INLINE bool validate_StringRules_add_not_in(validate_StringRules* msg, upb_StringView val, upb_Arena* arena) {
2792
+ return _upb_Array_Append_accessor2(msg, UPB_SIZE(60, 104), UPB_SIZE(3, 4), &val, arena);
1943
2793
  }
1944
2794
  UPB_INLINE void validate_StringRules_set_email(validate_StringRules *msg, bool value) {
1945
- UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(116, 176), value, UPB_SIZE(120, 180), 12);
2795
+ UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(12, 12), value, UPB_SIZE(4, 4), 12);
1946
2796
  }
1947
2797
  UPB_INLINE void validate_StringRules_set_hostname(validate_StringRules *msg, bool value) {
1948
- UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(116, 176), value, UPB_SIZE(120, 180), 13);
2798
+ UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(12, 12), value, UPB_SIZE(4, 4), 13);
1949
2799
  }
1950
2800
  UPB_INLINE void validate_StringRules_set_ip(validate_StringRules *msg, bool value) {
1951
- UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(116, 176), value, UPB_SIZE(120, 180), 14);
2801
+ UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(12, 12), value, UPB_SIZE(4, 4), 14);
1952
2802
  }
1953
2803
  UPB_INLINE void validate_StringRules_set_ipv4(validate_StringRules *msg, bool value) {
1954
- UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(116, 176), value, UPB_SIZE(120, 180), 15);
2804
+ UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(12, 12), value, UPB_SIZE(4, 4), 15);
1955
2805
  }
1956
2806
  UPB_INLINE void validate_StringRules_set_ipv6(validate_StringRules *msg, bool value) {
1957
- UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(116, 176), value, UPB_SIZE(120, 180), 16);
2807
+ UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(12, 12), value, UPB_SIZE(4, 4), 16);
1958
2808
  }
1959
2809
  UPB_INLINE void validate_StringRules_set_uri(validate_StringRules *msg, bool value) {
1960
- UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(116, 176), value, UPB_SIZE(120, 180), 17);
2810
+ UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(12, 12), value, UPB_SIZE(4, 4), 17);
1961
2811
  }
1962
2812
  UPB_INLINE void validate_StringRules_set_uri_ref(validate_StringRules *msg, bool value) {
1963
- UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(116, 176), value, UPB_SIZE(120, 180), 18);
2813
+ UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(12, 12), value, UPB_SIZE(4, 4), 18);
1964
2814
  }
1965
2815
  UPB_INLINE void validate_StringRules_set_len(validate_StringRules *msg, uint64_t value) {
1966
2816
  _upb_sethas(msg, 10);
1967
- *UPB_PTR_AT(msg, UPB_SIZE(40, 40), uint64_t) = value;
2817
+ *UPB_PTR_AT(msg, UPB_SIZE(104, 160), uint64_t) = value;
1968
2818
  }
1969
2819
  UPB_INLINE void validate_StringRules_set_len_bytes(validate_StringRules *msg, uint64_t value) {
1970
2820
  _upb_sethas(msg, 11);
1971
- *UPB_PTR_AT(msg, UPB_SIZE(48, 48), uint64_t) = value;
2821
+ *UPB_PTR_AT(msg, UPB_SIZE(112, 168), uint64_t) = value;
1972
2822
  }
1973
2823
  UPB_INLINE void validate_StringRules_set_address(validate_StringRules *msg, bool value) {
1974
- UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(116, 176), value, UPB_SIZE(120, 180), 21);
2824
+ UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(12, 12), value, UPB_SIZE(4, 4), 21);
1975
2825
  }
1976
2826
  UPB_INLINE void validate_StringRules_set_uuid(validate_StringRules *msg, bool value) {
1977
- UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(116, 176), value, UPB_SIZE(120, 180), 22);
2827
+ UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(12, 12), value, UPB_SIZE(4, 4), 22);
1978
2828
  }
1979
2829
  UPB_INLINE void validate_StringRules_set_not_contains(validate_StringRules *msg, upb_StringView value) {
1980
2830
  _upb_sethas(msg, 12);
1981
- *UPB_PTR_AT(msg, UPB_SIZE(100, 144), upb_StringView) = value;
2831
+ *UPB_PTR_AT(msg, UPB_SIZE(64, 112), upb_StringView) = value;
1982
2832
  }
1983
2833
  UPB_INLINE void validate_StringRules_set_well_known_regex(validate_StringRules *msg, int32_t value) {
1984
- UPB_WRITE_ONEOF(msg, int32_t, UPB_SIZE(116, 176), value, UPB_SIZE(120, 180), 24);
2834
+ UPB_WRITE_ONEOF(msg, int32_t, UPB_SIZE(12, 12), value, UPB_SIZE(4, 4), 24);
1985
2835
  }
1986
2836
  UPB_INLINE void validate_StringRules_set_strict(validate_StringRules *msg, bool value) {
1987
2837
  _upb_sethas(msg, 13);
1988
- *UPB_PTR_AT(msg, UPB_SIZE(56, 56), bool) = value;
2838
+ *UPB_PTR_AT(msg, UPB_SIZE(8, 8), bool) = value;
1989
2839
  }
1990
2840
  UPB_INLINE void validate_StringRules_set_ignore_empty(validate_StringRules *msg, bool value) {
1991
2841
  _upb_sethas(msg, 14);
1992
- *UPB_PTR_AT(msg, UPB_SIZE(57, 57), bool) = value;
2842
+ *UPB_PTR_AT(msg, UPB_SIZE(9, 9), bool) = value;
1993
2843
  }
1994
2844
 
1995
2845
  /* validate.BytesRules */
@@ -2029,117 +2879,201 @@ typedef enum {
2029
2879
  validate_BytesRules_well_known_ipv6 = 12,
2030
2880
  validate_BytesRules_well_known_NOT_SET = 0
2031
2881
  } validate_BytesRules_well_known_oneofcases;
2032
- UPB_INLINE validate_BytesRules_well_known_oneofcases validate_BytesRules_well_known_case(const validate_BytesRules* msg) { return (validate_BytesRules_well_known_oneofcases)*UPB_PTR_AT(msg, UPB_SIZE(88, 140), int32_t); }
2033
-
2034
- UPB_INLINE bool validate_BytesRules_has_const(const validate_BytesRules *msg) { return _upb_hasbit(msg, 1); }
2882
+ UPB_INLINE validate_BytesRules_well_known_oneofcases validate_BytesRules_well_known_case(const validate_BytesRules* msg) {
2883
+ return (validate_BytesRules_well_known_oneofcases)*UPB_PTR_AT(msg, UPB_SIZE(4, 4), int32_t);
2884
+ }
2885
+ UPB_INLINE bool validate_BytesRules_has_const(const validate_BytesRules* msg) {
2886
+ return _upb_hasbit(msg, 1);
2887
+ }
2888
+ UPB_INLINE void validate_BytesRules_clear_const(const validate_BytesRules* msg) {
2889
+ *UPB_PTR_AT(msg, UPB_SIZE(12, 16), upb_StringView) = upb_StringView_FromDataAndSize(NULL, 0);
2890
+ _upb_clearhas(msg, 1);
2891
+ }
2035
2892
  UPB_INLINE upb_StringView validate_BytesRules_const(const validate_BytesRules* msg) {
2036
- return *UPB_PTR_AT(msg, UPB_SIZE(36, 40), upb_StringView);
2893
+ return *UPB_PTR_AT(msg, UPB_SIZE(12, 16), upb_StringView);
2894
+ }
2895
+ UPB_INLINE bool validate_BytesRules_has_min_len(const validate_BytesRules* msg) {
2896
+ return _upb_hasbit(msg, 2);
2897
+ }
2898
+ UPB_INLINE void validate_BytesRules_clear_min_len(const validate_BytesRules* msg) {
2899
+ *UPB_PTR_AT(msg, UPB_SIZE(64, 112), uint64_t) = 0;
2900
+ _upb_clearhas(msg, 2);
2037
2901
  }
2038
- UPB_INLINE bool validate_BytesRules_has_min_len(const validate_BytesRules *msg) { return _upb_hasbit(msg, 2); }
2039
2902
  UPB_INLINE uint64_t validate_BytesRules_min_len(const validate_BytesRules* msg) {
2040
- return *UPB_PTR_AT(msg, UPB_SIZE(8, 8), uint64_t);
2903
+ return *UPB_PTR_AT(msg, UPB_SIZE(64, 112), uint64_t);
2904
+ }
2905
+ UPB_INLINE bool validate_BytesRules_has_max_len(const validate_BytesRules* msg) {
2906
+ return _upb_hasbit(msg, 3);
2907
+ }
2908
+ UPB_INLINE void validate_BytesRules_clear_max_len(const validate_BytesRules* msg) {
2909
+ *UPB_PTR_AT(msg, UPB_SIZE(72, 120), uint64_t) = 0;
2910
+ _upb_clearhas(msg, 3);
2041
2911
  }
2042
- UPB_INLINE bool validate_BytesRules_has_max_len(const validate_BytesRules *msg) { return _upb_hasbit(msg, 3); }
2043
2912
  UPB_INLINE uint64_t validate_BytesRules_max_len(const validate_BytesRules* msg) {
2044
- return *UPB_PTR_AT(msg, UPB_SIZE(16, 16), uint64_t);
2913
+ return *UPB_PTR_AT(msg, UPB_SIZE(72, 120), uint64_t);
2914
+ }
2915
+ UPB_INLINE bool validate_BytesRules_has_pattern(const validate_BytesRules* msg) {
2916
+ return _upb_hasbit(msg, 4);
2917
+ }
2918
+ UPB_INLINE void validate_BytesRules_clear_pattern(const validate_BytesRules* msg) {
2919
+ *UPB_PTR_AT(msg, UPB_SIZE(20, 32), upb_StringView) = upb_StringView_FromDataAndSize(NULL, 0);
2920
+ _upb_clearhas(msg, 4);
2045
2921
  }
2046
- UPB_INLINE bool validate_BytesRules_has_pattern(const validate_BytesRules *msg) { return _upb_hasbit(msg, 4); }
2047
2922
  UPB_INLINE upb_StringView validate_BytesRules_pattern(const validate_BytesRules* msg) {
2048
- return *UPB_PTR_AT(msg, UPB_SIZE(44, 56), upb_StringView);
2923
+ return *UPB_PTR_AT(msg, UPB_SIZE(20, 32), upb_StringView);
2924
+ }
2925
+ UPB_INLINE bool validate_BytesRules_has_prefix(const validate_BytesRules* msg) {
2926
+ return _upb_hasbit(msg, 5);
2927
+ }
2928
+ UPB_INLINE void validate_BytesRules_clear_prefix(const validate_BytesRules* msg) {
2929
+ *UPB_PTR_AT(msg, UPB_SIZE(28, 48), upb_StringView) = upb_StringView_FromDataAndSize(NULL, 0);
2930
+ _upb_clearhas(msg, 5);
2049
2931
  }
2050
- UPB_INLINE bool validate_BytesRules_has_prefix(const validate_BytesRules *msg) { return _upb_hasbit(msg, 5); }
2051
2932
  UPB_INLINE upb_StringView validate_BytesRules_prefix(const validate_BytesRules* msg) {
2052
- return *UPB_PTR_AT(msg, UPB_SIZE(52, 72), upb_StringView);
2933
+ return *UPB_PTR_AT(msg, UPB_SIZE(28, 48), upb_StringView);
2934
+ }
2935
+ UPB_INLINE bool validate_BytesRules_has_suffix(const validate_BytesRules* msg) {
2936
+ return _upb_hasbit(msg, 6);
2937
+ }
2938
+ UPB_INLINE void validate_BytesRules_clear_suffix(const validate_BytesRules* msg) {
2939
+ *UPB_PTR_AT(msg, UPB_SIZE(36, 64), upb_StringView) = upb_StringView_FromDataAndSize(NULL, 0);
2940
+ _upb_clearhas(msg, 6);
2053
2941
  }
2054
- UPB_INLINE bool validate_BytesRules_has_suffix(const validate_BytesRules *msg) { return _upb_hasbit(msg, 6); }
2055
2942
  UPB_INLINE upb_StringView validate_BytesRules_suffix(const validate_BytesRules* msg) {
2056
- return *UPB_PTR_AT(msg, UPB_SIZE(60, 88), upb_StringView);
2943
+ return *UPB_PTR_AT(msg, UPB_SIZE(36, 64), upb_StringView);
2944
+ }
2945
+ UPB_INLINE bool validate_BytesRules_has_contains(const validate_BytesRules* msg) {
2946
+ return _upb_hasbit(msg, 7);
2947
+ }
2948
+ UPB_INLINE void validate_BytesRules_clear_contains(const validate_BytesRules* msg) {
2949
+ *UPB_PTR_AT(msg, UPB_SIZE(44, 80), upb_StringView) = upb_StringView_FromDataAndSize(NULL, 0);
2950
+ _upb_clearhas(msg, 7);
2057
2951
  }
2058
- UPB_INLINE bool validate_BytesRules_has_contains(const validate_BytesRules *msg) { return _upb_hasbit(msg, 7); }
2059
2952
  UPB_INLINE upb_StringView validate_BytesRules_contains(const validate_BytesRules* msg) {
2060
- return *UPB_PTR_AT(msg, UPB_SIZE(68, 104), upb_StringView);
2061
- }
2062
- UPB_INLINE upb_StringView const* validate_BytesRules_in(const validate_BytesRules *msg, size_t *len) { return (upb_StringView const*)_upb_array_accessor(msg, UPB_SIZE(76, 120), len); }
2063
- UPB_INLINE upb_StringView const* validate_BytesRules_not_in(const validate_BytesRules *msg, size_t *len) { return (upb_StringView const*)_upb_array_accessor(msg, UPB_SIZE(80, 128), len); }
2064
- UPB_INLINE bool validate_BytesRules_has_ip(const validate_BytesRules *msg) { return _upb_getoneofcase(msg, UPB_SIZE(88, 140)) == 10; }
2065
- UPB_INLINE bool validate_BytesRules_ip(const validate_BytesRules *msg) { return UPB_READ_ONEOF(msg, bool, UPB_SIZE(84, 136), UPB_SIZE(88, 140), 10, false); }
2066
- UPB_INLINE bool validate_BytesRules_has_ipv4(const validate_BytesRules *msg) { return _upb_getoneofcase(msg, UPB_SIZE(88, 140)) == 11; }
2067
- UPB_INLINE bool validate_BytesRules_ipv4(const validate_BytesRules *msg) { return UPB_READ_ONEOF(msg, bool, UPB_SIZE(84, 136), UPB_SIZE(88, 140), 11, false); }
2068
- UPB_INLINE bool validate_BytesRules_has_ipv6(const validate_BytesRules *msg) { return _upb_getoneofcase(msg, UPB_SIZE(88, 140)) == 12; }
2069
- UPB_INLINE bool validate_BytesRules_ipv6(const validate_BytesRules *msg) { return UPB_READ_ONEOF(msg, bool, UPB_SIZE(84, 136), UPB_SIZE(88, 140), 12, false); }
2070
- UPB_INLINE bool validate_BytesRules_has_len(const validate_BytesRules *msg) { return _upb_hasbit(msg, 8); }
2953
+ return *UPB_PTR_AT(msg, UPB_SIZE(44, 80), upb_StringView);
2954
+ }
2955
+ UPB_INLINE void validate_BytesRules_clear_in(const validate_BytesRules* msg) {
2956
+ _upb_array_detach(msg, UPB_SIZE(52, 96));
2957
+ }
2958
+ UPB_INLINE upb_StringView const* validate_BytesRules_in(const validate_BytesRules* msg, size_t* len) {
2959
+ return (upb_StringView const*)_upb_array_accessor(msg, UPB_SIZE(52, 96), len);
2960
+ }
2961
+ UPB_INLINE void validate_BytesRules_clear_not_in(const validate_BytesRules* msg) {
2962
+ _upb_array_detach(msg, UPB_SIZE(56, 104));
2963
+ }
2964
+ UPB_INLINE upb_StringView const* validate_BytesRules_not_in(const validate_BytesRules* msg, size_t* len) {
2965
+ return (upb_StringView const*)_upb_array_accessor(msg, UPB_SIZE(56, 104), len);
2966
+ }
2967
+ UPB_INLINE bool validate_BytesRules_has_ip(const validate_BytesRules* msg) {
2968
+ return _upb_getoneofcase(msg, UPB_SIZE(4, 4)) == 10;
2969
+ }
2970
+ UPB_INLINE void validate_BytesRules_clear_ip(const validate_BytesRules* msg) {
2971
+ UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(2, 2), 0, UPB_SIZE(4, 4), validate_BytesRules_well_known_NOT_SET);
2972
+ }
2973
+ UPB_INLINE bool validate_BytesRules_ip(const validate_BytesRules* msg) {
2974
+ return UPB_READ_ONEOF(msg, bool, UPB_SIZE(2, 2), UPB_SIZE(4, 4), 10, false);
2975
+ }
2976
+ UPB_INLINE bool validate_BytesRules_has_ipv4(const validate_BytesRules* msg) {
2977
+ return _upb_getoneofcase(msg, UPB_SIZE(4, 4)) == 11;
2978
+ }
2979
+ UPB_INLINE void validate_BytesRules_clear_ipv4(const validate_BytesRules* msg) {
2980
+ UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(2, 2), 0, UPB_SIZE(4, 4), validate_BytesRules_well_known_NOT_SET);
2981
+ }
2982
+ UPB_INLINE bool validate_BytesRules_ipv4(const validate_BytesRules* msg) {
2983
+ return UPB_READ_ONEOF(msg, bool, UPB_SIZE(2, 2), UPB_SIZE(4, 4), 11, false);
2984
+ }
2985
+ UPB_INLINE bool validate_BytesRules_has_ipv6(const validate_BytesRules* msg) {
2986
+ return _upb_getoneofcase(msg, UPB_SIZE(4, 4)) == 12;
2987
+ }
2988
+ UPB_INLINE void validate_BytesRules_clear_ipv6(const validate_BytesRules* msg) {
2989
+ UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(2, 2), 0, UPB_SIZE(4, 4), validate_BytesRules_well_known_NOT_SET);
2990
+ }
2991
+ UPB_INLINE bool validate_BytesRules_ipv6(const validate_BytesRules* msg) {
2992
+ return UPB_READ_ONEOF(msg, bool, UPB_SIZE(2, 2), UPB_SIZE(4, 4), 12, false);
2993
+ }
2994
+ UPB_INLINE bool validate_BytesRules_has_len(const validate_BytesRules* msg) {
2995
+ return _upb_hasbit(msg, 8);
2996
+ }
2997
+ UPB_INLINE void validate_BytesRules_clear_len(const validate_BytesRules* msg) {
2998
+ *UPB_PTR_AT(msg, UPB_SIZE(80, 128), uint64_t) = 0;
2999
+ _upb_clearhas(msg, 8);
3000
+ }
2071
3001
  UPB_INLINE uint64_t validate_BytesRules_len(const validate_BytesRules* msg) {
2072
- return *UPB_PTR_AT(msg, UPB_SIZE(24, 24), uint64_t);
3002
+ return *UPB_PTR_AT(msg, UPB_SIZE(80, 128), uint64_t);
3003
+ }
3004
+ UPB_INLINE bool validate_BytesRules_has_ignore_empty(const validate_BytesRules* msg) {
3005
+ return _upb_hasbit(msg, 9);
3006
+ }
3007
+ UPB_INLINE void validate_BytesRules_clear_ignore_empty(const validate_BytesRules* msg) {
3008
+ *UPB_PTR_AT(msg, UPB_SIZE(8, 8), bool) = 0;
3009
+ _upb_clearhas(msg, 9);
2073
3010
  }
2074
- UPB_INLINE bool validate_BytesRules_has_ignore_empty(const validate_BytesRules *msg) { return _upb_hasbit(msg, 9); }
2075
3011
  UPB_INLINE bool validate_BytesRules_ignore_empty(const validate_BytesRules* msg) {
2076
- return *UPB_PTR_AT(msg, UPB_SIZE(32, 32), bool);
3012
+ return *UPB_PTR_AT(msg, UPB_SIZE(8, 8), bool);
2077
3013
  }
2078
3014
 
2079
3015
  UPB_INLINE void validate_BytesRules_set_const(validate_BytesRules *msg, upb_StringView value) {
2080
3016
  _upb_sethas(msg, 1);
2081
- *UPB_PTR_AT(msg, UPB_SIZE(36, 40), upb_StringView) = value;
3017
+ *UPB_PTR_AT(msg, UPB_SIZE(12, 16), upb_StringView) = value;
2082
3018
  }
2083
3019
  UPB_INLINE void validate_BytesRules_set_min_len(validate_BytesRules *msg, uint64_t value) {
2084
3020
  _upb_sethas(msg, 2);
2085
- *UPB_PTR_AT(msg, UPB_SIZE(8, 8), uint64_t) = value;
3021
+ *UPB_PTR_AT(msg, UPB_SIZE(64, 112), uint64_t) = value;
2086
3022
  }
2087
3023
  UPB_INLINE void validate_BytesRules_set_max_len(validate_BytesRules *msg, uint64_t value) {
2088
3024
  _upb_sethas(msg, 3);
2089
- *UPB_PTR_AT(msg, UPB_SIZE(16, 16), uint64_t) = value;
3025
+ *UPB_PTR_AT(msg, UPB_SIZE(72, 120), uint64_t) = value;
2090
3026
  }
2091
3027
  UPB_INLINE void validate_BytesRules_set_pattern(validate_BytesRules *msg, upb_StringView value) {
2092
3028
  _upb_sethas(msg, 4);
2093
- *UPB_PTR_AT(msg, UPB_SIZE(44, 56), upb_StringView) = value;
3029
+ *UPB_PTR_AT(msg, UPB_SIZE(20, 32), upb_StringView) = value;
2094
3030
  }
2095
3031
  UPB_INLINE void validate_BytesRules_set_prefix(validate_BytesRules *msg, upb_StringView value) {
2096
3032
  _upb_sethas(msg, 5);
2097
- *UPB_PTR_AT(msg, UPB_SIZE(52, 72), upb_StringView) = value;
3033
+ *UPB_PTR_AT(msg, UPB_SIZE(28, 48), upb_StringView) = value;
2098
3034
  }
2099
3035
  UPB_INLINE void validate_BytesRules_set_suffix(validate_BytesRules *msg, upb_StringView value) {
2100
3036
  _upb_sethas(msg, 6);
2101
- *UPB_PTR_AT(msg, UPB_SIZE(60, 88), upb_StringView) = value;
3037
+ *UPB_PTR_AT(msg, UPB_SIZE(36, 64), upb_StringView) = value;
2102
3038
  }
2103
3039
  UPB_INLINE void validate_BytesRules_set_contains(validate_BytesRules *msg, upb_StringView value) {
2104
3040
  _upb_sethas(msg, 7);
2105
- *UPB_PTR_AT(msg, UPB_SIZE(68, 104), upb_StringView) = value;
3041
+ *UPB_PTR_AT(msg, UPB_SIZE(44, 80), upb_StringView) = value;
2106
3042
  }
2107
- UPB_INLINE upb_StringView* validate_BytesRules_mutable_in(validate_BytesRules *msg, size_t *len) {
2108
- return (upb_StringView*)_upb_array_mutable_accessor(msg, UPB_SIZE(76, 120), len);
3043
+ UPB_INLINE upb_StringView* validate_BytesRules_mutable_in(validate_BytesRules* msg, size_t* len) {
3044
+ return (upb_StringView*)_upb_array_mutable_accessor(msg, UPB_SIZE(52, 96), len);
2109
3045
  }
2110
- UPB_INLINE upb_StringView* validate_BytesRules_resize_in(validate_BytesRules *msg, size_t len, upb_Arena *arena) {
2111
- return (upb_StringView*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(76, 120), len, UPB_SIZE(3, 4), arena);
3046
+ UPB_INLINE upb_StringView* validate_BytesRules_resize_in(validate_BytesRules* msg, size_t len, upb_Arena* arena) {
3047
+ return (upb_StringView*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(52, 96), len, UPB_SIZE(3, 4), arena);
2112
3048
  }
2113
- UPB_INLINE bool validate_BytesRules_add_in(validate_BytesRules *msg, upb_StringView val, upb_Arena *arena) {
2114
- return _upb_Array_Append_accessor2(msg, UPB_SIZE(76, 120), UPB_SIZE(3, 4), &val,
2115
- arena);
3049
+ UPB_INLINE bool validate_BytesRules_add_in(validate_BytesRules* msg, upb_StringView val, upb_Arena* arena) {
3050
+ return _upb_Array_Append_accessor2(msg, UPB_SIZE(52, 96), UPB_SIZE(3, 4), &val, arena);
2116
3051
  }
2117
- UPB_INLINE upb_StringView* validate_BytesRules_mutable_not_in(validate_BytesRules *msg, size_t *len) {
2118
- return (upb_StringView*)_upb_array_mutable_accessor(msg, UPB_SIZE(80, 128), len);
3052
+ UPB_INLINE upb_StringView* validate_BytesRules_mutable_not_in(validate_BytesRules* msg, size_t* len) {
3053
+ return (upb_StringView*)_upb_array_mutable_accessor(msg, UPB_SIZE(56, 104), len);
2119
3054
  }
2120
- UPB_INLINE upb_StringView* validate_BytesRules_resize_not_in(validate_BytesRules *msg, size_t len, upb_Arena *arena) {
2121
- return (upb_StringView*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(80, 128), len, UPB_SIZE(3, 4), arena);
3055
+ UPB_INLINE upb_StringView* validate_BytesRules_resize_not_in(validate_BytesRules* msg, size_t len, upb_Arena* arena) {
3056
+ return (upb_StringView*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(56, 104), len, UPB_SIZE(3, 4), arena);
2122
3057
  }
2123
- UPB_INLINE bool validate_BytesRules_add_not_in(validate_BytesRules *msg, upb_StringView val, upb_Arena *arena) {
2124
- return _upb_Array_Append_accessor2(msg, UPB_SIZE(80, 128), UPB_SIZE(3, 4), &val,
2125
- arena);
3058
+ UPB_INLINE bool validate_BytesRules_add_not_in(validate_BytesRules* msg, upb_StringView val, upb_Arena* arena) {
3059
+ return _upb_Array_Append_accessor2(msg, UPB_SIZE(56, 104), UPB_SIZE(3, 4), &val, arena);
2126
3060
  }
2127
3061
  UPB_INLINE void validate_BytesRules_set_ip(validate_BytesRules *msg, bool value) {
2128
- UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(84, 136), value, UPB_SIZE(88, 140), 10);
3062
+ UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(2, 2), value, UPB_SIZE(4, 4), 10);
2129
3063
  }
2130
3064
  UPB_INLINE void validate_BytesRules_set_ipv4(validate_BytesRules *msg, bool value) {
2131
- UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(84, 136), value, UPB_SIZE(88, 140), 11);
3065
+ UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(2, 2), value, UPB_SIZE(4, 4), 11);
2132
3066
  }
2133
3067
  UPB_INLINE void validate_BytesRules_set_ipv6(validate_BytesRules *msg, bool value) {
2134
- UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(84, 136), value, UPB_SIZE(88, 140), 12);
3068
+ UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(2, 2), value, UPB_SIZE(4, 4), 12);
2135
3069
  }
2136
3070
  UPB_INLINE void validate_BytesRules_set_len(validate_BytesRules *msg, uint64_t value) {
2137
3071
  _upb_sethas(msg, 8);
2138
- *UPB_PTR_AT(msg, UPB_SIZE(24, 24), uint64_t) = value;
3072
+ *UPB_PTR_AT(msg, UPB_SIZE(80, 128), uint64_t) = value;
2139
3073
  }
2140
3074
  UPB_INLINE void validate_BytesRules_set_ignore_empty(validate_BytesRules *msg, bool value) {
2141
3075
  _upb_sethas(msg, 9);
2142
- *UPB_PTR_AT(msg, UPB_SIZE(32, 32), bool) = value;
3076
+ *UPB_PTR_AT(msg, UPB_SIZE(8, 8), bool) = value;
2143
3077
  }
2144
3078
 
2145
3079
  /* validate.EnumRules */
@@ -2173,16 +3107,38 @@ UPB_INLINE char* validate_EnumRules_serialize_ex(const validate_EnumRules* msg,
2173
3107
  upb_Arena* arena, size_t* len) {
2174
3108
  return upb_Encode(msg, &validate_EnumRules_msginit, options, arena, len);
2175
3109
  }
2176
- UPB_INLINE bool validate_EnumRules_has_const(const validate_EnumRules *msg) { return _upb_hasbit(msg, 1); }
3110
+ UPB_INLINE bool validate_EnumRules_has_const(const validate_EnumRules* msg) {
3111
+ return _upb_hasbit(msg, 1);
3112
+ }
3113
+ UPB_INLINE void validate_EnumRules_clear_const(const validate_EnumRules* msg) {
3114
+ *UPB_PTR_AT(msg, UPB_SIZE(4, 4), int32_t) = 0;
3115
+ _upb_clearhas(msg, 1);
3116
+ }
2177
3117
  UPB_INLINE int32_t validate_EnumRules_const(const validate_EnumRules* msg) {
2178
3118
  return *UPB_PTR_AT(msg, UPB_SIZE(4, 4), int32_t);
2179
3119
  }
2180
- UPB_INLINE bool validate_EnumRules_has_defined_only(const validate_EnumRules *msg) { return _upb_hasbit(msg, 2); }
3120
+ UPB_INLINE bool validate_EnumRules_has_defined_only(const validate_EnumRules* msg) {
3121
+ return _upb_hasbit(msg, 2);
3122
+ }
3123
+ UPB_INLINE void validate_EnumRules_clear_defined_only(const validate_EnumRules* msg) {
3124
+ *UPB_PTR_AT(msg, UPB_SIZE(8, 8), bool) = 0;
3125
+ _upb_clearhas(msg, 2);
3126
+ }
2181
3127
  UPB_INLINE bool validate_EnumRules_defined_only(const validate_EnumRules* msg) {
2182
3128
  return *UPB_PTR_AT(msg, UPB_SIZE(8, 8), bool);
2183
3129
  }
2184
- UPB_INLINE int32_t const* validate_EnumRules_in(const validate_EnumRules *msg, size_t *len) { return (int32_t const*)_upb_array_accessor(msg, UPB_SIZE(12, 16), len); }
2185
- UPB_INLINE int32_t const* validate_EnumRules_not_in(const validate_EnumRules *msg, size_t *len) { return (int32_t const*)_upb_array_accessor(msg, UPB_SIZE(16, 24), len); }
3130
+ UPB_INLINE void validate_EnumRules_clear_in(const validate_EnumRules* msg) {
3131
+ _upb_array_detach(msg, UPB_SIZE(12, 16));
3132
+ }
3133
+ UPB_INLINE int32_t const* validate_EnumRules_in(const validate_EnumRules* msg, size_t* len) {
3134
+ return (int32_t const*)_upb_array_accessor(msg, UPB_SIZE(12, 16), len);
3135
+ }
3136
+ UPB_INLINE void validate_EnumRules_clear_not_in(const validate_EnumRules* msg) {
3137
+ _upb_array_detach(msg, UPB_SIZE(16, 24));
3138
+ }
3139
+ UPB_INLINE int32_t const* validate_EnumRules_not_in(const validate_EnumRules* msg, size_t* len) {
3140
+ return (int32_t const*)_upb_array_accessor(msg, UPB_SIZE(16, 24), len);
3141
+ }
2186
3142
 
2187
3143
  UPB_INLINE void validate_EnumRules_set_const(validate_EnumRules *msg, int32_t value) {
2188
3144
  _upb_sethas(msg, 1);
@@ -2192,25 +3148,23 @@ UPB_INLINE void validate_EnumRules_set_defined_only(validate_EnumRules *msg, boo
2192
3148
  _upb_sethas(msg, 2);
2193
3149
  *UPB_PTR_AT(msg, UPB_SIZE(8, 8), bool) = value;
2194
3150
  }
2195
- UPB_INLINE int32_t* validate_EnumRules_mutable_in(validate_EnumRules *msg, size_t *len) {
3151
+ UPB_INLINE int32_t* validate_EnumRules_mutable_in(validate_EnumRules* msg, size_t* len) {
2196
3152
  return (int32_t*)_upb_array_mutable_accessor(msg, UPB_SIZE(12, 16), len);
2197
3153
  }
2198
- UPB_INLINE int32_t* validate_EnumRules_resize_in(validate_EnumRules *msg, size_t len, upb_Arena *arena) {
3154
+ UPB_INLINE int32_t* validate_EnumRules_resize_in(validate_EnumRules* msg, size_t len, upb_Arena* arena) {
2199
3155
  return (int32_t*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(12, 16), len, 2, arena);
2200
3156
  }
2201
- UPB_INLINE bool validate_EnumRules_add_in(validate_EnumRules *msg, int32_t val, upb_Arena *arena) {
2202
- return _upb_Array_Append_accessor2(msg, UPB_SIZE(12, 16), 2, &val,
2203
- arena);
3157
+ UPB_INLINE bool validate_EnumRules_add_in(validate_EnumRules* msg, int32_t val, upb_Arena* arena) {
3158
+ return _upb_Array_Append_accessor2(msg, UPB_SIZE(12, 16), 2, &val, arena);
2204
3159
  }
2205
- UPB_INLINE int32_t* validate_EnumRules_mutable_not_in(validate_EnumRules *msg, size_t *len) {
3160
+ UPB_INLINE int32_t* validate_EnumRules_mutable_not_in(validate_EnumRules* msg, size_t* len) {
2206
3161
  return (int32_t*)_upb_array_mutable_accessor(msg, UPB_SIZE(16, 24), len);
2207
3162
  }
2208
- UPB_INLINE int32_t* validate_EnumRules_resize_not_in(validate_EnumRules *msg, size_t len, upb_Arena *arena) {
3163
+ UPB_INLINE int32_t* validate_EnumRules_resize_not_in(validate_EnumRules* msg, size_t len, upb_Arena* arena) {
2209
3164
  return (int32_t*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(16, 24), len, 2, arena);
2210
3165
  }
2211
- UPB_INLINE bool validate_EnumRules_add_not_in(validate_EnumRules *msg, int32_t val, upb_Arena *arena) {
2212
- return _upb_Array_Append_accessor2(msg, UPB_SIZE(16, 24), 2, &val,
2213
- arena);
3166
+ UPB_INLINE bool validate_EnumRules_add_not_in(validate_EnumRules* msg, int32_t val, upb_Arena* arena) {
3167
+ return _upb_Array_Append_accessor2(msg, UPB_SIZE(16, 24), 2, &val, arena);
2214
3168
  }
2215
3169
 
2216
3170
  /* validate.MessageRules */
@@ -2244,11 +3198,23 @@ UPB_INLINE char* validate_MessageRules_serialize_ex(const validate_MessageRules*
2244
3198
  upb_Arena* arena, size_t* len) {
2245
3199
  return upb_Encode(msg, &validate_MessageRules_msginit, options, arena, len);
2246
3200
  }
2247
- UPB_INLINE bool validate_MessageRules_has_skip(const validate_MessageRules *msg) { return _upb_hasbit(msg, 1); }
3201
+ UPB_INLINE bool validate_MessageRules_has_skip(const validate_MessageRules* msg) {
3202
+ return _upb_hasbit(msg, 1);
3203
+ }
3204
+ UPB_INLINE void validate_MessageRules_clear_skip(const validate_MessageRules* msg) {
3205
+ *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool) = 0;
3206
+ _upb_clearhas(msg, 1);
3207
+ }
2248
3208
  UPB_INLINE bool validate_MessageRules_skip(const validate_MessageRules* msg) {
2249
3209
  return *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool);
2250
3210
  }
2251
- UPB_INLINE bool validate_MessageRules_has_required(const validate_MessageRules *msg) { return _upb_hasbit(msg, 2); }
3211
+ UPB_INLINE bool validate_MessageRules_has_required(const validate_MessageRules* msg) {
3212
+ return _upb_hasbit(msg, 2);
3213
+ }
3214
+ UPB_INLINE void validate_MessageRules_clear_required(const validate_MessageRules* msg) {
3215
+ *UPB_PTR_AT(msg, UPB_SIZE(2, 2), bool) = 0;
3216
+ _upb_clearhas(msg, 2);
3217
+ }
2252
3218
  UPB_INLINE bool validate_MessageRules_required(const validate_MessageRules* msg) {
2253
3219
  return *UPB_PTR_AT(msg, UPB_SIZE(2, 2), bool);
2254
3220
  }
@@ -2293,44 +3259,73 @@ UPB_INLINE char* validate_RepeatedRules_serialize_ex(const validate_RepeatedRule
2293
3259
  upb_Arena* arena, size_t* len) {
2294
3260
  return upb_Encode(msg, &validate_RepeatedRules_msginit, options, arena, len);
2295
3261
  }
2296
- UPB_INLINE bool validate_RepeatedRules_has_min_items(const validate_RepeatedRules *msg) { return _upb_hasbit(msg, 1); }
3262
+ UPB_INLINE bool validate_RepeatedRules_has_min_items(const validate_RepeatedRules* msg) {
3263
+ return _upb_hasbit(msg, 1);
3264
+ }
3265
+ UPB_INLINE void validate_RepeatedRules_clear_min_items(const validate_RepeatedRules* msg) {
3266
+ *UPB_PTR_AT(msg, UPB_SIZE(8, 16), uint64_t) = 0;
3267
+ _upb_clearhas(msg, 1);
3268
+ }
2297
3269
  UPB_INLINE uint64_t validate_RepeatedRules_min_items(const validate_RepeatedRules* msg) {
2298
- return *UPB_PTR_AT(msg, UPB_SIZE(8, 8), uint64_t);
3270
+ return *UPB_PTR_AT(msg, UPB_SIZE(8, 16), uint64_t);
3271
+ }
3272
+ UPB_INLINE bool validate_RepeatedRules_has_max_items(const validate_RepeatedRules* msg) {
3273
+ return _upb_hasbit(msg, 2);
3274
+ }
3275
+ UPB_INLINE void validate_RepeatedRules_clear_max_items(const validate_RepeatedRules* msg) {
3276
+ *UPB_PTR_AT(msg, UPB_SIZE(16, 24), uint64_t) = 0;
3277
+ _upb_clearhas(msg, 2);
2299
3278
  }
2300
- UPB_INLINE bool validate_RepeatedRules_has_max_items(const validate_RepeatedRules *msg) { return _upb_hasbit(msg, 2); }
2301
3279
  UPB_INLINE uint64_t validate_RepeatedRules_max_items(const validate_RepeatedRules* msg) {
2302
- return *UPB_PTR_AT(msg, UPB_SIZE(16, 16), uint64_t);
3280
+ return *UPB_PTR_AT(msg, UPB_SIZE(16, 24), uint64_t);
3281
+ }
3282
+ UPB_INLINE bool validate_RepeatedRules_has_unique(const validate_RepeatedRules* msg) {
3283
+ return _upb_hasbit(msg, 3);
3284
+ }
3285
+ UPB_INLINE void validate_RepeatedRules_clear_unique(const validate_RepeatedRules* msg) {
3286
+ *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool) = 0;
3287
+ _upb_clearhas(msg, 3);
2303
3288
  }
2304
- UPB_INLINE bool validate_RepeatedRules_has_unique(const validate_RepeatedRules *msg) { return _upb_hasbit(msg, 3); }
2305
3289
  UPB_INLINE bool validate_RepeatedRules_unique(const validate_RepeatedRules* msg) {
2306
- return *UPB_PTR_AT(msg, UPB_SIZE(24, 24), bool);
3290
+ return *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool);
3291
+ }
3292
+ UPB_INLINE bool validate_RepeatedRules_has_items(const validate_RepeatedRules* msg) {
3293
+ return _upb_hasbit(msg, 4);
3294
+ }
3295
+ UPB_INLINE void validate_RepeatedRules_clear_items(const validate_RepeatedRules* msg) {
3296
+ *UPB_PTR_AT(msg, UPB_SIZE(4, 8), const upb_Message*) = NULL;
2307
3297
  }
2308
- UPB_INLINE bool validate_RepeatedRules_has_items(const validate_RepeatedRules *msg) { return _upb_hasbit(msg, 4); }
2309
3298
  UPB_INLINE const validate_FieldRules* validate_RepeatedRules_items(const validate_RepeatedRules* msg) {
2310
- return *UPB_PTR_AT(msg, UPB_SIZE(28, 32), const validate_FieldRules*);
3299
+ return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), const validate_FieldRules*);
3300
+ }
3301
+ UPB_INLINE bool validate_RepeatedRules_has_ignore_empty(const validate_RepeatedRules* msg) {
3302
+ return _upb_hasbit(msg, 5);
3303
+ }
3304
+ UPB_INLINE void validate_RepeatedRules_clear_ignore_empty(const validate_RepeatedRules* msg) {
3305
+ *UPB_PTR_AT(msg, UPB_SIZE(2, 2), bool) = 0;
3306
+ _upb_clearhas(msg, 5);
2311
3307
  }
2312
- UPB_INLINE bool validate_RepeatedRules_has_ignore_empty(const validate_RepeatedRules *msg) { return _upb_hasbit(msg, 5); }
2313
3308
  UPB_INLINE bool validate_RepeatedRules_ignore_empty(const validate_RepeatedRules* msg) {
2314
- return *UPB_PTR_AT(msg, UPB_SIZE(25, 25), bool);
3309
+ return *UPB_PTR_AT(msg, UPB_SIZE(2, 2), bool);
2315
3310
  }
2316
3311
 
2317
3312
  UPB_INLINE void validate_RepeatedRules_set_min_items(validate_RepeatedRules *msg, uint64_t value) {
2318
3313
  _upb_sethas(msg, 1);
2319
- *UPB_PTR_AT(msg, UPB_SIZE(8, 8), uint64_t) = value;
3314
+ *UPB_PTR_AT(msg, UPB_SIZE(8, 16), uint64_t) = value;
2320
3315
  }
2321
3316
  UPB_INLINE void validate_RepeatedRules_set_max_items(validate_RepeatedRules *msg, uint64_t value) {
2322
3317
  _upb_sethas(msg, 2);
2323
- *UPB_PTR_AT(msg, UPB_SIZE(16, 16), uint64_t) = value;
3318
+ *UPB_PTR_AT(msg, UPB_SIZE(16, 24), uint64_t) = value;
2324
3319
  }
2325
3320
  UPB_INLINE void validate_RepeatedRules_set_unique(validate_RepeatedRules *msg, bool value) {
2326
3321
  _upb_sethas(msg, 3);
2327
- *UPB_PTR_AT(msg, UPB_SIZE(24, 24), bool) = value;
3322
+ *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool) = value;
2328
3323
  }
2329
3324
  UPB_INLINE void validate_RepeatedRules_set_items(validate_RepeatedRules *msg, validate_FieldRules* value) {
2330
3325
  _upb_sethas(msg, 4);
2331
- *UPB_PTR_AT(msg, UPB_SIZE(28, 32), validate_FieldRules*) = value;
3326
+ *UPB_PTR_AT(msg, UPB_SIZE(4, 8), validate_FieldRules*) = value;
2332
3327
  }
2333
- UPB_INLINE struct validate_FieldRules* validate_RepeatedRules_mutable_items(validate_RepeatedRules *msg, upb_Arena *arena) {
3328
+ UPB_INLINE struct validate_FieldRules* validate_RepeatedRules_mutable_items(validate_RepeatedRules* msg, upb_Arena* arena) {
2334
3329
  struct validate_FieldRules* sub = (struct validate_FieldRules*)validate_RepeatedRules_items(msg);
2335
3330
  if (sub == NULL) {
2336
3331
  sub = (struct validate_FieldRules*)_upb_Message_New(&validate_FieldRules_msginit, arena);
@@ -2341,7 +3336,7 @@ UPB_INLINE struct validate_FieldRules* validate_RepeatedRules_mutable_items(vali
2341
3336
  }
2342
3337
  UPB_INLINE void validate_RepeatedRules_set_ignore_empty(validate_RepeatedRules *msg, bool value) {
2343
3338
  _upb_sethas(msg, 5);
2344
- *UPB_PTR_AT(msg, UPB_SIZE(25, 25), bool) = value;
3339
+ *UPB_PTR_AT(msg, UPB_SIZE(2, 2), bool) = value;
2345
3340
  }
2346
3341
 
2347
3342
  /* validate.MapRules */
@@ -2375,48 +3370,82 @@ UPB_INLINE char* validate_MapRules_serialize_ex(const validate_MapRules* msg, in
2375
3370
  upb_Arena* arena, size_t* len) {
2376
3371
  return upb_Encode(msg, &validate_MapRules_msginit, options, arena, len);
2377
3372
  }
2378
- UPB_INLINE bool validate_MapRules_has_min_pairs(const validate_MapRules *msg) { return _upb_hasbit(msg, 1); }
3373
+ UPB_INLINE bool validate_MapRules_has_min_pairs(const validate_MapRules* msg) {
3374
+ return _upb_hasbit(msg, 1);
3375
+ }
3376
+ UPB_INLINE void validate_MapRules_clear_min_pairs(const validate_MapRules* msg) {
3377
+ *UPB_PTR_AT(msg, UPB_SIZE(16, 24), uint64_t) = 0;
3378
+ _upb_clearhas(msg, 1);
3379
+ }
2379
3380
  UPB_INLINE uint64_t validate_MapRules_min_pairs(const validate_MapRules* msg) {
2380
- return *UPB_PTR_AT(msg, UPB_SIZE(8, 8), uint64_t);
3381
+ return *UPB_PTR_AT(msg, UPB_SIZE(16, 24), uint64_t);
3382
+ }
3383
+ UPB_INLINE bool validate_MapRules_has_max_pairs(const validate_MapRules* msg) {
3384
+ return _upb_hasbit(msg, 2);
3385
+ }
3386
+ UPB_INLINE void validate_MapRules_clear_max_pairs(const validate_MapRules* msg) {
3387
+ *UPB_PTR_AT(msg, UPB_SIZE(24, 32), uint64_t) = 0;
3388
+ _upb_clearhas(msg, 2);
2381
3389
  }
2382
- UPB_INLINE bool validate_MapRules_has_max_pairs(const validate_MapRules *msg) { return _upb_hasbit(msg, 2); }
2383
3390
  UPB_INLINE uint64_t validate_MapRules_max_pairs(const validate_MapRules* msg) {
2384
- return *UPB_PTR_AT(msg, UPB_SIZE(16, 16), uint64_t);
3391
+ return *UPB_PTR_AT(msg, UPB_SIZE(24, 32), uint64_t);
3392
+ }
3393
+ UPB_INLINE bool validate_MapRules_has_no_sparse(const validate_MapRules* msg) {
3394
+ return _upb_hasbit(msg, 3);
3395
+ }
3396
+ UPB_INLINE void validate_MapRules_clear_no_sparse(const validate_MapRules* msg) {
3397
+ *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool) = 0;
3398
+ _upb_clearhas(msg, 3);
2385
3399
  }
2386
- UPB_INLINE bool validate_MapRules_has_no_sparse(const validate_MapRules *msg) { return _upb_hasbit(msg, 3); }
2387
3400
  UPB_INLINE bool validate_MapRules_no_sparse(const validate_MapRules* msg) {
2388
- return *UPB_PTR_AT(msg, UPB_SIZE(24, 24), bool);
3401
+ return *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool);
3402
+ }
3403
+ UPB_INLINE bool validate_MapRules_has_keys(const validate_MapRules* msg) {
3404
+ return _upb_hasbit(msg, 4);
3405
+ }
3406
+ UPB_INLINE void validate_MapRules_clear_keys(const validate_MapRules* msg) {
3407
+ *UPB_PTR_AT(msg, UPB_SIZE(4, 8), const upb_Message*) = NULL;
2389
3408
  }
2390
- UPB_INLINE bool validate_MapRules_has_keys(const validate_MapRules *msg) { return _upb_hasbit(msg, 4); }
2391
3409
  UPB_INLINE const validate_FieldRules* validate_MapRules_keys(const validate_MapRules* msg) {
2392
- return *UPB_PTR_AT(msg, UPB_SIZE(28, 32), const validate_FieldRules*);
3410
+ return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), const validate_FieldRules*);
3411
+ }
3412
+ UPB_INLINE bool validate_MapRules_has_values(const validate_MapRules* msg) {
3413
+ return _upb_hasbit(msg, 5);
3414
+ }
3415
+ UPB_INLINE void validate_MapRules_clear_values(const validate_MapRules* msg) {
3416
+ *UPB_PTR_AT(msg, UPB_SIZE(8, 16), const upb_Message*) = NULL;
2393
3417
  }
2394
- UPB_INLINE bool validate_MapRules_has_values(const validate_MapRules *msg) { return _upb_hasbit(msg, 5); }
2395
3418
  UPB_INLINE const validate_FieldRules* validate_MapRules_values(const validate_MapRules* msg) {
2396
- return *UPB_PTR_AT(msg, UPB_SIZE(32, 40), const validate_FieldRules*);
3419
+ return *UPB_PTR_AT(msg, UPB_SIZE(8, 16), const validate_FieldRules*);
3420
+ }
3421
+ UPB_INLINE bool validate_MapRules_has_ignore_empty(const validate_MapRules* msg) {
3422
+ return _upb_hasbit(msg, 6);
3423
+ }
3424
+ UPB_INLINE void validate_MapRules_clear_ignore_empty(const validate_MapRules* msg) {
3425
+ *UPB_PTR_AT(msg, UPB_SIZE(2, 2), bool) = 0;
3426
+ _upb_clearhas(msg, 6);
2397
3427
  }
2398
- UPB_INLINE bool validate_MapRules_has_ignore_empty(const validate_MapRules *msg) { return _upb_hasbit(msg, 6); }
2399
3428
  UPB_INLINE bool validate_MapRules_ignore_empty(const validate_MapRules* msg) {
2400
- return *UPB_PTR_AT(msg, UPB_SIZE(25, 25), bool);
3429
+ return *UPB_PTR_AT(msg, UPB_SIZE(2, 2), bool);
2401
3430
  }
2402
3431
 
2403
3432
  UPB_INLINE void validate_MapRules_set_min_pairs(validate_MapRules *msg, uint64_t value) {
2404
3433
  _upb_sethas(msg, 1);
2405
- *UPB_PTR_AT(msg, UPB_SIZE(8, 8), uint64_t) = value;
3434
+ *UPB_PTR_AT(msg, UPB_SIZE(16, 24), uint64_t) = value;
2406
3435
  }
2407
3436
  UPB_INLINE void validate_MapRules_set_max_pairs(validate_MapRules *msg, uint64_t value) {
2408
3437
  _upb_sethas(msg, 2);
2409
- *UPB_PTR_AT(msg, UPB_SIZE(16, 16), uint64_t) = value;
3438
+ *UPB_PTR_AT(msg, UPB_SIZE(24, 32), uint64_t) = value;
2410
3439
  }
2411
3440
  UPB_INLINE void validate_MapRules_set_no_sparse(validate_MapRules *msg, bool value) {
2412
3441
  _upb_sethas(msg, 3);
2413
- *UPB_PTR_AT(msg, UPB_SIZE(24, 24), bool) = value;
3442
+ *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool) = value;
2414
3443
  }
2415
3444
  UPB_INLINE void validate_MapRules_set_keys(validate_MapRules *msg, validate_FieldRules* value) {
2416
3445
  _upb_sethas(msg, 4);
2417
- *UPB_PTR_AT(msg, UPB_SIZE(28, 32), validate_FieldRules*) = value;
3446
+ *UPB_PTR_AT(msg, UPB_SIZE(4, 8), validate_FieldRules*) = value;
2418
3447
  }
2419
- UPB_INLINE struct validate_FieldRules* validate_MapRules_mutable_keys(validate_MapRules *msg, upb_Arena *arena) {
3448
+ UPB_INLINE struct validate_FieldRules* validate_MapRules_mutable_keys(validate_MapRules* msg, upb_Arena* arena) {
2420
3449
  struct validate_FieldRules* sub = (struct validate_FieldRules*)validate_MapRules_keys(msg);
2421
3450
  if (sub == NULL) {
2422
3451
  sub = (struct validate_FieldRules*)_upb_Message_New(&validate_FieldRules_msginit, arena);
@@ -2427,9 +3456,9 @@ UPB_INLINE struct validate_FieldRules* validate_MapRules_mutable_keys(validate_M
2427
3456
  }
2428
3457
  UPB_INLINE void validate_MapRules_set_values(validate_MapRules *msg, validate_FieldRules* value) {
2429
3458
  _upb_sethas(msg, 5);
2430
- *UPB_PTR_AT(msg, UPB_SIZE(32, 40), validate_FieldRules*) = value;
3459
+ *UPB_PTR_AT(msg, UPB_SIZE(8, 16), validate_FieldRules*) = value;
2431
3460
  }
2432
- UPB_INLINE struct validate_FieldRules* validate_MapRules_mutable_values(validate_MapRules *msg, upb_Arena *arena) {
3461
+ UPB_INLINE struct validate_FieldRules* validate_MapRules_mutable_values(validate_MapRules* msg, upb_Arena* arena) {
2433
3462
  struct validate_FieldRules* sub = (struct validate_FieldRules*)validate_MapRules_values(msg);
2434
3463
  if (sub == NULL) {
2435
3464
  sub = (struct validate_FieldRules*)_upb_Message_New(&validate_FieldRules_msginit, arena);
@@ -2440,7 +3469,7 @@ UPB_INLINE struct validate_FieldRules* validate_MapRules_mutable_values(validate
2440
3469
  }
2441
3470
  UPB_INLINE void validate_MapRules_set_ignore_empty(validate_MapRules *msg, bool value) {
2442
3471
  _upb_sethas(msg, 6);
2443
- *UPB_PTR_AT(msg, UPB_SIZE(25, 25), bool) = value;
3472
+ *UPB_PTR_AT(msg, UPB_SIZE(2, 2), bool) = value;
2444
3473
  }
2445
3474
 
2446
3475
  /* validate.AnyRules */
@@ -2474,36 +3503,50 @@ UPB_INLINE char* validate_AnyRules_serialize_ex(const validate_AnyRules* msg, in
2474
3503
  upb_Arena* arena, size_t* len) {
2475
3504
  return upb_Encode(msg, &validate_AnyRules_msginit, options, arena, len);
2476
3505
  }
2477
- UPB_INLINE bool validate_AnyRules_has_required(const validate_AnyRules *msg) { return _upb_hasbit(msg, 1); }
3506
+ UPB_INLINE bool validate_AnyRules_has_required(const validate_AnyRules* msg) {
3507
+ return _upb_hasbit(msg, 1);
3508
+ }
3509
+ UPB_INLINE void validate_AnyRules_clear_required(const validate_AnyRules* msg) {
3510
+ *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool) = 0;
3511
+ _upb_clearhas(msg, 1);
3512
+ }
2478
3513
  UPB_INLINE bool validate_AnyRules_required(const validate_AnyRules* msg) {
2479
3514
  return *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool);
2480
3515
  }
2481
- UPB_INLINE upb_StringView const* validate_AnyRules_in(const validate_AnyRules *msg, size_t *len) { return (upb_StringView const*)_upb_array_accessor(msg, UPB_SIZE(4, 8), len); }
2482
- UPB_INLINE upb_StringView const* validate_AnyRules_not_in(const validate_AnyRules *msg, size_t *len) { return (upb_StringView const*)_upb_array_accessor(msg, UPB_SIZE(8, 16), len); }
3516
+ UPB_INLINE void validate_AnyRules_clear_in(const validate_AnyRules* msg) {
3517
+ _upb_array_detach(msg, UPB_SIZE(4, 8));
3518
+ }
3519
+ UPB_INLINE upb_StringView const* validate_AnyRules_in(const validate_AnyRules* msg, size_t* len) {
3520
+ return (upb_StringView const*)_upb_array_accessor(msg, UPB_SIZE(4, 8), len);
3521
+ }
3522
+ UPB_INLINE void validate_AnyRules_clear_not_in(const validate_AnyRules* msg) {
3523
+ _upb_array_detach(msg, UPB_SIZE(8, 16));
3524
+ }
3525
+ UPB_INLINE upb_StringView const* validate_AnyRules_not_in(const validate_AnyRules* msg, size_t* len) {
3526
+ return (upb_StringView const*)_upb_array_accessor(msg, UPB_SIZE(8, 16), len);
3527
+ }
2483
3528
 
2484
3529
  UPB_INLINE void validate_AnyRules_set_required(validate_AnyRules *msg, bool value) {
2485
3530
  _upb_sethas(msg, 1);
2486
3531
  *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool) = value;
2487
3532
  }
2488
- UPB_INLINE upb_StringView* validate_AnyRules_mutable_in(validate_AnyRules *msg, size_t *len) {
3533
+ UPB_INLINE upb_StringView* validate_AnyRules_mutable_in(validate_AnyRules* msg, size_t* len) {
2489
3534
  return (upb_StringView*)_upb_array_mutable_accessor(msg, UPB_SIZE(4, 8), len);
2490
3535
  }
2491
- UPB_INLINE upb_StringView* validate_AnyRules_resize_in(validate_AnyRules *msg, size_t len, upb_Arena *arena) {
3536
+ UPB_INLINE upb_StringView* validate_AnyRules_resize_in(validate_AnyRules* msg, size_t len, upb_Arena* arena) {
2492
3537
  return (upb_StringView*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(4, 8), len, UPB_SIZE(3, 4), arena);
2493
3538
  }
2494
- UPB_INLINE bool validate_AnyRules_add_in(validate_AnyRules *msg, upb_StringView val, upb_Arena *arena) {
2495
- return _upb_Array_Append_accessor2(msg, UPB_SIZE(4, 8), UPB_SIZE(3, 4), &val,
2496
- arena);
3539
+ UPB_INLINE bool validate_AnyRules_add_in(validate_AnyRules* msg, upb_StringView val, upb_Arena* arena) {
3540
+ return _upb_Array_Append_accessor2(msg, UPB_SIZE(4, 8), UPB_SIZE(3, 4), &val, arena);
2497
3541
  }
2498
- UPB_INLINE upb_StringView* validate_AnyRules_mutable_not_in(validate_AnyRules *msg, size_t *len) {
3542
+ UPB_INLINE upb_StringView* validate_AnyRules_mutable_not_in(validate_AnyRules* msg, size_t* len) {
2499
3543
  return (upb_StringView*)_upb_array_mutable_accessor(msg, UPB_SIZE(8, 16), len);
2500
3544
  }
2501
- UPB_INLINE upb_StringView* validate_AnyRules_resize_not_in(validate_AnyRules *msg, size_t len, upb_Arena *arena) {
3545
+ UPB_INLINE upb_StringView* validate_AnyRules_resize_not_in(validate_AnyRules* msg, size_t len, upb_Arena* arena) {
2502
3546
  return (upb_StringView*)_upb_Array_Resize_accessor2(msg, UPB_SIZE(8, 16), len, UPB_SIZE(3, 4), arena);
2503
3547
  }
2504
- UPB_INLINE bool validate_AnyRules_add_not_in(validate_AnyRules *msg, upb_StringView val, upb_Arena *arena) {
2505
- return _upb_Array_Append_accessor2(msg, UPB_SIZE(8, 16), UPB_SIZE(3, 4), &val,
2506
- arena);
3548
+ UPB_INLINE bool validate_AnyRules_add_not_in(validate_AnyRules* msg, upb_StringView val, upb_Arena* arena) {
3549
+ return _upb_Array_Append_accessor2(msg, UPB_SIZE(8, 16), UPB_SIZE(3, 4), &val, arena);
2507
3550
  }
2508
3551
 
2509
3552
  /* validate.DurationRules */
@@ -2537,34 +3580,79 @@ UPB_INLINE char* validate_DurationRules_serialize_ex(const validate_DurationRule
2537
3580
  upb_Arena* arena, size_t* len) {
2538
3581
  return upb_Encode(msg, &validate_DurationRules_msginit, options, arena, len);
2539
3582
  }
2540
- UPB_INLINE bool validate_DurationRules_has_required(const validate_DurationRules *msg) { return _upb_hasbit(msg, 1); }
3583
+ UPB_INLINE bool validate_DurationRules_has_required(const validate_DurationRules* msg) {
3584
+ return _upb_hasbit(msg, 1);
3585
+ }
3586
+ UPB_INLINE void validate_DurationRules_clear_required(const validate_DurationRules* msg) {
3587
+ *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool) = 0;
3588
+ _upb_clearhas(msg, 1);
3589
+ }
2541
3590
  UPB_INLINE bool validate_DurationRules_required(const validate_DurationRules* msg) {
2542
3591
  return *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool);
2543
3592
  }
2544
- UPB_INLINE bool validate_DurationRules_has_const(const validate_DurationRules *msg) { return _upb_hasbit(msg, 2); }
3593
+ UPB_INLINE bool validate_DurationRules_has_const(const validate_DurationRules* msg) {
3594
+ return _upb_hasbit(msg, 2);
3595
+ }
3596
+ UPB_INLINE void validate_DurationRules_clear_const(const validate_DurationRules* msg) {
3597
+ *UPB_PTR_AT(msg, UPB_SIZE(4, 8), const upb_Message*) = NULL;
3598
+ }
2545
3599
  UPB_INLINE const struct google_protobuf_Duration* validate_DurationRules_const(const validate_DurationRules* msg) {
2546
3600
  return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), const struct google_protobuf_Duration*);
2547
3601
  }
2548
- UPB_INLINE bool validate_DurationRules_has_lt(const validate_DurationRules *msg) { return _upb_hasbit(msg, 3); }
3602
+ UPB_INLINE bool validate_DurationRules_has_lt(const validate_DurationRules* msg) {
3603
+ return _upb_hasbit(msg, 3);
3604
+ }
3605
+ UPB_INLINE void validate_DurationRules_clear_lt(const validate_DurationRules* msg) {
3606
+ *UPB_PTR_AT(msg, UPB_SIZE(8, 16), const upb_Message*) = NULL;
3607
+ }
2549
3608
  UPB_INLINE const struct google_protobuf_Duration* validate_DurationRules_lt(const validate_DurationRules* msg) {
2550
3609
  return *UPB_PTR_AT(msg, UPB_SIZE(8, 16), const struct google_protobuf_Duration*);
2551
3610
  }
2552
- UPB_INLINE bool validate_DurationRules_has_lte(const validate_DurationRules *msg) { return _upb_hasbit(msg, 4); }
3611
+ UPB_INLINE bool validate_DurationRules_has_lte(const validate_DurationRules* msg) {
3612
+ return _upb_hasbit(msg, 4);
3613
+ }
3614
+ UPB_INLINE void validate_DurationRules_clear_lte(const validate_DurationRules* msg) {
3615
+ *UPB_PTR_AT(msg, UPB_SIZE(12, 24), const upb_Message*) = NULL;
3616
+ }
2553
3617
  UPB_INLINE const struct google_protobuf_Duration* validate_DurationRules_lte(const validate_DurationRules* msg) {
2554
3618
  return *UPB_PTR_AT(msg, UPB_SIZE(12, 24), const struct google_protobuf_Duration*);
2555
3619
  }
2556
- UPB_INLINE bool validate_DurationRules_has_gt(const validate_DurationRules *msg) { return _upb_hasbit(msg, 5); }
3620
+ UPB_INLINE bool validate_DurationRules_has_gt(const validate_DurationRules* msg) {
3621
+ return _upb_hasbit(msg, 5);
3622
+ }
3623
+ UPB_INLINE void validate_DurationRules_clear_gt(const validate_DurationRules* msg) {
3624
+ *UPB_PTR_AT(msg, UPB_SIZE(16, 32), const upb_Message*) = NULL;
3625
+ }
2557
3626
  UPB_INLINE const struct google_protobuf_Duration* validate_DurationRules_gt(const validate_DurationRules* msg) {
2558
3627
  return *UPB_PTR_AT(msg, UPB_SIZE(16, 32), const struct google_protobuf_Duration*);
2559
3628
  }
2560
- UPB_INLINE bool validate_DurationRules_has_gte(const validate_DurationRules *msg) { return _upb_hasbit(msg, 6); }
3629
+ UPB_INLINE bool validate_DurationRules_has_gte(const validate_DurationRules* msg) {
3630
+ return _upb_hasbit(msg, 6);
3631
+ }
3632
+ UPB_INLINE void validate_DurationRules_clear_gte(const validate_DurationRules* msg) {
3633
+ *UPB_PTR_AT(msg, UPB_SIZE(20, 40), const upb_Message*) = NULL;
3634
+ }
2561
3635
  UPB_INLINE const struct google_protobuf_Duration* validate_DurationRules_gte(const validate_DurationRules* msg) {
2562
3636
  return *UPB_PTR_AT(msg, UPB_SIZE(20, 40), const struct google_protobuf_Duration*);
2563
3637
  }
2564
- UPB_INLINE bool validate_DurationRules_has_in(const validate_DurationRules *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(24, 48)); }
2565
- UPB_INLINE const struct google_protobuf_Duration* const* validate_DurationRules_in(const validate_DurationRules *msg, size_t *len) { return (const struct google_protobuf_Duration* const*)_upb_array_accessor(msg, UPB_SIZE(24, 48), len); }
2566
- UPB_INLINE bool validate_DurationRules_has_not_in(const validate_DurationRules *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(28, 56)); }
2567
- UPB_INLINE const struct google_protobuf_Duration* const* validate_DurationRules_not_in(const validate_DurationRules *msg, size_t *len) { return (const struct google_protobuf_Duration* const*)_upb_array_accessor(msg, UPB_SIZE(28, 56), len); }
3638
+ UPB_INLINE bool validate_DurationRules_has_in(const validate_DurationRules* msg) {
3639
+ return _upb_has_submsg_nohasbit(msg, UPB_SIZE(24, 48));
3640
+ }
3641
+ UPB_INLINE void validate_DurationRules_clear_in(const validate_DurationRules* msg) {
3642
+ _upb_array_detach(msg, UPB_SIZE(24, 48));
3643
+ }
3644
+ UPB_INLINE const struct google_protobuf_Duration* const* validate_DurationRules_in(const validate_DurationRules* msg, size_t* len) {
3645
+ return (const struct google_protobuf_Duration* const*)_upb_array_accessor(msg, UPB_SIZE(24, 48), len);
3646
+ }
3647
+ UPB_INLINE bool validate_DurationRules_has_not_in(const validate_DurationRules* msg) {
3648
+ return _upb_has_submsg_nohasbit(msg, UPB_SIZE(28, 56));
3649
+ }
3650
+ UPB_INLINE void validate_DurationRules_clear_not_in(const validate_DurationRules* msg) {
3651
+ _upb_array_detach(msg, UPB_SIZE(28, 56));
3652
+ }
3653
+ UPB_INLINE const struct google_protobuf_Duration* const* validate_DurationRules_not_in(const validate_DurationRules* msg, size_t* len) {
3654
+ return (const struct google_protobuf_Duration* const*)_upb_array_accessor(msg, UPB_SIZE(28, 56), len);
3655
+ }
2568
3656
 
2569
3657
  UPB_INLINE void validate_DurationRules_set_required(validate_DurationRules *msg, bool value) {
2570
3658
  _upb_sethas(msg, 1);
@@ -2574,7 +3662,7 @@ UPB_INLINE void validate_DurationRules_set_const(validate_DurationRules *msg, st
2574
3662
  _upb_sethas(msg, 2);
2575
3663
  *UPB_PTR_AT(msg, UPB_SIZE(4, 8), struct google_protobuf_Duration*) = value;
2576
3664
  }
2577
- UPB_INLINE struct google_protobuf_Duration* validate_DurationRules_mutable_const(validate_DurationRules *msg, upb_Arena *arena) {
3665
+ UPB_INLINE struct google_protobuf_Duration* validate_DurationRules_mutable_const(validate_DurationRules* msg, upb_Arena* arena) {
2578
3666
  struct google_protobuf_Duration* sub = (struct google_protobuf_Duration*)validate_DurationRules_const(msg);
2579
3667
  if (sub == NULL) {
2580
3668
  sub = (struct google_protobuf_Duration*)_upb_Message_New(&google_protobuf_Duration_msginit, arena);
@@ -2587,7 +3675,7 @@ UPB_INLINE void validate_DurationRules_set_lt(validate_DurationRules *msg, struc
2587
3675
  _upb_sethas(msg, 3);
2588
3676
  *UPB_PTR_AT(msg, UPB_SIZE(8, 16), struct google_protobuf_Duration*) = value;
2589
3677
  }
2590
- UPB_INLINE struct google_protobuf_Duration* validate_DurationRules_mutable_lt(validate_DurationRules *msg, upb_Arena *arena) {
3678
+ UPB_INLINE struct google_protobuf_Duration* validate_DurationRules_mutable_lt(validate_DurationRules* msg, upb_Arena* arena) {
2591
3679
  struct google_protobuf_Duration* sub = (struct google_protobuf_Duration*)validate_DurationRules_lt(msg);
2592
3680
  if (sub == NULL) {
2593
3681
  sub = (struct google_protobuf_Duration*)_upb_Message_New(&google_protobuf_Duration_msginit, arena);
@@ -2600,7 +3688,7 @@ UPB_INLINE void validate_DurationRules_set_lte(validate_DurationRules *msg, stru
2600
3688
  _upb_sethas(msg, 4);
2601
3689
  *UPB_PTR_AT(msg, UPB_SIZE(12, 24), struct google_protobuf_Duration*) = value;
2602
3690
  }
2603
- UPB_INLINE struct google_protobuf_Duration* validate_DurationRules_mutable_lte(validate_DurationRules *msg, upb_Arena *arena) {
3691
+ UPB_INLINE struct google_protobuf_Duration* validate_DurationRules_mutable_lte(validate_DurationRules* msg, upb_Arena* arena) {
2604
3692
  struct google_protobuf_Duration* sub = (struct google_protobuf_Duration*)validate_DurationRules_lte(msg);
2605
3693
  if (sub == NULL) {
2606
3694
  sub = (struct google_protobuf_Duration*)_upb_Message_New(&google_protobuf_Duration_msginit, arena);
@@ -2613,7 +3701,7 @@ UPB_INLINE void validate_DurationRules_set_gt(validate_DurationRules *msg, struc
2613
3701
  _upb_sethas(msg, 5);
2614
3702
  *UPB_PTR_AT(msg, UPB_SIZE(16, 32), struct google_protobuf_Duration*) = value;
2615
3703
  }
2616
- UPB_INLINE struct google_protobuf_Duration* validate_DurationRules_mutable_gt(validate_DurationRules *msg, upb_Arena *arena) {
3704
+ UPB_INLINE struct google_protobuf_Duration* validate_DurationRules_mutable_gt(validate_DurationRules* msg, upb_Arena* arena) {
2617
3705
  struct google_protobuf_Duration* sub = (struct google_protobuf_Duration*)validate_DurationRules_gt(msg);
2618
3706
  if (sub == NULL) {
2619
3707
  sub = (struct google_protobuf_Duration*)_upb_Message_New(&google_protobuf_Duration_msginit, arena);
@@ -2626,7 +3714,7 @@ UPB_INLINE void validate_DurationRules_set_gte(validate_DurationRules *msg, stru
2626
3714
  _upb_sethas(msg, 6);
2627
3715
  *UPB_PTR_AT(msg, UPB_SIZE(20, 40), struct google_protobuf_Duration*) = value;
2628
3716
  }
2629
- UPB_INLINE struct google_protobuf_Duration* validate_DurationRules_mutable_gte(validate_DurationRules *msg, upb_Arena *arena) {
3717
+ UPB_INLINE struct google_protobuf_Duration* validate_DurationRules_mutable_gte(validate_DurationRules* msg, upb_Arena* arena) {
2630
3718
  struct google_protobuf_Duration* sub = (struct google_protobuf_Duration*)validate_DurationRules_gte(msg);
2631
3719
  if (sub == NULL) {
2632
3720
  sub = (struct google_protobuf_Duration*)_upb_Message_New(&google_protobuf_Duration_msginit, arena);
@@ -2635,29 +3723,27 @@ UPB_INLINE struct google_protobuf_Duration* validate_DurationRules_mutable_gte(v
2635
3723
  }
2636
3724
  return sub;
2637
3725
  }
2638
- UPB_INLINE struct google_protobuf_Duration** validate_DurationRules_mutable_in(validate_DurationRules *msg, size_t *len) {
3726
+ UPB_INLINE struct google_protobuf_Duration** validate_DurationRules_mutable_in(validate_DurationRules* msg, size_t* len) {
2639
3727
  return (struct google_protobuf_Duration**)_upb_array_mutable_accessor(msg, UPB_SIZE(24, 48), len);
2640
3728
  }
2641
- UPB_INLINE struct google_protobuf_Duration** validate_DurationRules_resize_in(validate_DurationRules *msg, size_t len, upb_Arena *arena) {
3729
+ UPB_INLINE struct google_protobuf_Duration** validate_DurationRules_resize_in(validate_DurationRules* msg, size_t len, upb_Arena* arena) {
2642
3730
  return (struct google_protobuf_Duration**)_upb_Array_Resize_accessor2(msg, UPB_SIZE(24, 48), len, UPB_SIZE(2, 3), arena);
2643
3731
  }
2644
- UPB_INLINE struct google_protobuf_Duration* validate_DurationRules_add_in(validate_DurationRules *msg, upb_Arena *arena) {
3732
+ UPB_INLINE struct google_protobuf_Duration* validate_DurationRules_add_in(validate_DurationRules* msg, upb_Arena* arena) {
2645
3733
  struct google_protobuf_Duration* sub = (struct google_protobuf_Duration*)_upb_Message_New(&google_protobuf_Duration_msginit, arena);
2646
- bool ok = _upb_Array_Append_accessor2(
2647
- msg, UPB_SIZE(24, 48), UPB_SIZE(2, 3), &sub, arena);
3734
+ bool ok = _upb_Array_Append_accessor2(msg, UPB_SIZE(24, 48), UPB_SIZE(2, 3), &sub, arena);
2648
3735
  if (!ok) return NULL;
2649
3736
  return sub;
2650
3737
  }
2651
- UPB_INLINE struct google_protobuf_Duration** validate_DurationRules_mutable_not_in(validate_DurationRules *msg, size_t *len) {
3738
+ UPB_INLINE struct google_protobuf_Duration** validate_DurationRules_mutable_not_in(validate_DurationRules* msg, size_t* len) {
2652
3739
  return (struct google_protobuf_Duration**)_upb_array_mutable_accessor(msg, UPB_SIZE(28, 56), len);
2653
3740
  }
2654
- UPB_INLINE struct google_protobuf_Duration** validate_DurationRules_resize_not_in(validate_DurationRules *msg, size_t len, upb_Arena *arena) {
3741
+ UPB_INLINE struct google_protobuf_Duration** validate_DurationRules_resize_not_in(validate_DurationRules* msg, size_t len, upb_Arena* arena) {
2655
3742
  return (struct google_protobuf_Duration**)_upb_Array_Resize_accessor2(msg, UPB_SIZE(28, 56), len, UPB_SIZE(2, 3), arena);
2656
3743
  }
2657
- UPB_INLINE struct google_protobuf_Duration* validate_DurationRules_add_not_in(validate_DurationRules *msg, upb_Arena *arena) {
3744
+ UPB_INLINE struct google_protobuf_Duration* validate_DurationRules_add_not_in(validate_DurationRules* msg, upb_Arena* arena) {
2658
3745
  struct google_protobuf_Duration* sub = (struct google_protobuf_Duration*)_upb_Message_New(&google_protobuf_Duration_msginit, arena);
2659
- bool ok = _upb_Array_Append_accessor2(
2660
- msg, UPB_SIZE(28, 56), UPB_SIZE(2, 3), &sub, arena);
3746
+ bool ok = _upb_Array_Append_accessor2(msg, UPB_SIZE(28, 56), UPB_SIZE(2, 3), &sub, arena);
2661
3747
  if (!ok) return NULL;
2662
3748
  return sub;
2663
3749
  }
@@ -2693,39 +3779,87 @@ UPB_INLINE char* validate_TimestampRules_serialize_ex(const validate_TimestampRu
2693
3779
  upb_Arena* arena, size_t* len) {
2694
3780
  return upb_Encode(msg, &validate_TimestampRules_msginit, options, arena, len);
2695
3781
  }
2696
- UPB_INLINE bool validate_TimestampRules_has_required(const validate_TimestampRules *msg) { return _upb_hasbit(msg, 1); }
3782
+ UPB_INLINE bool validate_TimestampRules_has_required(const validate_TimestampRules* msg) {
3783
+ return _upb_hasbit(msg, 1);
3784
+ }
3785
+ UPB_INLINE void validate_TimestampRules_clear_required(const validate_TimestampRules* msg) {
3786
+ *UPB_PTR_AT(msg, UPB_SIZE(2, 2), bool) = 0;
3787
+ _upb_clearhas(msg, 1);
3788
+ }
2697
3789
  UPB_INLINE bool validate_TimestampRules_required(const validate_TimestampRules* msg) {
2698
3790
  return *UPB_PTR_AT(msg, UPB_SIZE(2, 2), bool);
2699
3791
  }
2700
- UPB_INLINE bool validate_TimestampRules_has_const(const validate_TimestampRules *msg) { return _upb_hasbit(msg, 2); }
3792
+ UPB_INLINE bool validate_TimestampRules_has_const(const validate_TimestampRules* msg) {
3793
+ return _upb_hasbit(msg, 2);
3794
+ }
3795
+ UPB_INLINE void validate_TimestampRules_clear_const(const validate_TimestampRules* msg) {
3796
+ *UPB_PTR_AT(msg, UPB_SIZE(8, 8), const upb_Message*) = NULL;
3797
+ }
2701
3798
  UPB_INLINE const struct google_protobuf_Timestamp* validate_TimestampRules_const(const validate_TimestampRules* msg) {
2702
3799
  return *UPB_PTR_AT(msg, UPB_SIZE(8, 8), const struct google_protobuf_Timestamp*);
2703
3800
  }
2704
- UPB_INLINE bool validate_TimestampRules_has_lt(const validate_TimestampRules *msg) { return _upb_hasbit(msg, 3); }
3801
+ UPB_INLINE bool validate_TimestampRules_has_lt(const validate_TimestampRules* msg) {
3802
+ return _upb_hasbit(msg, 3);
3803
+ }
3804
+ UPB_INLINE void validate_TimestampRules_clear_lt(const validate_TimestampRules* msg) {
3805
+ *UPB_PTR_AT(msg, UPB_SIZE(12, 16), const upb_Message*) = NULL;
3806
+ }
2705
3807
  UPB_INLINE const struct google_protobuf_Timestamp* validate_TimestampRules_lt(const validate_TimestampRules* msg) {
2706
3808
  return *UPB_PTR_AT(msg, UPB_SIZE(12, 16), const struct google_protobuf_Timestamp*);
2707
3809
  }
2708
- UPB_INLINE bool validate_TimestampRules_has_lte(const validate_TimestampRules *msg) { return _upb_hasbit(msg, 4); }
3810
+ UPB_INLINE bool validate_TimestampRules_has_lte(const validate_TimestampRules* msg) {
3811
+ return _upb_hasbit(msg, 4);
3812
+ }
3813
+ UPB_INLINE void validate_TimestampRules_clear_lte(const validate_TimestampRules* msg) {
3814
+ *UPB_PTR_AT(msg, UPB_SIZE(16, 24), const upb_Message*) = NULL;
3815
+ }
2709
3816
  UPB_INLINE const struct google_protobuf_Timestamp* validate_TimestampRules_lte(const validate_TimestampRules* msg) {
2710
3817
  return *UPB_PTR_AT(msg, UPB_SIZE(16, 24), const struct google_protobuf_Timestamp*);
2711
3818
  }
2712
- UPB_INLINE bool validate_TimestampRules_has_gt(const validate_TimestampRules *msg) { return _upb_hasbit(msg, 5); }
3819
+ UPB_INLINE bool validate_TimestampRules_has_gt(const validate_TimestampRules* msg) {
3820
+ return _upb_hasbit(msg, 5);
3821
+ }
3822
+ UPB_INLINE void validate_TimestampRules_clear_gt(const validate_TimestampRules* msg) {
3823
+ *UPB_PTR_AT(msg, UPB_SIZE(20, 32), const upb_Message*) = NULL;
3824
+ }
2713
3825
  UPB_INLINE const struct google_protobuf_Timestamp* validate_TimestampRules_gt(const validate_TimestampRules* msg) {
2714
3826
  return *UPB_PTR_AT(msg, UPB_SIZE(20, 32), const struct google_protobuf_Timestamp*);
2715
3827
  }
2716
- UPB_INLINE bool validate_TimestampRules_has_gte(const validate_TimestampRules *msg) { return _upb_hasbit(msg, 6); }
3828
+ UPB_INLINE bool validate_TimestampRules_has_gte(const validate_TimestampRules* msg) {
3829
+ return _upb_hasbit(msg, 6);
3830
+ }
3831
+ UPB_INLINE void validate_TimestampRules_clear_gte(const validate_TimestampRules* msg) {
3832
+ *UPB_PTR_AT(msg, UPB_SIZE(24, 40), const upb_Message*) = NULL;
3833
+ }
2717
3834
  UPB_INLINE const struct google_protobuf_Timestamp* validate_TimestampRules_gte(const validate_TimestampRules* msg) {
2718
3835
  return *UPB_PTR_AT(msg, UPB_SIZE(24, 40), const struct google_protobuf_Timestamp*);
2719
3836
  }
2720
- UPB_INLINE bool validate_TimestampRules_has_lt_now(const validate_TimestampRules *msg) { return _upb_hasbit(msg, 7); }
3837
+ UPB_INLINE bool validate_TimestampRules_has_lt_now(const validate_TimestampRules* msg) {
3838
+ return _upb_hasbit(msg, 7);
3839
+ }
3840
+ UPB_INLINE void validate_TimestampRules_clear_lt_now(const validate_TimestampRules* msg) {
3841
+ *UPB_PTR_AT(msg, UPB_SIZE(3, 3), bool) = 0;
3842
+ _upb_clearhas(msg, 7);
3843
+ }
2721
3844
  UPB_INLINE bool validate_TimestampRules_lt_now(const validate_TimestampRules* msg) {
2722
3845
  return *UPB_PTR_AT(msg, UPB_SIZE(3, 3), bool);
2723
3846
  }
2724
- UPB_INLINE bool validate_TimestampRules_has_gt_now(const validate_TimestampRules *msg) { return _upb_hasbit(msg, 8); }
3847
+ UPB_INLINE bool validate_TimestampRules_has_gt_now(const validate_TimestampRules* msg) {
3848
+ return _upb_hasbit(msg, 8);
3849
+ }
3850
+ UPB_INLINE void validate_TimestampRules_clear_gt_now(const validate_TimestampRules* msg) {
3851
+ *UPB_PTR_AT(msg, UPB_SIZE(4, 4), bool) = 0;
3852
+ _upb_clearhas(msg, 8);
3853
+ }
2725
3854
  UPB_INLINE bool validate_TimestampRules_gt_now(const validate_TimestampRules* msg) {
2726
3855
  return *UPB_PTR_AT(msg, UPB_SIZE(4, 4), bool);
2727
3856
  }
2728
- UPB_INLINE bool validate_TimestampRules_has_within(const validate_TimestampRules *msg) { return _upb_hasbit(msg, 9); }
3857
+ UPB_INLINE bool validate_TimestampRules_has_within(const validate_TimestampRules* msg) {
3858
+ return _upb_hasbit(msg, 9);
3859
+ }
3860
+ UPB_INLINE void validate_TimestampRules_clear_within(const validate_TimestampRules* msg) {
3861
+ *UPB_PTR_AT(msg, UPB_SIZE(28, 48), const upb_Message*) = NULL;
3862
+ }
2729
3863
  UPB_INLINE const struct google_protobuf_Duration* validate_TimestampRules_within(const validate_TimestampRules* msg) {
2730
3864
  return *UPB_PTR_AT(msg, UPB_SIZE(28, 48), const struct google_protobuf_Duration*);
2731
3865
  }
@@ -2738,7 +3872,7 @@ UPB_INLINE void validate_TimestampRules_set_const(validate_TimestampRules *msg,
2738
3872
  _upb_sethas(msg, 2);
2739
3873
  *UPB_PTR_AT(msg, UPB_SIZE(8, 8), struct google_protobuf_Timestamp*) = value;
2740
3874
  }
2741
- UPB_INLINE struct google_protobuf_Timestamp* validate_TimestampRules_mutable_const(validate_TimestampRules *msg, upb_Arena *arena) {
3875
+ UPB_INLINE struct google_protobuf_Timestamp* validate_TimestampRules_mutable_const(validate_TimestampRules* msg, upb_Arena* arena) {
2742
3876
  struct google_protobuf_Timestamp* sub = (struct google_protobuf_Timestamp*)validate_TimestampRules_const(msg);
2743
3877
  if (sub == NULL) {
2744
3878
  sub = (struct google_protobuf_Timestamp*)_upb_Message_New(&google_protobuf_Timestamp_msginit, arena);
@@ -2751,7 +3885,7 @@ UPB_INLINE void validate_TimestampRules_set_lt(validate_TimestampRules *msg, str
2751
3885
  _upb_sethas(msg, 3);
2752
3886
  *UPB_PTR_AT(msg, UPB_SIZE(12, 16), struct google_protobuf_Timestamp*) = value;
2753
3887
  }
2754
- UPB_INLINE struct google_protobuf_Timestamp* validate_TimestampRules_mutable_lt(validate_TimestampRules *msg, upb_Arena *arena) {
3888
+ UPB_INLINE struct google_protobuf_Timestamp* validate_TimestampRules_mutable_lt(validate_TimestampRules* msg, upb_Arena* arena) {
2755
3889
  struct google_protobuf_Timestamp* sub = (struct google_protobuf_Timestamp*)validate_TimestampRules_lt(msg);
2756
3890
  if (sub == NULL) {
2757
3891
  sub = (struct google_protobuf_Timestamp*)_upb_Message_New(&google_protobuf_Timestamp_msginit, arena);
@@ -2764,7 +3898,7 @@ UPB_INLINE void validate_TimestampRules_set_lte(validate_TimestampRules *msg, st
2764
3898
  _upb_sethas(msg, 4);
2765
3899
  *UPB_PTR_AT(msg, UPB_SIZE(16, 24), struct google_protobuf_Timestamp*) = value;
2766
3900
  }
2767
- UPB_INLINE struct google_protobuf_Timestamp* validate_TimestampRules_mutable_lte(validate_TimestampRules *msg, upb_Arena *arena) {
3901
+ UPB_INLINE struct google_protobuf_Timestamp* validate_TimestampRules_mutable_lte(validate_TimestampRules* msg, upb_Arena* arena) {
2768
3902
  struct google_protobuf_Timestamp* sub = (struct google_protobuf_Timestamp*)validate_TimestampRules_lte(msg);
2769
3903
  if (sub == NULL) {
2770
3904
  sub = (struct google_protobuf_Timestamp*)_upb_Message_New(&google_protobuf_Timestamp_msginit, arena);
@@ -2777,7 +3911,7 @@ UPB_INLINE void validate_TimestampRules_set_gt(validate_TimestampRules *msg, str
2777
3911
  _upb_sethas(msg, 5);
2778
3912
  *UPB_PTR_AT(msg, UPB_SIZE(20, 32), struct google_protobuf_Timestamp*) = value;
2779
3913
  }
2780
- UPB_INLINE struct google_protobuf_Timestamp* validate_TimestampRules_mutable_gt(validate_TimestampRules *msg, upb_Arena *arena) {
3914
+ UPB_INLINE struct google_protobuf_Timestamp* validate_TimestampRules_mutable_gt(validate_TimestampRules* msg, upb_Arena* arena) {
2781
3915
  struct google_protobuf_Timestamp* sub = (struct google_protobuf_Timestamp*)validate_TimestampRules_gt(msg);
2782
3916
  if (sub == NULL) {
2783
3917
  sub = (struct google_protobuf_Timestamp*)_upb_Message_New(&google_protobuf_Timestamp_msginit, arena);
@@ -2790,7 +3924,7 @@ UPB_INLINE void validate_TimestampRules_set_gte(validate_TimestampRules *msg, st
2790
3924
  _upb_sethas(msg, 6);
2791
3925
  *UPB_PTR_AT(msg, UPB_SIZE(24, 40), struct google_protobuf_Timestamp*) = value;
2792
3926
  }
2793
- UPB_INLINE struct google_protobuf_Timestamp* validate_TimestampRules_mutable_gte(validate_TimestampRules *msg, upb_Arena *arena) {
3927
+ UPB_INLINE struct google_protobuf_Timestamp* validate_TimestampRules_mutable_gte(validate_TimestampRules* msg, upb_Arena* arena) {
2794
3928
  struct google_protobuf_Timestamp* sub = (struct google_protobuf_Timestamp*)validate_TimestampRules_gte(msg);
2795
3929
  if (sub == NULL) {
2796
3930
  sub = (struct google_protobuf_Timestamp*)_upb_Message_New(&google_protobuf_Timestamp_msginit, arena);
@@ -2811,7 +3945,7 @@ UPB_INLINE void validate_TimestampRules_set_within(validate_TimestampRules *msg,
2811
3945
  _upb_sethas(msg, 9);
2812
3946
  *UPB_PTR_AT(msg, UPB_SIZE(28, 48), struct google_protobuf_Duration*) = value;
2813
3947
  }
2814
- UPB_INLINE struct google_protobuf_Duration* validate_TimestampRules_mutable_within(validate_TimestampRules *msg, upb_Arena *arena) {
3948
+ UPB_INLINE struct google_protobuf_Duration* validate_TimestampRules_mutable_within(validate_TimestampRules* msg, upb_Arena* arena) {
2815
3949
  struct google_protobuf_Duration* sub = (struct google_protobuf_Duration*)validate_TimestampRules_within(msg);
2816
3950
  if (sub == NULL) {
2817
3951
  sub = (struct google_protobuf_Duration*)_upb_Message_New(&google_protobuf_Duration_msginit, arena);
@@ -2821,14 +3955,53 @@ UPB_INLINE struct google_protobuf_Duration* validate_TimestampRules_mutable_with
2821
3955
  return sub;
2822
3956
  }
2823
3957
 
2824
- UPB_INLINE bool validate_has_disabled(const struct google_protobuf_MessageOptions *msg) { return _upb_Message_Getext(msg, &validate_disabled_ext) != NULL; }
2825
- UPB_INLINE bool validate_disabled(const struct google_protobuf_MessageOptions *msg) { const upb_Message_Extension *ext = _upb_Message_Getext(msg, &validate_disabled_ext); return ext ? *UPB_PTR_AT(&ext->data, 0, bool) : false; }
2826
- UPB_INLINE bool validate_has_ignored(const struct google_protobuf_MessageOptions *msg) { return _upb_Message_Getext(msg, &validate_ignored_ext) != NULL; }
2827
- UPB_INLINE bool validate_ignored(const struct google_protobuf_MessageOptions *msg) { const upb_Message_Extension *ext = _upb_Message_Getext(msg, &validate_ignored_ext); return ext ? *UPB_PTR_AT(&ext->data, 0, bool) : false; }
2828
- UPB_INLINE bool validate_has_required(const struct google_protobuf_OneofOptions *msg) { return _upb_Message_Getext(msg, &validate_required_ext) != NULL; }
2829
- UPB_INLINE bool validate_required(const struct google_protobuf_OneofOptions *msg) { const upb_Message_Extension *ext = _upb_Message_Getext(msg, &validate_required_ext); return ext ? *UPB_PTR_AT(&ext->data, 0, bool) : false; }
2830
- UPB_INLINE bool validate_has_rules(const struct google_protobuf_FieldOptions *msg) { return _upb_Message_Getext(msg, &validate_rules_ext) != NULL; }
2831
- UPB_INLINE const validate_FieldRules* validate_rules(const struct google_protobuf_FieldOptions *msg) { const upb_Message_Extension *ext = _upb_Message_Getext(msg, &validate_rules_ext); UPB_ASSERT(ext); return *UPB_PTR_AT(&ext->data, 0, const validate_FieldRules*); }
3958
+ UPB_INLINE bool validate_has_disabled(const struct google_protobuf_MessageOptions* msg) {
3959
+ return _upb_Message_Getext(msg, &validate_disabled_ext) != NULL;
3960
+ }
3961
+ UPB_INLINE void validate_clear_disabled(struct google_protobuf_MessageOptions* msg) {
3962
+ _upb_Message_Clearext(msg, &validate_disabled_ext);
3963
+ }
3964
+ UPB_INLINE bool validate_disabled(const struct google_protobuf_MessageOptions* msg) {
3965
+ const upb_Message_Extension* ext = _upb_Message_Getext(msg, &validate_disabled_ext);
3966
+ return ext ? *UPB_PTR_AT(&ext->data, 0, bool) : false;
3967
+ }
3968
+ UPB_INLINE bool validate_has_ignored(const struct google_protobuf_MessageOptions* msg) {
3969
+ return _upb_Message_Getext(msg, &validate_ignored_ext) != NULL;
3970
+ }
3971
+ UPB_INLINE void validate_clear_ignored(struct google_protobuf_MessageOptions* msg) {
3972
+ _upb_Message_Clearext(msg, &validate_ignored_ext);
3973
+ }
3974
+ UPB_INLINE bool validate_ignored(const struct google_protobuf_MessageOptions* msg) {
3975
+ const upb_Message_Extension* ext = _upb_Message_Getext(msg, &validate_ignored_ext);
3976
+ return ext ? *UPB_PTR_AT(&ext->data, 0, bool) : false;
3977
+ }
3978
+ UPB_INLINE bool validate_has_required(const struct google_protobuf_OneofOptions* msg) {
3979
+ return _upb_Message_Getext(msg, &validate_required_ext) != NULL;
3980
+ }
3981
+ UPB_INLINE void validate_clear_required(struct google_protobuf_OneofOptions* msg) {
3982
+ _upb_Message_Clearext(msg, &validate_required_ext);
3983
+ }
3984
+ UPB_INLINE bool validate_required(const struct google_protobuf_OneofOptions* msg) {
3985
+ const upb_Message_Extension* ext = _upb_Message_Getext(msg, &validate_required_ext);
3986
+ return ext ? *UPB_PTR_AT(&ext->data, 0, bool) : false;
3987
+ }
3988
+ UPB_INLINE bool validate_has_rules(const struct google_protobuf_FieldOptions* msg) {
3989
+ return _upb_Message_Getext(msg, &validate_rules_ext) != NULL;
3990
+ }
3991
+ UPB_INLINE void validate_clear_rules(struct google_protobuf_FieldOptions* msg) {
3992
+ _upb_Message_Clearext(msg, &validate_rules_ext);
3993
+ }
3994
+ UPB_INLINE const validate_FieldRules* validate_rules(const struct google_protobuf_FieldOptions* msg) {
3995
+ const upb_Message_Extension* ext = _upb_Message_Getext(msg, &validate_rules_ext);
3996
+ UPB_ASSERT(ext);
3997
+ return *UPB_PTR_AT(&ext->data, 0, const validate_FieldRules*);
3998
+ }
3999
+ UPB_INLINE void validate_set_rules(struct google_protobuf_FieldOptions* msg, const validate_FieldRules* ext, upb_Arena* arena) {
4000
+ const upb_Message_Extension* msg_ext =
4001
+ _upb_Message_Getorcreateext(msg, &validate_rules_ext, arena);
4002
+ UPB_ASSERT(msg_ext);
4003
+ *UPB_PTR_AT(&msg_ext->data, 0, const validate_FieldRules*) = ext;
4004
+ }
2832
4005
  extern const upb_MiniTable_File validate_validate_proto_upb_file_layout;
2833
4006
 
2834
4007
  #ifdef __cplusplus