From e163e4138540c21d71cce11d0069c25dbf7ea556 Mon Sep 17 00:00:00 2001 From: Anuraag Agrawal Date: Wed, 5 Aug 2026 17:03:26 +0900 Subject: [PATCH 1/2] Migrate to a full native extension wrapping protovalidate-cc --- .cargo/config.toml | 5 + .gitattributes | 4 + .github/CONTRIBUTING.md | 3 + .github/workflows/ci.yaml | 65 +- .github/workflows/release.yaml | 211 +- .gitignore | 6 + Cargo.lock | 223 + Cargo.toml | 59 + README.md | 4 + build.rs | 3 + .../__init__.py => crates/absl-sys/Cargo.toml | 17 +- crates/absl-sys/build.rs | 12 + crates/absl-sys/filelist.txt | 134 + crates/absl-sys/src/lib.rs | 1 + crates/absl-sys/vendor/AUTHORS | 6 + crates/absl-sys/vendor/LICENSE | 203 + .../vendor/absl/algorithm/algorithm.h | 64 + .../vendor/absl/algorithm/container.h | 1864 ++ crates/absl-sys/vendor/absl/base/attributes.h | 1081 + crates/absl-sys/vendor/absl/base/call_once.h | 227 + crates/absl-sys/vendor/absl/base/casts.cc | 61 + crates/absl-sys/vendor/absl/base/casts.h | 306 + crates/absl-sys/vendor/absl/base/config.h | 854 + crates/absl-sys/vendor/absl/base/const_init.h | 76 + .../vendor/absl/base/dynamic_annotations.h | 480 + .../absl-sys/vendor/absl/base/fast_type_id.h | 45 + .../vendor/absl/base/internal/atomic_hook.h | 200 + .../base/internal/atomic_hook_test_helper.h | 34 + .../vendor/absl/base/internal/cycleclock.cc | 72 + .../vendor/absl/base/internal/cycleclock.h | 144 + .../absl/base/internal/cycleclock_config.h | 55 + .../vendor/absl/base/internal/direct_mmap.h | 170 + .../absl/base/internal/dynamic_annotations.h | 398 + .../vendor/absl/base/internal/endian.h | 279 + .../vendor/absl/base/internal/errno_saver.h | 43 + .../base/internal/exception_safety_testing.h | 1109 + .../absl/base/internal/exception_testing.h | 42 + .../vendor/absl/base/internal/hide_ptr.h | 51 + .../absl/base/internal/iterator_traits.h | 75 + .../internal/iterator_traits_test_helper.h | 97 + .../absl/base/internal/low_level_alloc.cc | 661 + .../absl/base/internal/low_level_alloc.h | 133 + .../absl/base/internal/low_level_scheduling.h | 134 + .../absl/base/internal/nullability_traits.h | 71 + .../absl/base/internal/per_thread_tls.h | 52 + .../vendor/absl/base/internal/poison.h | 59 + .../absl/base/internal/pretty_function.h | 33 + .../vendor/absl/base/internal/raw_logging.cc | 279 + .../vendor/absl/base/internal/raw_logging.h | 217 + .../absl/base/internal/scheduling_mode.h | 58 + .../absl/base/internal/scoped_set_env.h | 45 + .../vendor/absl/base/internal/spinlock.cc | 225 + .../vendor/absl/base/internal/spinlock.h | 310 + .../absl/base/internal/spinlock_akaros.inc | 35 + .../absl/base/internal/spinlock_linux.inc | 71 + .../absl/base/internal/spinlock_posix.inc | 46 + .../absl/base/internal/spinlock_wait.cc | 81 + .../vendor/absl/base/internal/spinlock_wait.h | 95 + .../absl/base/internal/spinlock_win32.inc | 40 + .../vendor/absl/base/internal/strerror.cc | 88 + .../vendor/absl/base/internal/strerror.h | 39 + .../vendor/absl/base/internal/sysinfo.cc | 494 + .../vendor/absl/base/internal/sysinfo.h | 74 + .../absl/base/internal/thread_identity.cc | 163 + .../absl/base/internal/thread_identity.h | 273 + .../absl/base/internal/throw_delegate.cc | 203 + .../absl/base/internal/throw_delegate.h | 75 + .../vendor/absl/base/internal/tracing.cc | 39 + .../vendor/absl/base/internal/tracing.h | 81 + .../absl/base/internal/tsan_mutex_interface.h | 68 + .../absl/base/internal/unaligned_access.h | 89 + .../absl/base/internal/unscaledcycleclock.cc | 134 + .../absl/base/internal/unscaledcycleclock.h | 113 + .../base/internal/unscaledcycleclock_config.h | 62 + .../absl-sys/vendor/absl/base/log_severity.cc | 56 + .../absl-sys/vendor/absl/base/log_severity.h | 185 + crates/absl-sys/vendor/absl/base/macros.h | 243 + .../absl-sys/vendor/absl/base/no_destructor.h | 191 + .../absl-sys/vendor/absl/base/nullability.h | 317 + .../absl-sys/vendor/absl/base/optimization.h | 310 + crates/absl-sys/vendor/absl/base/options.h | 158 + .../absl-sys/vendor/absl/base/policy_checks.h | 115 + crates/absl-sys/vendor/absl/base/port.h | 25 + crates/absl-sys/vendor/absl/base/prefetch.h | 209 + .../vendor/absl/base/thread_annotations.h | 333 + crates/absl-sys/vendor/absl/cleanup/cleanup.h | 142 + .../vendor/absl/cleanup/internal/cleanup.h | 99 + .../vendor/absl/container/btree_map.h | 941 + .../vendor/absl/container/btree_set.h | 872 + .../vendor/absl/container/btree_test.h | 166 + .../vendor/absl/container/chunked_queue.h | 755 + .../vendor/absl/container/fixed_array.h | 547 + .../vendor/absl/container/flat_hash_map.h | 702 + .../vendor/absl/container/flat_hash_set.h | 590 + .../absl/container/hash_container_defaults.h | 45 + .../vendor/absl/container/inlined_vector.h | 1025 + .../vendor/absl/container/internal/btree.h | 3149 ++ .../absl/container/internal/btree_container.h | 876 + .../absl/container/internal/chunked_queue.h | 173 + .../vendor/absl/container/internal/common.h | 301 + .../container/internal/common_policy_traits.h | 151 + .../container/internal/compressed_tuple.h | 275 + .../container/internal/container_memory.h | 561 + .../internal/hash_function_defaults.h | 281 + .../internal/hash_generator_testing.h | 172 + .../container/internal/hash_policy_testing.h | 173 + .../container/internal/hash_policy_traits.h | 195 + .../internal/hashtable_control_bytes.h | 519 + .../absl/container/internal/hashtable_debug.h | 102 + .../internal/hashtable_debug_hooks.h | 85 + .../container/internal/hashtablez_sampler.cc | 316 + .../container/internal/hashtablez_sampler.h | 311 + ...ashtablez_sampler_force_weak_definition.cc | 31 + .../internal/heterogeneous_lookup_testing.h | 80 + .../absl/container/internal/inlined_vector.h | 1094 + .../vendor/absl/container/internal/layout.h | 828 + .../container/internal/node_slot_policy.h | 95 + .../absl/container/internal/raw_hash_map.h | 382 + .../absl/container/internal/raw_hash_set.cc | 2090 ++ .../absl/container/internal/raw_hash_set.h | 3763 +++ .../internal/raw_hash_set_resize_impl.h | 79 + .../absl/container/internal/test_allocator.h | 387 + .../internal/test_instance_tracker.h | 274 + .../vendor/absl/container/internal/tracked.h | 83 + .../internal/unordered_map_constructor_test.h | 435 + .../internal/unordered_map_lookup_test.h | 112 + .../internal/unordered_map_members_test.h | 87 + .../internal/unordered_map_modifiers_test.h | 336 + .../internal/unordered_set_constructor_test.h | 437 + .../internal/unordered_set_lookup_test.h | 88 + .../internal/unordered_set_members_test.h | 86 + .../internal/unordered_set_modifiers_test.h | 215 + .../vendor/absl/container/linked_hash_map.h | 666 + .../vendor/absl/container/linked_hash_set.h | 527 + .../vendor/absl/container/node_hash_map.h | 698 + .../vendor/absl/container/node_hash_set.h | 589 + crates/absl-sys/vendor/absl/crc/crc32c.cc | 95 + crates/absl-sys/vendor/absl/crc/crc32c.h | 192 + .../vendor/absl/crc/internal/cpu_detect.cc | 359 + .../vendor/absl/crc/internal/cpu_detect.h | 69 + .../absl-sys/vendor/absl/crc/internal/crc.cc | 437 + .../absl-sys/vendor/absl/crc/internal/crc.h | 83 + .../internal/crc32_x86_arm_combined_simd.h | 278 + .../vendor/absl/crc/internal/crc32c.h | 39 + .../vendor/absl/crc/internal/crc32c_inline.h | 72 + .../absl/crc/internal/crc_cord_state.cc | 131 + .../vendor/absl/crc/internal/crc_cord_state.h | 159 + .../vendor/absl/crc/internal/crc_internal.h | 177 + .../vendor/absl/crc/internal/crc_memcpy.h | 122 + .../absl/crc/internal/crc_memcpy_fallback.cc | 78 + .../internal/crc_memcpy_x86_arm_combined.cc | 459 + .../crc/internal/crc_non_temporal_memcpy.cc | 93 + .../absl/crc/internal/crc_x86_arm_combined.cc | 762 + .../internal/non_temporal_arm_intrinsics.h | 81 + .../absl/crc/internal/non_temporal_memcpy.h | 195 + .../absl/debugging/failure_signal_handler.h | 121 + .../debugging/internal/address_is_readable.cc | 98 + .../debugging/internal/address_is_readable.h | 32 + .../absl/debugging/internal/addresses.h | 57 + .../internal/borrowed_fixup_buffer.cc | 118 + .../internal/borrowed_fixup_buffer.h | 71 + .../internal/bounded_utf8_length_sequence.h | 126 + .../internal/decode_rust_punycode.cc | 258 + .../debugging/internal/decode_rust_punycode.h | 55 + .../absl/debugging/internal/demangle.cc | 2958 ++ .../vendor/absl/debugging/internal/demangle.h | 76 + .../absl/debugging/internal/demangle_rust.cc | 925 + .../absl/debugging/internal/demangle_rust.h | 42 + .../absl/debugging/internal/elf_mem_image.cc | 413 + .../absl/debugging/internal/elf_mem_image.h | 141 + .../absl/debugging/internal/examine_stack.cc | 324 + .../absl/debugging/internal/examine_stack.h | 71 + .../debugging/internal/stack_consumption.h | 50 + .../internal/stacktrace_aarch64-inl.inc | 288 + .../debugging/internal/stacktrace_arm-inl.inc | 148 + .../debugging/internal/stacktrace_config.h | 96 + .../internal/stacktrace_emscripten-inl.inc | 112 + .../internal/stacktrace_generic-inl.inc | 114 + .../internal/stacktrace_powerpc-inl.inc | 270 + .../internal/stacktrace_riscv-inl.inc | 204 + .../internal/stacktrace_unimplemented-inl.inc | 25 + .../internal/stacktrace_win32-inl.inc | 81 + .../debugging/internal/stacktrace_x86-inl.inc | 410 + .../absl/debugging/internal/symbolize.h | 153 + .../debugging/internal/utf8_for_code_point.cc | 70 + .../debugging/internal/utf8_for_code_point.h | 47 + .../absl/debugging/internal/vdso_support.cc | 209 + .../absl/debugging/internal/vdso_support.h | 158 + .../vendor/absl/debugging/leak_check.cc | 73 + .../vendor/absl/debugging/leak_check.h | 150 + .../vendor/absl/debugging/stacktrace.cc | 244 + .../vendor/absl/debugging/stacktrace.h | 302 + .../vendor/absl/debugging/symbolize.cc | 44 + .../vendor/absl/debugging/symbolize.h | 99 + .../absl/debugging/symbolize_darwin.inc | 102 + .../vendor/absl/debugging/symbolize_elf.inc | 1756 + .../absl/debugging/symbolize_emscripten.inc | 63 + .../debugging/symbolize_unimplemented.inc | 40 + .../vendor/absl/debugging/symbolize_win32.inc | 99 + .../vendor/absl/flags/commandlineflag.cc | 35 + .../vendor/absl/flags/commandlineflag.h | 218 + crates/absl-sys/vendor/absl/flags/config.h | 68 + crates/absl-sys/vendor/absl/flags/declare.h | 77 + crates/absl-sys/vendor/absl/flags/flag.h | 307 + .../absl/flags/internal/commandlineflag.cc | 26 + .../absl/flags/internal/commandlineflag.h | 68 + .../vendor/absl/flags/internal/flag.cc | 712 + .../vendor/absl/flags/internal/flag.h | 969 + .../vendor/absl/flags/internal/parse.h | 70 + .../vendor/absl/flags/internal/path_util.h | 62 + .../flags/internal/private_handle_accessor.cc | 69 + .../flags/internal/private_handle_accessor.h | 64 + .../absl/flags/internal/program_name.cc | 61 + .../vendor/absl/flags/internal/program_name.h | 50 + .../vendor/absl/flags/internal/registry.h | 98 + .../absl/flags/internal/sequence_lock.h | 187 + .../vendor/absl/flags/internal/usage.h | 106 + .../absl-sys/vendor/absl/flags/marshalling.cc | 276 + .../absl-sys/vendor/absl/flags/marshalling.h | 361 + crates/absl-sys/vendor/absl/flags/parse.h | 130 + .../absl-sys/vendor/absl/flags/reflection.cc | 368 + .../absl-sys/vendor/absl/flags/reflection.h | 90 + crates/absl-sys/vendor/absl/flags/usage.h | 43 + .../vendor/absl/flags/usage_config.cc | 170 + .../absl-sys/vendor/absl/flags/usage_config.h | 135 + .../vendor/absl/functional/any_invocable.h | 336 + .../vendor/absl/functional/bind_front.h | 194 + .../vendor/absl/functional/function_ref.h | 249 + .../absl/functional/internal/any_invocable.h | 787 + .../absl/functional/internal/front_binder.h | 93 + .../absl/functional/internal/function_ref.h | 151 + .../vendor/absl/functional/overload.h | 72 + crates/absl-sys/vendor/absl/hash/hash.h | 466 + .../absl-sys/vendor/absl/hash/hash_testing.h | 380 + .../vendor/absl/hash/internal/city.cc | 349 + .../absl-sys/vendor/absl/hash/internal/city.h | 78 + .../vendor/absl/hash/internal/hash.cc | 312 + .../absl-sys/vendor/absl/hash/internal/hash.h | 1560 + .../vendor/absl/hash/internal/hash_test.h | 87 + .../absl/hash/internal/spy_hash_state.h | 286 + .../absl/hash/internal/weakly_mixed_integer.h | 38 + crates/absl-sys/vendor/absl/log/absl_check.h | 117 + crates/absl-sys/vendor/absl/log/absl_log.h | 115 + .../vendor/absl/log/absl_vlog_is_on.h | 95 + crates/absl-sys/vendor/absl/log/check.h | 210 + .../vendor/absl/log/check_test_impl.inc | 1035 + .../absl-sys/vendor/absl/log/die_if_null.cc | 34 + crates/absl-sys/vendor/absl/log/die_if_null.h | 97 + crates/absl-sys/vendor/absl/log/flags.h | 43 + crates/absl-sys/vendor/absl/log/globals.cc | 178 + crates/absl-sys/vendor/absl/log/globals.h | 230 + crates/absl-sys/vendor/absl/log/initialize.h | 45 + .../absl/log/internal/append_truncated.h | 75 + .../vendor/absl/log/internal/check_impl.h | 151 + .../vendor/absl/log/internal/check_op.cc | 147 + .../vendor/absl/log/internal/check_op.h | 565 + .../vendor/absl/log/internal/conditions.cc | 85 + .../vendor/absl/log/internal/conditions.h | 247 + .../vendor/absl/log/internal/config.h | 45 + .../vendor/absl/log/internal/container.h | 312 + .../absl-sys/vendor/absl/log/internal/flags.h | 59 + .../vendor/absl/log/internal/fnmatch.cc | 73 + .../vendor/absl/log/internal/fnmatch.h | 35 + .../vendor/absl/log/internal/globals.cc | 145 + .../vendor/absl/log/internal/globals.h | 101 + .../vendor/absl/log/internal/log_format.cc | 205 + .../vendor/absl/log/internal/log_format.h | 78 + .../vendor/absl/log/internal/log_impl.h | 280 + .../vendor/absl/log/internal/log_message.cc | 787 + .../vendor/absl/log/internal/log_message.h | 455 + .../vendor/absl/log/internal/log_sink_set.cc | 296 + .../vendor/absl/log/internal/log_sink_set.h | 54 + .../vendor/absl/log/internal/nullguard.cc | 35 + .../vendor/absl/log/internal/nullguard.h | 88 + .../vendor/absl/log/internal/nullstream.h | 128 + .../vendor/absl/log/internal/proto.cc | 218 + .../absl-sys/vendor/absl/log/internal/proto.h | 298 + .../absl-sys/vendor/absl/log/internal/strip.h | 99 + .../vendor/absl/log/internal/structured.h | 160 + .../absl/log/internal/structured_proto.cc | 115 + .../absl/log/internal/structured_proto.h | 107 + .../vendor/absl/log/internal/test_actions.h | 90 + .../vendor/absl/log/internal/test_helpers.h | 71 + .../vendor/absl/log/internal/test_matchers.h | 94 + .../vendor/absl/log/internal/vlog_config.cc | 347 + .../vendor/absl/log/internal/vlog_config.h | 164 + .../vendor/absl/log/internal/voidify.h | 50 + crates/absl-sys/vendor/absl/log/log.h | 378 + .../vendor/absl/log/log_basic_test_impl.inc | 654 + crates/absl-sys/vendor/absl/log/log_entry.cc | 263 + crates/absl-sys/vendor/absl/log/log_entry.h | 223 + crates/absl-sys/vendor/absl/log/log_sink.cc | 23 + crates/absl-sys/vendor/absl/log/log_sink.h | 71 + .../vendor/absl/log/log_sink_registry.h | 64 + .../absl-sys/vendor/absl/log/log_streamer.h | 181 + .../vendor/absl/log/scoped_mock_log.h | 203 + crates/absl-sys/vendor/absl/log/structured.h | 75 + crates/absl-sys/vendor/absl/log/vlog_is_on.h | 74 + crates/absl-sys/vendor/absl/memory/memory.h | 278 + .../absl/meta/internal/constexpr_testing.h | 73 + .../vendor/absl/meta/internal/requires.h | 67 + .../absl-sys/vendor/absl/meta/type_traits.h | 582 + crates/absl-sys/vendor/absl/numeric/bits.h | 262 + crates/absl-sys/vendor/absl/numeric/int128.cc | 344 + crates/absl-sys/vendor/absl/numeric/int128.h | 1224 + .../absl/numeric/int128_have_intrinsic.inc | 303 + .../absl/numeric/int128_no_intrinsic.inc | 347 + .../vendor/absl/numeric/internal/bits.h | 394 + .../absl/numeric/internal/representation.h | 55 + .../vendor/absl/profiling/hashtable.h | 40 + .../profiling/internal/exponential_biased.cc | 93 + .../profiling/internal/exponential_biased.h | 130 + .../profiling/internal/periodic_sampler.h | 211 + .../absl/profiling/internal/profile_builder.h | 138 + .../absl/profiling/internal/sample_recorder.h | 253 + .../absl/random/bernoulli_distribution.h | 202 + .../vendor/absl/random/beta_distribution.h | 429 + .../absl-sys/vendor/absl/random/bit_gen_ref.h | 187 + .../absl/random/discrete_distribution.h | 249 + .../vendor/absl/random/distributions.h | 450 + .../absl/random/exponential_distribution.h | 166 + .../absl/random/gaussian_distribution.h | 276 + .../vendor/absl/random/internal/chi_square.h | 89 + .../random/internal/distribution_caller.h | 96 + .../random/internal/distribution_test_util.h | 113 + .../absl/random/internal/entropy_pool.h | 35 + .../absl/random/internal/explicit_seed_seq.h | 92 + .../absl/random/internal/fast_uniform_bits.h | 271 + .../vendor/absl/random/internal/fastmath.h | 57 + .../absl/random/internal/generate_real.h | 144 + .../random/internal/iostream_state_saver.h | 248 + .../absl/random/internal/mock_helpers.h | 160 + .../absl/random/internal/mock_overload_set.h | 122 + .../absl/random/internal/mock_validators.h | 98 + .../absl/random/internal/nanobenchmark.h | 172 + .../absl/random/internal/nonsecure_base.h | 160 + .../vendor/absl/random/internal/pcg_engine.h | 287 + .../vendor/absl/random/internal/platform.h | 158 + .../vendor/absl/random/internal/randen.h | 96 + .../absl/random/internal/randen_detect.h | 33 + .../absl/random/internal/randen_engine.h | 265 + .../absl/random/internal/randen_hwaes.h | 50 + .../vendor/absl/random/internal/randen_slow.h | 40 + .../absl/random/internal/randen_traits.h | 88 + .../absl/random/internal/salted_seed_seq.h | 165 + .../absl/random/internal/seed_material.h | 104 + .../absl/random/internal/sequence_urbg.h | 60 + .../vendor/absl/random/internal/traits.h | 149 + .../absl/random/internal/uniform_helper.h | 244 + .../absl/random/internal/wide_multiply.h | 95 + .../random/log_uniform_int_distribution.h | 253 + .../vendor/absl/random/mock_distributions.h | 269 + .../vendor/absl/random/mocking_bit_gen.h | 237 + .../vendor/absl/random/poisson_distribution.h | 262 + crates/absl-sys/vendor/absl/random/random.h | 224 + .../vendor/absl/random/seed_gen_exception.h | 55 + .../vendor/absl/random/seed_sequences.h | 112 + .../absl/random/uniform_int_distribution.h | 276 + .../absl/random/uniform_real_distribution.h | 204 + .../vendor/absl/random/zipf_distribution.h | 273 + .../absl/status/internal/status_internal.cc | 251 + .../absl/status/internal/status_internal.h | 133 + .../absl/status/internal/status_matchers.h | 246 + .../absl/status/internal/statusor_internal.h | 657 + crates/absl-sys/vendor/absl/status/status.cc | 421 + crates/absl-sys/vendor/absl/status/status.h | 948 + .../vendor/absl/status/status_matchers.h | 166 + .../absl/status/status_payload_printer.cc | 36 + .../absl/status/status_payload_printer.h | 52 + .../absl-sys/vendor/absl/status/statusor.cc | 106 + crates/absl-sys/vendor/absl/status/statusor.h | 743 + crates/absl-sys/vendor/absl/strings/ascii.cc | 296 + crates/absl-sys/vendor/absl/strings/ascii.h | 289 + .../absl-sys/vendor/absl/strings/charconv.cc | 1442 + .../absl-sys/vendor/absl/strings/charconv.h | 123 + crates/absl-sys/vendor/absl/strings/charset.h | 163 + crates/absl-sys/vendor/absl/strings/cord.cc | 1582 + crates/absl-sys/vendor/absl/strings/cord.h | 1763 + .../vendor/absl/strings/cord_analysis.cc | 196 + .../vendor/absl/strings/cord_analysis.h | 63 + .../vendor/absl/strings/cord_buffer.h | 572 + .../vendor/absl/strings/cord_test_helpers.h | 122 + .../vendor/absl/strings/cordz_test_helpers.h | 152 + .../absl-sys/vendor/absl/strings/escaping.cc | 1035 + .../absl-sys/vendor/absl/strings/escaping.h | 185 + .../vendor/absl/strings/has_absl_stringify.h | 64 + .../absl/strings/has_ostream_operator.h | 42 + .../strings/internal/append_and_overwrite.h | 93 + .../absl/strings/internal/charconv_bigint.cc | 357 + .../absl/strings/internal/charconv_bigint.h | 433 + .../absl/strings/internal/charconv_parse.cc | 504 + .../absl/strings/internal/charconv_parse.h | 99 + .../absl/strings/internal/cord_data_edge.h | 63 + .../absl/strings/internal/cord_internal.cc | 70 + .../absl/strings/internal/cord_internal.h | 942 + .../absl/strings/internal/cord_rep_btree.cc | 1237 + .../absl/strings/internal/cord_rep_btree.h | 944 + .../internal/cord_rep_btree_navigator.cc | 187 + .../internal/cord_rep_btree_navigator.h | 267 + .../strings/internal/cord_rep_btree_reader.cc | 69 + .../strings/internal/cord_rep_btree_reader.h | 212 + .../absl/strings/internal/cord_rep_consume.cc | 64 + .../absl/strings/internal/cord_rep_consume.h | 47 + .../absl/strings/internal/cord_rep_crc.cc | 56 + .../absl/strings/internal/cord_rep_crc.h | 103 + .../absl/strings/internal/cord_rep_flat.h | 195 + .../strings/internal/cord_rep_test_util.h | 205 + .../absl/strings/internal/cordz_functions.cc | 102 + .../absl/strings/internal/cordz_functions.h | 87 + .../absl/strings/internal/cordz_handle.cc | 165 + .../absl/strings/internal/cordz_handle.h | 98 + .../absl/strings/internal/cordz_info.cc | 424 + .../vendor/absl/strings/internal/cordz_info.h | 295 + .../strings/internal/cordz_sample_token.h | 97 + .../absl/strings/internal/cordz_statistics.h | 88 + .../strings/internal/cordz_update_scope.h | 71 + .../strings/internal/cordz_update_tracker.h | 123 + .../internal/damerau_levenshtein_distance.cc | 93 + .../internal/damerau_levenshtein_distance.h | 34 + .../vendor/absl/strings/internal/escaping.cc | 209 + .../vendor/absl/strings/internal/escaping.h | 59 + .../strings/internal/escaping_test_common.h | 133 + .../absl/strings/internal/generic_printer.h | 115 + .../internal/generic_printer_internal.h | 423 + .../vendor/absl/strings/internal/memutil.cc | 48 + .../vendor/absl/strings/internal/memutil.h | 40 + .../strings/internal/numbers_test_common.h | 184 + .../absl/strings/internal/ostringstream.cc | 43 + .../absl/strings/internal/ostringstream.h | 114 + .../absl/strings/internal/pow10_helper.h | 40 + .../strings/internal/resize_uninitialized.h | 107 + .../absl/strings/internal/stl_type_traits.h | 248 + .../absl/strings/internal/str_format/arg.cc | 615 + .../absl/strings/internal/str_format/arg.h | 661 + .../absl/strings/internal/str_format/bind.cc | 275 + .../absl/strings/internal/str_format/bind.h | 237 + .../strings/internal/str_format/checker.h | 98 + .../internal/str_format/constexpr_parser.h | 357 + .../strings/internal/str_format/extension.cc | 53 + .../strings/internal/str_format/extension.h | 456 + .../internal/str_format/float_conversion.cc | 1945 ++ .../internal/str_format/float_conversion.h | 37 + .../strings/internal/str_format/output.cc | 74 + .../absl/strings/internal/str_format/output.h | 97 + .../strings/internal/str_format/parser.cc | 140 + .../absl/strings/internal/str_format/parser.h | 271 + .../absl/strings/internal/str_join_internal.h | 341 + .../strings/internal/str_split_internal.h | 525 + .../absl/strings/internal/string_constant.h | 67 + .../absl/strings/internal/stringify_sink.cc | 28 + .../absl/strings/internal/stringify_sink.h | 57 + .../vendor/absl/strings/internal/utf8.cc | 148 + .../vendor/absl/strings/internal/utf8.h | 64 + crates/absl-sys/vendor/absl/strings/match.cc | 133 + crates/absl-sys/vendor/absl/strings/match.h | 129 + .../absl-sys/vendor/absl/strings/numbers.cc | 1230 + crates/absl-sys/vendor/absl/strings/numbers.h | 359 + .../absl/strings/resize_and_overwrite.h | 194 + .../absl-sys/vendor/absl/strings/str_cat.cc | 247 + crates/absl-sys/vendor/absl/strings/str_cat.h | 633 + .../absl-sys/vendor/absl/strings/str_format.h | 887 + .../absl-sys/vendor/absl/strings/str_join.h | 301 + .../vendor/absl/strings/str_replace.cc | 91 + .../vendor/absl/strings/str_replace.h | 222 + .../absl-sys/vendor/absl/strings/str_split.cc | 144 + .../absl-sys/vendor/absl/strings/str_split.h | 582 + .../vendor/absl/strings/string_view.h | 60 + crates/absl-sys/vendor/absl/strings/strip.h | 99 + .../vendor/absl/strings/substitute.cc | 187 + .../absl-sys/vendor/absl/strings/substitute.h | 769 + .../vendor/absl/synchronization/barrier.cc | 52 + .../vendor/absl/synchronization/barrier.h | 79 + .../absl/synchronization/blocking_counter.cc | 73 + .../absl/synchronization/blocking_counter.h | 107 + .../internal/create_thread_identity.cc | 152 + .../internal/create_thread_identity.h | 56 + .../absl/synchronization/internal/futex.h | 177 + .../synchronization/internal/futex_waiter.cc | 107 + .../synchronization/internal/futex_waiter.h | 63 + .../synchronization/internal/graphcycles.cc | 714 + .../synchronization/internal/graphcycles.h | 146 + .../internal/kernel_timeout.cc | 220 + .../synchronization/internal/kernel_timeout.h | 178 + .../internal/per_thread_sem.cc | 106 + .../synchronization/internal/per_thread_sem.h | 119 + .../internal/pthread_waiter.cc | 163 + .../synchronization/internal/pthread_waiter.h | 60 + .../synchronization/internal/sem_waiter.cc | 118 + .../synchronization/internal/sem_waiter.h | 65 + .../synchronization/internal/stdcpp_waiter.cc | 87 + .../synchronization/internal/stdcpp_waiter.h | 56 + .../synchronization/internal/thread_pool.h | 96 + .../absl/synchronization/internal/waiter.h | 69 + .../synchronization/internal/waiter_base.cc | 38 + .../synchronization/internal/waiter_base.h | 90 + .../synchronization/internal/win32_waiter.cc | 147 + .../synchronization/internal/win32_waiter.h | 72 + .../vendor/absl/synchronization/mutex.cc | 2820 ++ .../vendor/absl/synchronization/mutex.h | 1322 + .../absl/synchronization/notification.cc | 85 + .../absl/synchronization/notification.h | 133 + .../absl-sys/vendor/absl/time/civil_time.cc | 200 + crates/absl-sys/vendor/absl/time/civil_time.h | 589 + crates/absl-sys/vendor/absl/time/clock.cc | 603 + crates/absl-sys/vendor/absl/time/clock.h | 78 + crates/absl-sys/vendor/absl/time/duration.cc | 918 + crates/absl-sys/vendor/absl/time/format.cc | 162 + .../internal/cctz/include/cctz/civil_time.h | 332 + .../cctz/include/cctz/civil_time_detail.h | 644 + .../internal/cctz/include/cctz/time_zone.h | 460 + .../cctz/include/cctz/zone_info_source.h | 102 + .../internal/cctz/src/civil_time_detail.cc | 94 + .../internal/cctz/src/test_time_zone_names.h | 33 + .../time/internal/cctz/src/time_zone_fixed.cc | 140 + .../time/internal/cctz/src/time_zone_fixed.h | 52 + .../internal/cctz/src/time_zone_format.cc | 1068 + .../time/internal/cctz/src/time_zone_if.cc | 47 + .../time/internal/cctz/src/time_zone_if.h | 80 + .../time/internal/cctz/src/time_zone_impl.cc | 115 + .../time/internal/cctz/src/time_zone_impl.h | 97 + .../time/internal/cctz/src/time_zone_info.cc | 1070 + .../time/internal/cctz/src/time_zone_info.h | 128 + .../time/internal/cctz/src/time_zone_libc.cc | 333 + .../time/internal/cctz/src/time_zone_libc.h | 60 + .../internal/cctz/src/time_zone_lookup.cc | 217 + .../internal/cctz/src/time_zone_name_win.cc | 186 + .../internal/cctz/src/time_zone_name_win.h | 37 + .../time/internal/cctz/src/time_zone_posix.cc | 159 + .../time/internal/cctz/src/time_zone_posix.h | 132 + .../absl/time/internal/cctz/src/tzfile.h | 120 + .../internal/cctz/src/zone_info_source.cc | 116 + .../time/internal/get_current_time_chrono.inc | 31 + .../time/internal/get_current_time_posix.inc | 24 + .../vendor/absl/time/internal/test_util.h | 33 + crates/absl-sys/vendor/absl/time/time.cc | 507 + crates/absl-sys/vendor/absl/time/time.h | 1926 ++ crates/absl-sys/vendor/absl/types/any.h | 44 + crates/absl-sys/vendor/absl/types/compare.h | 506 + .../vendor/absl/types/internal/span.h | 141 + crates/absl-sys/vendor/absl/types/optional.h | 41 + crates/absl-sys/vendor/absl/types/span.h | 831 + crates/absl-sys/vendor/absl/types/variant.h | 82 + crates/absl-sys/vendor/absl/utility/utility.h | 68 + .../vendor/ci/absl_alternate_options.h | 28 + .../antlr4rt-sys/Cargo.toml | 24 +- crates/antlr4rt-sys/LICENSE-ANTLR4.txt | 28 + crates/antlr4rt-sys/build.rs | 11 + crates/antlr4rt-sys/filelist.txt | 139 + crates/antlr4rt-sys/src/lib.rs | 1 + .../runtime/antlrcpp-ios/antlrcpp_ios.h | 17 + .../vendor/runtime/src/ANTLRErrorListener.cpp | 10 + .../vendor/runtime/src/ANTLRErrorListener.h | 167 + .../vendor/runtime/src/ANTLRErrorStrategy.cpp | 10 + .../vendor/runtime/src/ANTLRErrorStrategy.h | 121 + .../vendor/runtime/src/ANTLRFileStream.cpp | 23 + .../vendor/runtime/src/ANTLRFileStream.h | 30 + .../vendor/runtime/src/ANTLRInputStream.cpp | 180 + .../vendor/runtime/src/ANTLRInputStream.h | 79 + .../vendor/runtime/src/BailErrorStrategy.cpp | 61 + .../vendor/runtime/src/BailErrorStrategy.h | 59 + .../vendor/runtime/src/BaseErrorListener.cpp | 25 + .../vendor/runtime/src/BaseErrorListener.h | 36 + .../runtime/src/BufferedTokenStream.cpp | 414 + .../vendor/runtime/src/BufferedTokenStream.h | 200 + .../vendor/runtime/src/CharStream.cpp | 11 + .../vendor/runtime/src/CharStream.h | 37 + .../vendor/runtime/src/CommonToken.cpp | 193 + .../vendor/runtime/src/CommonToken.h | 158 + .../vendor/runtime/src/CommonTokenFactory.cpp | 39 + .../vendor/runtime/src/CommonTokenFactory.h | 74 + .../vendor/runtime/src/CommonTokenStream.cpp | 78 + .../vendor/runtime/src/CommonTokenStream.h | 79 + .../runtime/src/ConsoleErrorListener.cpp | 15 + .../vendor/runtime/src/ConsoleErrorListener.h | 35 + .../runtime/src/DefaultErrorStrategy.cpp | 336 + .../vendor/runtime/src/DefaultErrorStrategy.h | 466 + .../runtime/src/DiagnosticErrorListener.cpp | 84 + .../runtime/src/DiagnosticErrorListener.h | 80 + .../vendor/runtime/src/Exceptions.cpp | 64 + .../vendor/runtime/src/Exceptions.h | 99 + .../runtime/src/FailedPredicateException.cpp | 52 + .../runtime/src/FailedPredicateException.h | 32 + .../vendor/runtime/src/FlatHashMap.h | 57 + .../vendor/runtime/src/FlatHashSet.h | 57 + .../runtime/src/InputMismatchException.cpp | 18 + .../runtime/src/InputMismatchException.h | 24 + .../vendor/runtime/src/IntStream.cpp | 12 + .../vendor/runtime/src/IntStream.h | 218 + .../runtime/src/InterpreterRuleContext.cpp | 19 + .../runtime/src/InterpreterRuleContext.h | 45 + .../antlr4rt-sys/vendor/runtime/src/Lexer.cpp | 294 + .../antlr4rt-sys/vendor/runtime/src/Lexer.h | 196 + .../vendor/runtime/src/LexerInterpreter.cpp | 60 + .../vendor/runtime/src/LexerInterpreter.h | 46 + .../runtime/src/LexerNoViableAltException.cpp | 36 + .../runtime/src/LexerNoViableAltException.h | 31 + .../vendor/runtime/src/ListTokenSource.cpp | 92 + .../vendor/runtime/src/ListTokenSource.h | 88 + .../runtime/src/NoViableAltException.cpp | 46 + .../vendor/runtime/src/NoViableAltException.h | 42 + .../vendor/runtime/src/Parser.cpp | 670 + .../antlr4rt-sys/vendor/runtime/src/Parser.h | 461 + .../vendor/runtime/src/ParserInterpreter.cpp | 294 + .../vendor/runtime/src/ParserInterpreter.h | 173 + .../vendor/runtime/src/ParserRuleContext.cpp | 138 + .../vendor/runtime/src/ParserRuleContext.h | 147 + .../vendor/runtime/src/ProxyErrorListener.cpp | 53 + .../vendor/runtime/src/ProxyErrorListener.h | 38 + .../runtime/src/RecognitionException.cpp | 65 + .../vendor/runtime/src/RecognitionException.h | 98 + .../vendor/runtime/src/Recognizer.cpp | 157 + .../vendor/runtime/src/Recognizer.h | 160 + .../vendor/runtime/src/RuleContext.cpp | 144 + .../vendor/runtime/src/RuleContext.h | 141 + .../runtime/src/RuleContextWithAltNum.cpp | 27 + .../runtime/src/RuleContextWithAltNum.h | 32 + .../vendor/runtime/src/RuntimeMetaData.cpp | 54 + .../vendor/runtime/src/RuntimeMetaData.h | 155 + .../antlr4rt-sys/vendor/runtime/src/Token.cpp | 9 + .../antlr4rt-sys/vendor/runtime/src/Token.h | 92 + .../vendor/runtime/src/TokenFactory.h | 30 + .../vendor/runtime/src/TokenSource.cpp | 9 + .../vendor/runtime/src/TokenSource.h | 85 + .../vendor/runtime/src/TokenStream.cpp | 11 + .../vendor/runtime/src/TokenStream.h | 137 + .../runtime/src/TokenStreamRewriter.cpp | 428 + .../vendor/runtime/src/TokenStreamRewriter.h | 295 + .../runtime/src/UnbufferedCharStream.cpp | 208 + .../vendor/runtime/src/UnbufferedCharStream.h | 117 + .../runtime/src/UnbufferedTokenStream.cpp | 270 + .../runtime/src/UnbufferedTokenStream.h | 115 + .../antlr4rt-sys/vendor/runtime/src/Version.h | 42 + .../vendor/runtime/src/Vocabulary.cpp | 64 + .../vendor/runtime/src/Vocabulary.h | 177 + .../vendor/runtime/src/WritableToken.cpp | 9 + .../vendor/runtime/src/WritableToken.h | 23 + .../vendor/runtime/src/antlr4-common.h | 101 + .../vendor/runtime/src/antlr4-runtime.h | 168 + .../vendor/runtime/src/atn/ATN.cpp | 159 + .../antlr4rt-sys/vendor/runtime/src/atn/ATN.h | 133 + .../vendor/runtime/src/atn/ATNConfig.cpp | 106 + .../vendor/runtime/src/atn/ATNConfig.h | 157 + .../vendor/runtime/src/atn/ATNConfigSet.cpp | 233 + .../vendor/runtime/src/atn/ATNConfigSet.h | 157 + .../src/atn/ATNDeserializationOptions.cpp | 39 + .../src/atn/ATNDeserializationOptions.h | 48 + .../runtime/src/atn/ATNDeserializer.cpp | 628 + .../vendor/runtime/src/atn/ATNDeserializer.h | 32 + .../vendor/runtime/src/atn/ATNSimulator.cpp | 33 + .../vendor/runtime/src/atn/ATNSimulator.h | 71 + .../vendor/runtime/src/atn/ATNState.cpp | 56 + .../vendor/runtime/src/atn/ATNState.h | 139 + .../vendor/runtime/src/atn/ATNStateType.cpp | 33 + .../vendor/runtime/src/atn/ATNStateType.h | 36 + .../vendor/runtime/src/atn/ATNType.h | 20 + .../runtime/src/atn/ActionTransition.cpp | 29 + .../vendor/runtime/src/atn/ActionTransition.h | 35 + .../vendor/runtime/src/atn/AmbiguityInfo.cpp | 16 + .../vendor/runtime/src/atn/AmbiguityInfo.h | 68 + .../src/atn/ArrayPredictionContext.cpp | 129 + .../runtime/src/atn/ArrayPredictionContext.h | 51 + .../vendor/runtime/src/atn/AtomTransition.cpp | 27 + .../vendor/runtime/src/atn/AtomTransition.h | 33 + .../runtime/src/atn/BasicBlockStartState.h | 24 + .../vendor/runtime/src/atn/BasicState.h | 23 + .../vendor/runtime/src/atn/BlockEndState.h | 26 + .../vendor/runtime/src/atn/BlockStartState.h | 30 + .../src/atn/ContextSensitivityInfo.cpp | 14 + .../runtime/src/atn/ContextSensitivityInfo.h | 47 + .../runtime/src/atn/DecisionEventInfo.cpp | 14 + .../runtime/src/atn/DecisionEventInfo.h | 70 + .../vendor/runtime/src/atn/DecisionInfo.cpp | 25 + .../vendor/runtime/src/atn/DecisionInfo.h | 227 + .../vendor/runtime/src/atn/DecisionState.cpp | 12 + .../vendor/runtime/src/atn/DecisionState.h | 34 + .../runtime/src/atn/EpsilonTransition.cpp | 31 + .../runtime/src/atn/EpsilonTransition.h | 42 + .../vendor/runtime/src/atn/ErrorInfo.cpp | 15 + .../vendor/runtime/src/atn/ErrorInfo.h | 43 + .../vendor/runtime/src/atn/HashUtils.h | 18 + .../vendor/runtime/src/atn/LL1Analyzer.cpp | 189 + .../vendor/runtime/src/atn/LL1Analyzer.h | 76 + .../vendor/runtime/src/atn/LexerATNConfig.cpp | 67 + .../vendor/runtime/src/atn/LexerATNConfig.h | 44 + .../runtime/src/atn/LexerATNSimulator.cpp | 621 + .../runtime/src/atn/LexerATNSimulator.h | 199 + .../vendor/runtime/src/atn/LexerAction.cpp | 15 + .../vendor/runtime/src/atn/LexerAction.h | 100 + .../runtime/src/atn/LexerActionExecutor.cpp | 108 + .../runtime/src/atn/LexerActionExecutor.h | 128 + .../vendor/runtime/src/atn/LexerActionType.h | 57 + .../runtime/src/atn/LexerChannelAction.cpp | 43 + .../runtime/src/atn/LexerChannelAction.h | 59 + .../runtime/src/atn/LexerCustomAction.cpp | 45 + .../runtime/src/atn/LexerCustomAction.h | 75 + .../src/atn/LexerIndexedCustomAction.cpp | 50 + .../src/atn/LexerIndexedCustomAction.h | 76 + .../runtime/src/atn/LexerModeAction.cpp | 43 + .../vendor/runtime/src/atn/LexerModeAction.h | 57 + .../runtime/src/atn/LexerMoreAction.cpp | 36 + .../vendor/runtime/src/atn/LexerMoreAction.h | 53 + .../runtime/src/atn/LexerPopModeAction.cpp | 36 + .../runtime/src/atn/LexerPopModeAction.h | 53 + .../runtime/src/atn/LexerPushModeAction.cpp | 43 + .../runtime/src/atn/LexerPushModeAction.h | 57 + .../runtime/src/atn/LexerSkipAction.cpp | 36 + .../vendor/runtime/src/atn/LexerSkipAction.h | 51 + .../runtime/src/atn/LexerTypeAction.cpp | 43 + .../vendor/runtime/src/atn/LexerTypeAction.h | 51 + .../runtime/src/atn/LookaheadEventInfo.cpp | 16 + .../runtime/src/atn/LookaheadEventInfo.h | 42 + .../vendor/runtime/src/atn/LoopEndState.h | 26 + .../runtime/src/atn/NotSetTransition.cpp | 22 + .../vendor/runtime/src/atn/NotSetTransition.h | 27 + .../runtime/src/atn/OrderedATNConfigSet.cpp | 16 + .../runtime/src/atn/OrderedATNConfigSet.h | 25 + .../vendor/runtime/src/atn/ParseInfo.cpp | 102 + .../vendor/runtime/src/atn/ParseInfo.h | 102 + .../runtime/src/atn/ParserATNSimulator.cpp | 1413 + .../runtime/src/atn/ParserATNSimulator.h | 911 + .../src/atn/ParserATNSimulatorOptions.h | 50 + .../runtime/src/atn/PlusBlockStartState.h | 29 + .../runtime/src/atn/PlusLoopbackState.h | 25 + .../src/atn/PrecedencePredicateTransition.cpp | 23 + .../src/atn/PrecedencePredicateTransition.h | 35 + .../runtime/src/atn/PredicateEvalInfo.cpp | 17 + .../runtime/src/atn/PredicateEvalInfo.h | 62 + .../runtime/src/atn/PredicateTransition.cpp | 24 + .../runtime/src/atn/PredicateTransition.h | 50 + .../runtime/src/atn/PredictionContext.cpp | 601 + .../runtime/src/atn/PredictionContext.h | 225 + .../src/atn/PredictionContextCache.cpp | 56 + .../runtime/src/atn/PredictionContextCache.h | 63 + .../src/atn/PredictionContextMergeCache.cpp | 167 + .../src/atn/PredictionContextMergeCache.h | 101 + .../atn/PredictionContextMergeCacheOptions.h | 71 + .../runtime/src/atn/PredictionContextType.h | 21 + .../vendor/runtime/src/atn/PredictionMode.cpp | 202 + .../vendor/runtime/src/atn/PredictionMode.h | 436 + .../runtime/src/atn/ProfilingATNSimulator.cpp | 179 + .../runtime/src/atn/ProfilingATNSimulator.h | 60 + .../runtime/src/atn/RangeTransition.cpp | 26 + .../vendor/runtime/src/atn/RangeTransition.h | 31 + .../vendor/runtime/src/atn/RuleStartState.h | 26 + .../vendor/runtime/src/atn/RuleStopState.h | 27 + .../vendor/runtime/src/atn/RuleTransition.cpp | 33 + .../vendor/runtime/src/atn/RuleTransition.h | 42 + .../runtime/src/atn/SemanticContext.cpp | 418 + .../vendor/runtime/src/atn/SemanticContext.h | 237 + .../runtime/src/atn/SemanticContextType.h | 23 + .../runtime/src/atn/SerializedATNView.h | 101 + .../vendor/runtime/src/atn/SetTransition.cpp | 28 + .../vendor/runtime/src/atn/SetTransition.h | 38 + .../src/atn/SingletonPredictionContext.cpp | 79 + .../src/atn/SingletonPredictionContext.h | 43 + .../runtime/src/atn/StarBlockStartState.h | 24 + .../runtime/src/atn/StarLoopEntryState.h | 37 + .../runtime/src/atn/StarLoopbackState.cpp | 19 + .../runtime/src/atn/StarLoopbackState.h | 25 + .../vendor/runtime/src/atn/TokensStartState.h | 24 + .../vendor/runtime/src/atn/Transition.cpp | 36 + .../vendor/runtime/src/atn/Transition.h | 65 + .../vendor/runtime/src/atn/TransitionType.cpp | 27 + .../vendor/runtime/src/atn/TransitionType.h | 33 + .../runtime/src/atn/WildcardTransition.cpp | 21 + .../runtime/src/atn/WildcardTransition.h | 27 + .../vendor/runtime/src/dfa/DFA.cpp | 115 + .../antlr4rt-sys/vendor/runtime/src/dfa/DFA.h | 96 + .../vendor/runtime/src/dfa/DFASerializer.cpp | 60 + .../vendor/runtime/src/dfa/DFASerializer.h | 32 + .../vendor/runtime/src/dfa/DFAState.cpp | 59 + .../vendor/runtime/src/dfa/DFAState.h | 154 + .../runtime/src/dfa/LexerDFASerializer.cpp | 17 + .../runtime/src/dfa/LexerDFASerializer.h | 22 + .../runtime/src/internal/Synchronization.cpp | 100 + .../runtime/src/internal/Synchronization.h | 154 + .../src/misc/InterpreterDataReader.cpp | 124 + .../runtime/src/misc/InterpreterDataReader.h | 33 + .../vendor/runtime/src/misc/Interval.cpp | 61 + .../vendor/runtime/src/misc/Interval.h | 84 + .../vendor/runtime/src/misc/IntervalSet.cpp | 508 + .../vendor/runtime/src/misc/IntervalSet.h | 190 + .../vendor/runtime/src/misc/MurmurHash.cpp | 120 + .../vendor/runtime/src/misc/MurmurHash.h | 102 + .../vendor/runtime/src/misc/Predicate.cpp | 4 + .../vendor/runtime/src/misc/Predicate.h | 21 + .../vendor/runtime/src/support/Any.cpp | 8 + .../vendor/runtime/src/support/Any.h | 16 + .../vendor/runtime/src/support/Arrays.cpp | 43 + .../vendor/runtime/src/support/Arrays.h | 149 + .../vendor/runtime/src/support/BitSet.h | 76 + .../vendor/runtime/src/support/CPPUtils.cpp | 207 + .../vendor/runtime/src/support/CPPUtils.h | 65 + .../vendor/runtime/src/support/Casts.h | 34 + .../vendor/runtime/src/support/Declarations.h | 161 + .../runtime/src/support/StringUtils.cpp | 38 + .../vendor/runtime/src/support/StringUtils.h | 16 + .../vendor/runtime/src/support/Unicode.h | 28 + .../vendor/runtime/src/support/Utf8.cpp | 242 + .../vendor/runtime/src/support/Utf8.h | 54 + .../src/tree/AbstractParseTreeVisitor.h | 129 + .../vendor/runtime/src/tree/ErrorNode.h | 24 + .../vendor/runtime/src/tree/ErrorNodeImpl.cpp | 54 + .../vendor/runtime/src/tree/ErrorNodeImpl.h | 43 + .../src/tree/IterativeParseTreeWalker.cpp | 66 + .../src/tree/IterativeParseTreeWalker.h | 53 + .../vendor/runtime/src/tree/ParseTree.cpp | 12 + .../vendor/runtime/src/tree/ParseTree.h | 111 + .../runtime/src/tree/ParseTreeListener.cpp | 9 + .../runtime/src/tree/ParseTreeListener.h | 39 + .../runtime/src/tree/ParseTreeProperty.h | 50 + .../vendor/runtime/src/tree/ParseTreeType.h | 22 + .../runtime/src/tree/ParseTreeVisitor.cpp | 9 + .../runtime/src/tree/ParseTreeVisitor.h | 57 + .../runtime/src/tree/ParseTreeWalker.cpp | 48 + .../vendor/runtime/src/tree/ParseTreeWalker.h | 55 + .../vendor/runtime/src/tree/TerminalNode.h | 40 + .../runtime/src/tree/TerminalNodeImpl.cpp | 54 + .../runtime/src/tree/TerminalNodeImpl.h | 32 + .../vendor/runtime/src/tree/Trees.cpp | 241 + .../vendor/runtime/src/tree/Trees.h | 78 + .../vendor/runtime/src/tree/pattern/Chunk.cpp | 9 + .../vendor/runtime/src/tree/pattern/Chunk.h | 44 + .../src/tree/pattern/ParseTreeMatch.cpp | 69 + .../runtime/src/tree/pattern/ParseTreeMatch.h | 132 + .../src/tree/pattern/ParseTreePattern.cpp | 64 + .../src/tree/pattern/ParseTreePattern.h | 105 + .../tree/pattern/ParseTreePatternMatcher.cpp | 370 + .../tree/pattern/ParseTreePatternMatcher.h | 185 + .../runtime/src/tree/pattern/RuleTagToken.cpp | 77 + .../runtime/src/tree/pattern/RuleTagToken.h | 117 + .../runtime/src/tree/pattern/TagChunk.cpp | 39 + .../runtime/src/tree/pattern/TagChunk.h | 86 + .../runtime/src/tree/pattern/TextChunk.cpp | 28 + .../runtime/src/tree/pattern/TextChunk.h | 51 + .../src/tree/pattern/TokenTagToken.cpp | 36 + .../runtime/src/tree/pattern/TokenTagToken.h | 80 + .../vendor/runtime/src/tree/xpath/XPath.cpp | 154 + .../vendor/runtime/src/tree/xpath/XPath.h | 86 + .../runtime/src/tree/xpath/XPathElement.cpp | 31 + .../runtime/src/tree/xpath/XPathElement.h | 40 + .../runtime/src/tree/xpath/XPathLexer.cpp | 180 + .../runtime/src/tree/xpath/XPathLexer.h | 53 + .../tree/xpath/XPathLexerErrorListener.cpp | 13 + .../src/tree/xpath/XPathLexerErrorListener.h | 22 + .../tree/xpath/XPathRuleAnywhereElement.cpp | 20 + .../src/tree/xpath/XPathRuleAnywhereElement.h | 27 + .../src/tree/xpath/XPathRuleElement.cpp | 30 + .../runtime/src/tree/xpath/XPathRuleElement.h | 26 + .../tree/xpath/XPathTokenAnywhereElement.cpp | 20 + .../tree/xpath/XPathTokenAnywhereElement.h | 25 + .../src/tree/xpath/XPathTokenElement.cpp | 33 + .../src/tree/xpath/XPathTokenElement.h | 26 + .../xpath/XPathWildcardAnywhereElement.cpp | 23 + .../tree/xpath/XPathWildcardAnywhereElement.h | 23 + .../src/tree/xpath/XPathWildcardElement.cpp | 24 + .../src/tree/xpath/XPathWildcardElement.h | 23 + .../buildsupport/Cargo.toml | 17 +- crates/buildsupport/src/lib.rs | 218 + .../celcpp-sys/Cargo.toml | 26 +- crates/celcpp-sys/build.rs | 12 + crates/celcpp-sys/filelist.txt | 192 + crates/celcpp-sys/src/lib.rs | 1 + crates/celcpp-sys/vendor/LICENSE | 202 + crates/celcpp-sys/vendor/base/ast.h | 20 + crates/celcpp-sys/vendor/base/attribute.cc | 330 + crates/celcpp-sys/vendor/base/attribute.h | 278 + crates/celcpp-sys/vendor/base/attribute_set.h | 108 + crates/celcpp-sys/vendor/base/builtins.h | 106 + crates/celcpp-sys/vendor/base/function.h | 20 + .../celcpp-sys/vendor/base/function_adapter.h | 19 + .../vendor/base/function_descriptor.h | 20 + .../celcpp-sys/vendor/base/function_result.h | 70 + .../vendor/base/function_result_set.cc | 28 + .../vendor/base/function_result_set.h | 105 + .../base/internal/memory_manager_testing.h | 54 + .../vendor/base/internal/message_wrapper.h | 30 + .../vendor/base/internal/operators.h | 91 + .../vendor/base/internal/unknown_set.cc | 31 + .../vendor/base/internal/unknown_set.h | 131 + crates/celcpp-sys/vendor/base/kind.h | 25 + crates/celcpp-sys/vendor/base/operators.h | 507 + crates/celcpp-sys/vendor/base/type_provider.h | 26 + .../celcpp-sys/vendor/cel/expr/checked.pb.cc | 5355 +++ .../celcpp-sys/vendor/cel/expr/checked.pb.h | 6181 ++++ .../celcpp-sys/vendor/cel/expr/syntax.pb.cc | 6352 ++++ crates/celcpp-sys/vendor/cel/expr/syntax.pb.h | 7262 +++++ crates/celcpp-sys/vendor/cel/expr/value.pb.cc | 2165 ++ crates/celcpp-sys/vendor/cel/expr/value.pb.h | 2496 ++ .../vendor/checker/checker_options.h | 110 + .../vendor/checker/internal/builtins_arena.cc | 28 + .../vendor/checker/internal/builtins_arena.h | 29 + .../descriptor_pool_type_introspector.h | 105 + .../checker/internal/format_type_name.h | 30 + .../checker/internal/namespace_generator.h | 120 + .../checker/internal/test_ast_helpers.h | 31 + .../vendor/checker/internal/type_check_env.h | 235 + .../internal/type_checker_builder_impl.h | 161 + .../checker/internal/type_checker_impl.h | 58 + .../checker/internal/type_inference_context.h | 229 + crates/celcpp-sys/vendor/checker/optional.h | 30 + .../vendor/checker/standard_library.h | 26 + .../vendor/checker/type_check_issue.cc | 59 + .../vendor/checker/type_check_issue.h | 69 + .../celcpp-sys/vendor/checker/type_checker.h | 56 + .../vendor/checker/type_checker_builder.h | 164 + .../checker/type_checker_builder_factory.h | 59 + .../checker/type_checker_subset_factory.h | 45 + .../vendor/checker/validation_result.cc | 32 + .../vendor/checker/validation_result.h | 98 + .../celcpp-sys/vendor/codelab/cel_compiler.h | 47 + crates/celcpp-sys/vendor/codelab/exercise1.h | 32 + crates/celcpp-sys/vendor/codelab/exercise10.h | 46 + crates/celcpp-sys/vendor/codelab/exercise2.h | 40 + crates/celcpp-sys/vendor/codelab/exercise4.h | 34 + .../vendor/codelab/network_functions.h | 197 + crates/celcpp-sys/vendor/common/allocator.h | 606 + crates/celcpp-sys/vendor/common/any.cc | 38 + crates/celcpp-sys/vendor/common/any.h | 90 + crates/celcpp-sys/vendor/common/arena.h | 110 + .../celcpp-sys/vendor/common/arena_string.h | 365 + .../vendor/common/arena_string_pool.h | 86 + .../vendor/common/arena_string_view.h | 239 + crates/celcpp-sys/vendor/common/ast.cc | 98 + crates/celcpp-sys/vendor/common/ast.h | 157 + .../vendor/common/ast/constant_proto.cc | 123 + .../vendor/common/ast/constant_proto.h | 37 + .../vendor/common/ast/expr_proto.cc | 514 + .../celcpp-sys/vendor/common/ast/expr_proto.h | 32 + .../celcpp-sys/vendor/common/ast/metadata.cc | 262 + .../celcpp-sys/vendor/common/ast/metadata.h | 916 + .../common/ast/navigable_ast_internal.h | 311 + .../vendor/common/ast/navigable_ast_kinds.cc | 80 + .../vendor/common/ast/navigable_ast_kinds.h | 74 + .../vendor/common/ast/source_info_proto.cc | 90 + .../vendor/common/ast/source_info_proto.h | 32 + crates/celcpp-sys/vendor/common/ast_proto.cc | 547 + crates/celcpp-sys/vendor/common/ast_proto.h | 52 + .../celcpp-sys/vendor/common/ast_rewrite.cc | 389 + crates/celcpp-sys/vendor/common/ast_rewrite.h | 146 + .../celcpp-sys/vendor/common/ast_traverse.cc | 380 + .../celcpp-sys/vendor/common/ast_traverse.h | 107 + crates/celcpp-sys/vendor/common/ast_visitor.h | 118 + .../vendor/common/ast_visitor_base.h | 88 + crates/celcpp-sys/vendor/common/casting.h | 75 + crates/celcpp-sys/vendor/common/constant.cc | 101 + crates/celcpp-sys/vendor/common/constant.h | 491 + crates/celcpp-sys/vendor/common/container.cc | 168 + crates/celcpp-sys/vendor/common/container.h | 138 + crates/celcpp-sys/vendor/common/data.h | 120 + crates/celcpp-sys/vendor/common/decl.cc | 208 + crates/celcpp-sys/vendor/common/decl.h | 410 + crates/celcpp-sys/vendor/common/decl_proto.h | 50 + .../vendor/common/decl_proto_v1alpha1.h | 55 + crates/celcpp-sys/vendor/common/expr.cc | 320 + crates/celcpp-sys/vendor/common/expr.h | 1718 + .../celcpp-sys/vendor/common/expr_factory.h | 367 + .../vendor/common/function_descriptor.cc | 98 + .../vendor/common/function_descriptor.h | 124 + .../vendor/common/internal/byte_string.cc | 1074 + .../vendor/common/internal/byte_string.h | 688 + .../vendor/common/internal/casting.h | 237 + .../vendor/common/internal/metadata.h | 41 + .../vendor/common/internal/reference_count.cc | 118 + .../vendor/common/internal/reference_count.h | 406 + .../vendor/common/internal/signature.cc | 211 + .../vendor/common/internal/signature.h | 61 + .../vendor/common/internal/value_conversion.h | 115 + crates/celcpp-sys/vendor/common/json.h | 35 + crates/celcpp-sys/vendor/common/kind.cc | 80 + crates/celcpp-sys/vendor/common/kind.h | 76 + .../celcpp-sys/vendor/common/legacy_value.cc | 1293 + .../celcpp-sys/vendor/common/legacy_value.h | 116 + crates/celcpp-sys/vendor/common/memory.cc | 83 + crates/celcpp-sys/vendor/common/memory.h | 1502 + .../celcpp-sys/vendor/common/memory_testing.h | 71 + .../common/minimal_descriptor_database.h | 32 + .../vendor/common/minimal_descriptor_pool.h | 36 + crates/celcpp-sys/vendor/common/native_type.h | 26 + .../celcpp-sys/vendor/common/navigable_ast.cc | 202 + .../celcpp-sys/vendor/common/navigable_ast.h | 168 + crates/celcpp-sys/vendor/common/operators.cc | 233 + crates/celcpp-sys/vendor/common/operators.h | 87 + .../celcpp-sys/vendor/common/optional_ref.h | 163 + crates/celcpp-sys/vendor/common/reference.h | 269 + .../vendor/common/reference_count.h | 26 + crates/celcpp-sys/vendor/common/source.cc | 600 + crates/celcpp-sys/vendor/common/source.h | 200 + .../vendor/common/standard_definitions.h | 349 + crates/celcpp-sys/vendor/common/type.cc | 693 + crates/celcpp-sys/vendor/common/type.h | 1302 + .../vendor/common/type_introspector.cc | 277 + .../vendor/common/type_introspector.h | 157 + crates/celcpp-sys/vendor/common/type_kind.h | 113 + crates/celcpp-sys/vendor/common/type_proto.h | 39 + .../celcpp-sys/vendor/common/type_reflector.h | 43 + .../celcpp-sys/vendor/common/type_testing.h | 24 + crates/celcpp-sys/vendor/common/typeinfo.cc | 78 + crates/celcpp-sys/vendor/common/typeinfo.h | 221 + .../celcpp-sys/vendor/common/types/any_type.h | 74 + .../vendor/common/types/basic_struct_type.cc | 53 + .../vendor/common/types/basic_struct_type.h | 119 + .../vendor/common/types/bool_type.h | 73 + .../vendor/common/types/bool_wrapper_type.h | 79 + .../vendor/common/types/bytes_type.h | 73 + .../vendor/common/types/bytes_wrapper_type.h | 79 + .../vendor/common/types/double_type.h | 73 + .../vendor/common/types/double_wrapper_type.h | 79 + .../vendor/common/types/duration_type.h | 73 + .../celcpp-sys/vendor/common/types/dyn_type.h | 73 + .../vendor/common/types/enum_type.cc | 43 + .../vendor/common/types/enum_type.h | 128 + .../vendor/common/types/error_type.h | 75 + .../vendor/common/types/function_type.cc | 89 + .../vendor/common/types/function_type.h | 91 + .../vendor/common/types/function_type_pool.cc | 29 + .../vendor/common/types/function_type_pool.h | 102 + .../celcpp-sys/vendor/common/types/int_type.h | 72 + .../vendor/common/types/int_wrapper_type.h | 78 + .../common/types/legacy_type_introspector.h | 34 + .../vendor/common/types/list_type.cc | 77 + .../vendor/common/types/list_type.h | 115 + .../vendor/common/types/list_type_pool.cc | 29 + .../vendor/common/types/list_type_pool.h | 80 + .../vendor/common/types/map_type.cc | 122 + .../celcpp-sys/vendor/common/types/map_type.h | 124 + .../vendor/common/types/map_type_pool.cc | 30 + .../vendor/common/types/map_type_pool.h | 93 + .../vendor/common/types/message_type.cc | 95 + .../vendor/common/types/message_type.h | 200 + .../vendor/common/types/null_type.h | 73 + .../vendor/common/types/opaque_type.cc | 109 + .../vendor/common/types/opaque_type.h | 118 + .../vendor/common/types/opaque_type_pool.cc | 33 + .../vendor/common/types/opaque_type_pool.h | 99 + .../vendor/common/types/optional_type.cc | 68 + .../vendor/common/types/optional_type.h | 114 + .../vendor/common/types/string_type.h | 73 + .../vendor/common/types/string_wrapper_type.h | 86 + .../vendor/common/types/struct_type.cc | 87 + .../vendor/common/types/struct_type.h | 158 + .../vendor/common/types/timestamp_type.h | 73 + .../vendor/common/types/type_param_type.h | 78 + .../vendor/common/types/type_pool.cc | 96 + .../vendor/common/types/type_pool.h | 99 + .../vendor/common/types/type_type.cc | 74 + .../vendor/common/types/type_type.h | 92 + .../vendor/common/types/type_type_pool.cc | 26 + .../vendor/common/types/type_type_pool.h | 86 + crates/celcpp-sys/vendor/common/types/types.h | 99 + .../vendor/common/types/uint_type.h | 73 + .../vendor/common/types/uint_wrapper_type.h | 79 + .../vendor/common/types/unknown_type.h | 74 + crates/celcpp-sys/vendor/common/unknown.h | 27 + crates/celcpp-sys/vendor/common/value.cc | 2790 ++ crates/celcpp-sys/vendor/common/value.h | 2947 ++ crates/celcpp-sys/vendor/common/value_kind.h | 104 + .../celcpp-sys/vendor/common/value_testing.h | 307 + .../vendor/common/values/bool_value.cc | 97 + .../vendor/common/values/bool_value.h | 111 + .../vendor/common/values/bytes_value.cc | 194 + .../vendor/common/values/bytes_value.h | 338 + .../common/values/bytes_value_input_stream.h | 133 + .../common/values/bytes_value_output_stream.h | 176 + .../vendor/common/values/custom_list_value.cc | 614 + .../vendor/common/values/custom_list_value.h | 423 + .../vendor/common/values/custom_map_value.cc | 823 + .../vendor/common/values/custom_map_value.h | 469 + .../common/values/custom_struct_value.cc | 385 + .../common/values/custom_struct_value.h | 459 + .../vendor/common/values/custom_value.h | 84 + .../vendor/common/values/double_value.cc | 137 + .../vendor/common/values/double_value.h | 101 + .../vendor/common/values/duration_value.cc | 103 + .../vendor/common/values/duration_value.h | 147 + .../vendor/common/values/enum_value.h | 49 + .../vendor/common/values/error_value.cc | 194 + .../vendor/common/values/error_value.h | 276 + .../vendor/common/values/int_value.cc | 111 + .../vendor/common/values/int_value.h | 117 + .../vendor/common/values/legacy_list_value.cc | 76 + .../vendor/common/values/legacy_list_value.h | 167 + .../vendor/common/values/legacy_map_value.cc | 76 + .../vendor/common/values/legacy_map_value.h | 185 + .../common/values/legacy_struct_value.cc | 43 + .../common/values/legacy_struct_value.h | 183 + .../vendor/common/values/list_value.cc | 304 + .../vendor/common/values/list_value.h | 284 + .../vendor/common/values/list_value_builder.h | 110 + .../vendor/common/values/list_value_variant.h | 214 + .../vendor/common/values/map_value.cc | 378 + .../vendor/common/values/map_value.h | 323 + .../vendor/common/values/map_value_builder.h | 110 + .../vendor/common/values/map_value_variant.h | 212 + .../vendor/common/values/message_value.cc | 306 + .../vendor/common/values/message_value.h | 268 + .../vendor/common/values/null_value.cc | 78 + .../vendor/common/values/null_value.h | 96 + .../vendor/common/values/opaque_value.cc | 194 + .../vendor/common/values/opaque_value.h | 338 + .../vendor/common/values/optional_value.cc | 442 + .../vendor/common/values/optional_value.h | 207 + .../common/values/parsed_json_list_value.cc | 486 + .../common/values/parsed_json_list_value.h | 229 + .../common/values/parsed_json_map_value.cc | 439 + .../common/values/parsed_json_map_value.h | 250 + .../vendor/common/values/parsed_json_value.cc | 103 + .../vendor/common/values/parsed_json_value.h | 40 + .../common/values/parsed_map_field_value.cc | 575 + .../common/values/parsed_map_field_value.h | 242 + .../common/values/parsed_message_value.cc | 411 + .../common/values/parsed_message_value.h | 251 + .../values/parsed_repeated_field_value.cc | 365 + .../values/parsed_repeated_field_value.h | 220 + .../vendor/common/values/string_value.cc | 1519 + .../vendor/common/values/string_value.h | 489 + .../vendor/common/values/struct_value.cc | 390 + .../vendor/common/values/struct_value.h | 373 + .../common/values/struct_value_builder.cc | 1518 + .../common/values/struct_value_builder.h | 35 + .../common/values/struct_value_variant.h | 205 + .../vendor/common/values/timestamp_value.cc | 103 + .../vendor/common/values/timestamp_value.h | 146 + .../vendor/common/values/type_value.cc | 72 + .../vendor/common/values/type_value.h | 108 + .../vendor/common/values/uint_value.cc | 110 + .../vendor/common/values/uint_value.h | 119 + .../vendor/common/values/unknown_value.cc | 66 + .../vendor/common/values/unknown_value.h | 121 + .../vendor/common/values/value_builder.cc | 1432 + .../vendor/common/values/value_builder.h | 36 + .../vendor/common/values/value_variant.cc | 537 + .../vendor/common/values/value_variant.h | 831 + .../celcpp-sys/vendor/common/values/values.h | 351 + crates/celcpp-sys/vendor/compiler/compiler.h | 156 + .../vendor/compiler/compiler_factory.h | 70 + .../compiler_library_subset_factory.h | 80 + crates/celcpp-sys/vendor/compiler/optional.h | 28 + .../vendor/compiler/standard_library.h | 27 + .../celcpp-sys/vendor/conformance/service.h | 56 + crates/celcpp-sys/vendor/conformance/utils.h | 118 + crates/celcpp-sys/vendor/env/config.h | 160 + crates/celcpp-sys/vendor/env/env.h | 76 + crates/celcpp-sys/vendor/env/env_runtime.h | 85 + .../vendor/env/env_std_extensions.h | 42 + crates/celcpp-sys/vendor/env/env_yaml.h | 39 + .../vendor/env/internal/ext_registry.h | 74 + .../env/internal/runtime_ext_registry.h | 84 + .../vendor/env/runtime_std_extensions.h | 46 + crates/celcpp-sys/vendor/env/type_info.h | 35 + .../cel_expression_builder_flat_impl.cc | 111 + .../cel_expression_builder_flat_impl.h | 108 + .../eval/compiler/check_ast_extensions.cc | 58 + .../eval/compiler/check_ast_extensions.h | 34 + .../comprehension_vulnerability_check.cc | 275 + .../comprehension_vulnerability_check.h | 51 + .../vendor/eval/compiler/constant_folding.cc | 280 + .../vendor/eval/compiler/constant_folding.h | 42 + .../vendor/eval/compiler/flat_expr_builder.cc | 2623 ++ .../vendor/eval/compiler/flat_expr_builder.h | 104 + .../compiler/flat_expr_builder_extensions.cc | 474 + .../compiler/flat_expr_builder_extensions.h | 481 + .../vendor/eval/compiler/instrumentation.h | 60 + .../compiler/qualified_reference_resolver.cc | 359 + .../compiler/qualified_reference_resolver.h | 53 + .../regex_precompilation_optimization.cc | 274 + .../regex_precompilation_optimization.h | 29 + .../vendor/eval/compiler/resolver.cc | 222 + .../vendor/eval/compiler/resolver.h | 127 + .../vendor/eval/eval/attribute_trail.cc | 28 + .../vendor/eval/eval/attribute_trail.h | 64 + .../vendor/eval/eval/attribute_utility.cc | 260 + .../vendor/eval/eval/attribute_utility.h | 179 + .../eval/eval/cel_expression_flat_impl.cc | 147 + .../eval/eval/cel_expression_flat_impl.h | 175 + .../eval/eval/compiler_constant_step.cc | 37 + .../vendor/eval/eval/compiler_constant_step.h | 76 + .../vendor/eval/eval/comprehension_slots.h | 153 + .../vendor/eval/eval/comprehension_step.cc | 685 + .../vendor/eval/eval/comprehension_step.h | 119 + .../vendor/eval/eval/const_value_step.h | 31 + .../vendor/eval/eval/container_access_step.cc | 370 + .../vendor/eval/eval/container_access_step.h | 26 + .../vendor/eval/eval/create_list_step.cc | 283 + .../vendor/eval/eval/create_list_step.h | 40 + .../vendor/eval/eval/create_map_step.cc | 289 + .../vendor/eval/eval/create_map_step.h | 59 + .../vendor/eval/eval/create_struct_step.cc | 270 + .../vendor/eval/eval/create_struct_step.h | 44 + .../eval/eval/direct_expression_step.cc | 34 + .../vendor/eval/eval/direct_expression_step.h | 99 + .../vendor/eval/eval/equality_steps.cc | 293 + .../vendor/eval/eval/equality_steps.h | 45 + .../vendor/eval/eval/evaluator_core.cc | 178 + .../vendor/eval/eval/evaluator_core.h | 516 + .../vendor/eval/eval/evaluator_stack.cc | 92 + .../vendor/eval/eval/evaluator_stack.h | 327 + .../vendor/eval/eval/expression_step_base.h | 12 + .../vendor/eval/eval/function_step.cc | 537 + .../vendor/eval/eval/function_step.h | 48 + .../celcpp-sys/vendor/eval/eval/ident_step.cc | 174 + .../celcpp-sys/vendor/eval/eval/ident_step.h | 31 + .../vendor/eval/eval/iterator_stack.h | 77 + .../celcpp-sys/vendor/eval/eval/jump_step.cc | 147 + .../celcpp-sys/vendor/eval/eval/jump_step.h | 68 + .../vendor/eval/eval/lazy_init_step.cc | 236 + .../vendor/eval/eval/lazy_init_step.h | 87 + .../celcpp-sys/vendor/eval/eval/logic_step.cc | 487 + .../celcpp-sys/vendor/eval/eval/logic_step.h | 47 + .../vendor/eval/eval/optional_or_step.cc | 305 + .../vendor/eval/eval/optional_or_step.h | 51 + .../vendor/eval/eval/regex_match_step.cc | 135 + .../vendor/eval/eval/regex_match_step.h | 37 + .../vendor/eval/eval/select_step.cc | 511 + .../celcpp-sys/vendor/eval/eval/select_step.h | 28 + .../vendor/eval/eval/shadowable_value_step.cc | 98 + .../vendor/eval/eval/shadowable_value_step.h | 26 + .../vendor/eval/eval/ternary_step.cc | 194 + .../vendor/eval/eval/ternary_step.h | 26 + .../celcpp-sys/vendor/eval/eval/trace_step.h | 73 + .../eval/internal/adapter_activation_impl.cc | 87 + .../eval/internal/adapter_activation_impl.h | 68 + .../vendor/eval/internal/cel_value_equal.cc | 242 + .../vendor/eval/internal/cel_value_equal.h | 34 + .../celcpp-sys/vendor/eval/internal/errors.cc | 64 + .../celcpp-sys/vendor/eval/internal/errors.h | 54 + .../celcpp-sys/vendor/eval/internal/interop.h | 20 + .../vendor/eval/public/activation.cc | 119 + .../vendor/eval/public/activation.h | 170 + .../eval/public/activation_bind_helper.h | 60 + .../vendor/eval/public/ast_rewrite.h | 175 + .../vendor/eval/public/ast_traverse.h | 67 + .../vendor/eval/public/ast_visitor.h | 185 + .../vendor/eval/public/ast_visitor_base.h | 109 + .../vendor/eval/public/base_activation.h | 75 + .../eval/public/builtin_func_registrar.cc | 65 + .../eval/public/builtin_func_registrar.h | 30 + .../vendor/eval/public/cel_attribute.cc | 90 + .../vendor/eval/public/cel_attribute.h | 64 + .../vendor/eval/public/cel_builtins.h | 19 + .../eval/public/cel_expr_builder_factory.cc | 146 + .../eval/public/cel_expr_builder_factory.h | 43 + .../vendor/eval/public/cel_expression.h | 144 + .../vendor/eval/public/cel_function.cc | 76 + .../vendor/eval/public/cel_function.h | 80 + .../vendor/eval/public/cel_function_adapter.h | 121 + .../eval/public/cel_function_adapter_impl.h | 407 + .../eval/public/cel_function_registry.cc | 122 + .../eval/public/cel_function_registry.h | 146 + .../vendor/eval/public/cel_number.cc | 31 + .../vendor/eval/public/cel_number.h | 36 + .../vendor/eval/public/cel_options.cc | 47 + .../vendor/eval/public/cel_options.h | 228 + .../vendor/eval/public/cel_type_registry.cc | 64 + .../vendor/eval/public/cel_type_registry.h | 145 + .../vendor/eval/public/cel_value.cc | 412 + .../celcpp-sys/vendor/eval/public/cel_value.h | 770 + .../vendor/eval/public/cel_value_internal.h | 103 + .../vendor/eval/public/cel_value_producer.h | 25 + .../vendor/eval/public/comparison_functions.h | 36 + .../public/container_function_registrar.h | 36 + .../containers/container_backed_list_impl.h | 44 + .../containers/container_backed_map_impl.cc | 131 + .../containers/container_backed_map_impl.h | 70 + .../eval/public/containers/field_access.cc | 85 + .../eval/public/containers/field_access.h | 70 + .../containers/field_backed_list_impl.h | 33 + .../public/containers/field_backed_map_impl.h | 35 + .../internal_field_backed_list_impl.cc | 36 + .../internal_field_backed_list_impl.h | 59 + .../internal_field_backed_map_impl.cc | 298 + .../internal_field_backed_map_impl.h | 77 + .../eval/public/equality_function_registrar.h | 44 + .../eval/public/extension_func_registrar.h | 20 + .../eval/public/logical_function_registrar.h | 36 + .../vendor/eval/public/message_wrapper.h | 139 + .../public/portable_cel_function_adapter.h | 72 + .../celcpp-sys/vendor/eval/public/set_util.h | 43 + .../vendor/eval/public/source_position.h | 65 + .../public/string_extension_func_registrar.cc | 29 + .../public/string_extension_func_registrar.h | 31 + .../cel_proto_descriptor_pool_builder.h | 40 + .../public/structs/cel_proto_wrap_util.cc | 1479 + .../eval/public/structs/cel_proto_wrap_util.h | 45 + .../eval/public/structs/cel_proto_wrapper.cc | 60 + .../eval/public/structs/cel_proto_wrapper.h | 53 + .../eval/public/structs/field_access_impl.cc | 746 + .../eval/public/structs/field_access_impl.h | 80 + .../eval/public/structs/legacy_type_adapter.h | 177 + .../public/structs/legacy_type_info_apis.h | 103 + .../public/structs/legacy_type_provider.cc | 218 + .../public/structs/legacy_type_provider.h | 79 + .../structs/proto_message_type_adapter.cc | 692 + .../structs/proto_message_type_adapter.h | 129 + .../protobuf_descriptor_type_provider.cc | 70 + .../protobuf_descriptor_type_provider.h | 67 + .../public/structs/protobuf_value_factory.h | 36 + .../public/structs/trivial_legacy_type_info.h | 54 + .../vendor/eval/public/testing/matchers.h | 116 + .../vendor/eval/public/transform_utility.h | 39 + .../eval/public/unknown_attribute_set.h | 20 + .../public/unknown_function_result_set.cc | 1 + .../eval/public/unknown_function_result_set.h | 27 + .../vendor/eval/public/unknown_set.h | 22 + .../vendor/eval/public/value_export_util.h | 28 + .../vendor/eval/tests/mock_cel_expression.h | 39 + .../vendor/extensions/bindings_ext.h | 42 + .../vendor/extensions/comprehensions_v2.h | 39 + .../extensions/comprehensions_v2_functions.h | 35 + .../extensions/comprehensions_v2_macros.h | 34 + .../celcpp-sys/vendor/extensions/encoders.h | 45 + .../vendor/extensions/formatting.cc | 564 + .../celcpp-sys/vendor/extensions/formatting.h | 39 + .../vendor/extensions/lists_functions.h | 103 + .../celcpp-sys/vendor/extensions/math_ext.h | 39 + .../vendor/extensions/math_ext_decls.h | 33 + .../vendor/extensions/math_ext_macros.h | 38 + .../celcpp-sys/vendor/extensions/proto_ext.h | 42 + .../extensions/protobuf/ast_converters.h | 56 + .../protobuf/bind_proto_to_activation.h | 130 + .../vendor/extensions/protobuf/enum_adapter.h | 30 + .../protobuf/internal/map_reflection.cc | 132 + .../protobuf/internal/map_reflection.h | 67 + .../extensions/protobuf/internal/qualify.cc | 457 + .../extensions/protobuf/internal/qualify.h | 117 + .../extensions/protobuf/memory_manager.cc | 37 + .../extensions/protobuf/memory_manager.h | 56 + .../extensions/protobuf/runtime_adapter.h | 51 + .../vendor/extensions/protobuf/value.h | 98 + .../extensions/protobuf/value_testing.h | 78 + .../celcpp-sys/vendor/extensions/regex_ext.h | 131 + .../vendor/extensions/regex_functions.h | 52 + .../vendor/extensions/select_optimization.cc | 958 + .../vendor/extensions/select_optimization.h | 90 + .../vendor/extensions/sets_functions.h | 45 + .../celcpp-sys/vendor/extensions/strings.cc | 432 + crates/celcpp-sys/vendor/extensions/strings.h | 73 + crates/celcpp-sys/vendor/internal/align.h | 95 + crates/celcpp-sys/vendor/internal/benchmark.h | 20 + crates/celcpp-sys/vendor/internal/casts.h | 50 + .../internal/empty_descriptor_set_embed.inc | 1 + .../vendor/internal/empty_descriptors.cc | 72 + .../vendor/internal/empty_descriptors.h | 31 + .../vendor/internal/equals_text_proto.h | 65 + .../celcpp-sys/vendor/internal/exceptions.h | 35 + crates/celcpp-sys/vendor/internal/json.cc | 2041 ++ crates/celcpp-sys/vendor/internal/json.h | 141 + crates/celcpp-sys/vendor/internal/lexis.cc | 79 + crates/celcpp-sys/vendor/internal/lexis.h | 32 + crates/celcpp-sys/vendor/internal/manual.h | 91 + .../vendor/internal/message_equality.cc | 1490 + .../vendor/internal/message_equality.h | 54 + .../vendor/internal/message_type_name.h | 56 + .../internal/minimal_descriptor_database.h | 32 + .../vendor/internal/minimal_descriptor_pool.h | 40 + crates/celcpp-sys/vendor/internal/names.h | 26 + crates/celcpp-sys/vendor/internal/new.cc | 142 + crates/celcpp-sys/vendor/internal/new.h | 61 + .../celcpp-sys/vendor/internal/noop_delete.h | 53 + crates/celcpp-sys/vendor/internal/number.h | 299 + crates/celcpp-sys/vendor/internal/overflow.cc | 339 + crates/celcpp-sys/vendor/internal/overflow.h | 178 + .../vendor/internal/parse_text_proto.h | 121 + .../vendor/internal/proto_file_util.h | 73 + .../vendor/internal/proto_matchers.h | 141 + .../vendor/internal/proto_time_encoding.cc | 103 + .../vendor/internal/proto_time_encoding.h | 49 + .../celcpp-sys/vendor/internal/proto_util.h | 87 + .../internal/protobuf_runtime_version.h | 32 + .../celcpp-sys/vendor/internal/re2_options.h | 61 + .../vendor/internal/status_builder.h | 114 + .../vendor/internal/status_macros.h | 152 + .../celcpp-sys/vendor/internal/string_pool.cc | 79 + .../celcpp-sys/vendor/internal/string_pool.h | 59 + crates/celcpp-sys/vendor/internal/strings.cc | 693 + crates/celcpp-sys/vendor/internal/strings.h | 90 + crates/celcpp-sys/vendor/internal/testing.h | 44 + .../vendor/internal/testing_descriptor_pool.h | 35 + .../vendor/internal/testing_message_factory.h | 31 + crates/celcpp-sys/vendor/internal/time.cc | 198 + crates/celcpp-sys/vendor/internal/time.h | 65 + .../celcpp-sys/vendor/internal/to_address.h | 68 + crates/celcpp-sys/vendor/internal/unicode.h | 28 + crates/celcpp-sys/vendor/internal/utf8.cc | 526 + crates/celcpp-sys/vendor/internal/utf8.h | 82 + .../vendor/internal/well_known_types.cc | 2181 ++ .../vendor/internal/well_known_types.h | 1593 + .../vendor/parser/internal/CelBaseVisitor.cpp | 9 + .../vendor/parser/internal/CelBaseVisitor.h | 167 + .../vendor/parser/internal/CelLexer.cpp | 308 + .../vendor/parser/internal/CelLexer.h | 57 + .../vendor/parser/internal/CelParser.cpp | 2484 ++ .../vendor/parser/internal/CelParser.h | 697 + .../vendor/parser/internal/CelVisitor.cpp | 9 + .../vendor/parser/internal/CelVisitor.h | 98 + .../cel-cpp+/parser/internal/CelBaseVisitor.h | 167 + .../cel-cpp+/parser/internal/CelLexer.h | 57 + .../cel-cpp+/parser/internal/CelParser.h | 697 + .../cel-cpp+/parser/internal/CelVisitor.h | 98 + .../vendor/parser/internal/options.h | 28 + crates/celcpp-sys/vendor/parser/macro.cc | 495 + crates/celcpp-sys/vendor/parser/macro.h | 229 + .../vendor/parser/macro_expr_factory.cc | 128 + .../vendor/parser/macro_expr_factory.h | 328 + .../vendor/parser/macro_registry.cc | 87 + .../celcpp-sys/vendor/parser/macro_registry.h | 59 + crates/celcpp-sys/vendor/parser/options.h | 90 + crates/celcpp-sys/vendor/parser/parser.cc | 1913 ++ crates/celcpp-sys/vendor/parser/parser.h | 102 + .../vendor/parser/parser_interface.h | 93 + .../vendor/parser/parser_subset_factory.h | 41 + .../celcpp-sys/vendor/parser/source_factory.h | 47 + .../vendor/parser/standard_macros.h | 31 + .../celcpp-sys/vendor/runtime/activation.cc | 141 + crates/celcpp-sys/vendor/runtime/activation.h | 184 + .../vendor/runtime/activation_interface.h | 109 + .../comprehension_vulnerability_check.h | 35 + .../vendor/runtime/constant_folding.h | 69 + .../vendor/runtime/embedder_context.h | 147 + crates/celcpp-sys/vendor/runtime/function.h | 115 + .../vendor/runtime/function_adapter.h | 830 + .../runtime/function_overload_reference.h | 34 + .../vendor/runtime/function_provider.h | 46 + .../vendor/runtime/function_registry.cc | 264 + .../vendor/runtime/function_registry.h | 160 + .../activation_attribute_matcher_access.cc | 61 + .../activation_attribute_matcher_access.h | 60 + .../runtime/internal/attribute_matcher.h | 48 + .../runtime/internal/convert_constant.cc | 78 + .../runtime/internal/convert_constant.h | 39 + .../vendor/runtime/internal/errors.cc | 69 + .../vendor/runtime/internal/errors.h | 71 + .../runtime/internal/function_adapter.h | 232 + .../vendor/runtime/internal/issue_collector.h | 64 + .../internal/legacy_runtime_type_provider.h | 37 + .../vendor/runtime/internal/runtime_env.cc | 73 + .../vendor/runtime/internal/runtime_env.h | 134 + .../runtime/internal/runtime_env_testing.h | 29 + .../runtime/internal/runtime_friend_access.h | 45 + .../vendor/runtime/internal/runtime_impl.cc | 159 + .../vendor/runtime/internal/runtime_impl.h | 125 + .../runtime/internal/runtime_type_provider.cc | 119 + .../runtime/internal/runtime_type_provider.h | 63 + .../vendor/runtime/optional_types.h | 152 + .../vendor/runtime/reference_resolver.h | 46 + .../vendor/runtime/regex_precompilation.h | 32 + .../vendor/runtime/register_function_helper.h | 99 + crates/celcpp-sys/vendor/runtime/runtime.h | 229 + .../vendor/runtime/runtime_builder.h | 101 + .../vendor/runtime/runtime_builder_factory.h | 65 + .../celcpp-sys/vendor/runtime/runtime_issue.h | 88 + .../vendor/runtime/runtime_options.h | 196 + .../runtime/standard/arithmetic_functions.cc | 233 + .../runtime/standard/arithmetic_functions.h | 35 + .../runtime/standard/comparison_functions.cc | 272 + .../runtime/standard/comparison_functions.h | 36 + .../runtime/standard/container_functions.cc | 136 + .../runtime/standard/container_functions.h | 36 + .../container_membership_functions.cc | 331 + .../standard/container_membership_functions.h | 34 + .../runtime/standard/equality_functions.cc | 612 + .../runtime/standard/equality_functions.h | 60 + .../runtime/standard/logical_functions.cc | 66 + .../runtime/standard/logical_functions.h | 36 + .../runtime/standard/regex_functions.cc | 56 + .../vendor/runtime/standard/regex_functions.h | 38 + .../runtime/standard/string_functions.cc | 140 + .../runtime/standard/string_functions.h | 34 + .../vendor/runtime/standard/time_functions.cc | 499 + .../vendor/runtime/standard/time_functions.h | 56 + .../standard/type_conversion_functions.cc | 470 + .../standard/type_conversion_functions.h | 34 + .../vendor/runtime/standard_functions.h | 33 + .../standard_runtime_builder_factory.h | 43 + .../vendor/runtime/type_registry.cc | 84 + .../celcpp-sys/vendor/runtime/type_registry.h | 155 + .../testrunner/cel_expression_source.h | 81 + .../testing/testrunner/cel_test_context.h | 200 + .../testing/testrunner/cel_test_factories.h | 91 + .../testing/testrunner/coverage_index.h | 123 + .../testing/testrunner/coverage_reporting.h | 43 + .../vendor/testing/testrunner/runner_lib.h | 84 + .../vendor/testutil/baseline_tests.h | 60 + .../celcpp-sys/vendor/testutil/expr_printer.h | 57 + crates/celcpp-sys/vendor/testutil/util.h | 28 + .../celcpp-sys/vendor/tools/branch_coverage.h | 68 + .../vendor/tools/cel_field_extractor.h | 70 + crates/celcpp-sys/vendor/tools/cel_unparser.h | 60 + .../vendor/tools/descriptor_pool_builder.h | 93 + .../vendor/tools/flatbuffers_backed_impl.h | 58 + .../celcpp-sys/vendor/tools/navigable_ast.h | 169 + .../vendor/validator/ast_depth_validator.h | 27 + .../comprehension_nesting_validator.h | 31 + .../validator/homogeneous_literal_validator.h | 38 + .../vendor/validator/regex_validator.h | 53 + .../validator/timestamp_literal_validator.h | 29 + .../celcpp-sys/vendor/validator/validator.cc | 85 + .../celcpp-sys/vendor/validator/validator.h | 151 + crates/protobuf-sys/Cargo.toml | 27 + crates/protobuf-sys/build.rs | 17 + crates/protobuf-sys/filelist.txt | 82 + crates/protobuf-sys/src/lib.rs | 1 + crates/protobuf-sys/vendor/LICENSE | 32 + .../binary_json_conformance_suite.h | 196 + .../vendor/conformance/binary_wireformat.h | 270 + .../vendor/conformance/conformance_test.h | 319 + .../conformance/failure_list_trie_node.h | 67 + .../vendor/conformance/fork_pipe_runner.h | 60 + .../protobuf-sys/vendor/conformance/naming.h | 63 + .../vendor/conformance/test_manager.h | 96 + .../vendor/conformance/test_runner.h | 39 + .../protobuf-sys/vendor/conformance/testee.h | 184 + .../text_format_conformance_suite.h | 82 + .../editions/edition_defaults_test_utils.h | 24 + .../protobuf-sys/vendor/google/protobuf/any.h | 146 + .../vendor/google/protobuf/any.pb.cc | 459 + .../vendor/google/protobuf/any.pb.h | 500 + .../vendor/google/protobuf/api.pb.cc | 1729 + .../vendor/google/protobuf/api.pb.h | 1936 ++ .../vendor/google/protobuf/arena.h | 797 + .../vendor/google/protobuf/arena_align.h | 199 + .../google/protobuf/arena_allocation_policy.h | 102 + .../vendor/google/protobuf/arena_cleanup.h | 108 + .../vendor/google/protobuf/arenastring.h | 545 + .../vendor/google/protobuf/arenaz_sampler.h | 238 + .../google/protobuf/compiler/importer.h | 348 + .../vendor/google/protobuf/compiler/parser.h | 639 + .../google/protobuf/cpp_edition_defaults.h | 12 + .../vendor/google/protobuf/cpp_features.pb.h | 494 + .../vendor/google/protobuf/descriptor.h | 3283 ++ .../vendor/google/protobuf/descriptor.pb.h | 22300 +++++++++++++ .../google/protobuf/descriptor_database.h | 422 + .../google/protobuf/descriptor_legacy.h | 25 + .../vendor/google/protobuf/descriptor_lite.h | 98 + .../google/protobuf/descriptor_visitor.h | 187 + .../vendor/google/protobuf/duration.pb.cc | 413 + .../vendor/google/protobuf/duration.pb.h | 352 + .../vendor/google/protobuf/dynamic_message.h | 217 + .../vendor/google/protobuf/empty.pb.cc | 214 + .../vendor/google/protobuf/empty.pb.h | 235 + .../vendor/google/protobuf/endian.h | 177 + .../google/protobuf/explicitly_constructed.h | 67 + .../vendor/google/protobuf/extension_set.h | 1868 ++ .../google/protobuf/extension_set_inl.h | 261 + .../vendor/google/protobuf/feature_resolver.h | 94 + .../google/protobuf/field_access_listener.h | 161 + .../vendor/google/protobuf/field_mask.pb.cc | 401 + .../vendor/google/protobuf/field_mask.pb.h | 374 + .../protobuf/generated_enum_reflection.h | 77 + .../google/protobuf/generated_enum_util.h | 114 + .../google/protobuf/generated_message_bases.h | 68 + .../protobuf/generated_message_reflection.h | 388 + .../protobuf/generated_message_tctable_decl.h | 611 + .../protobuf/generated_message_tctable_gen.h | 197 + .../protobuf/generated_message_tctable_impl.h | 1204 + .../google/protobuf/generated_message_util.h | 406 + .../vendor/google/protobuf/has_bits.h | 135 + .../google/protobuf/implicit_weak_message.h | 238 + .../google/protobuf/inlined_string_field.h | 545 + .../google/protobuf/internal_feature_helper.h | 130 + .../google/protobuf/internal_visibility.h | 44 + .../vendor/google/protobuf/io/coded_stream.h | 1853 ++ .../vendor/google/protobuf/io/gzip_stream.h | 179 + .../vendor/google/protobuf/io/io_win32.h | 118 + .../vendor/google/protobuf/io/printer.h | 1182 + .../vendor/google/protobuf/io/strtod.h | 53 + .../vendor/google/protobuf/io/tokenizer.h | 426 + .../google/protobuf/io/zero_copy_sink.h | 57 + .../google/protobuf/io/zero_copy_stream.h | 260 + .../protobuf/io/zero_copy_stream_impl.h | 311 + .../protobuf/io/zero_copy_stream_impl_lite.h | 515 + .../json/internal/descriptor_traits.h | 510 + .../google/protobuf/json/internal/lexer.h | 341 + .../protobuf/json/internal/message_path.h | 61 + .../google/protobuf/json/internal/parser.h | 37 + .../protobuf/json/internal/parser_traits.h | 400 + .../google/protobuf/json/internal/unparser.h | 38 + .../protobuf/json/internal/unparser_traits.h | 413 + .../protobuf/json/internal/untyped_message.h | 246 + .../google/protobuf/json/internal/writer.h | 214 + .../json/internal/zero_copy_buffered_stream.h | 338 + .../vendor/google/protobuf/json/json.h | 200 + .../protobuf-sys/vendor/google/protobuf/map.h | 1587 + .../vendor/google/protobuf/map_entry.h | 139 + .../vendor/google/protobuf/map_field.h | 891 + .../vendor/google/protobuf/map_field_lite.h | 119 + .../vendor/google/protobuf/map_type_handler.h | 377 + .../vendor/google/protobuf/message.h | 1880 ++ .../vendor/google/protobuf/message_lite.h | 1621 + .../vendor/google/protobuf/metadata.h | 13 + .../vendor/google/protobuf/metadata_lite.h | 258 + .../vendor/google/protobuf/micro_string.h | 653 + .../google/protobuf/os_macros_restore.inc | 97 + .../google/protobuf/os_macros_undef.inc | 166 + .../vendor/google/protobuf/parse_context.h | 1650 + .../vendor/google/protobuf/port.h | 830 + .../vendor/google/protobuf/port_def.inc | 832 + .../vendor/google/protobuf/port_undef.inc | 95 + .../vendor/google/protobuf/raw_ptr.h | 64 + .../vendor/google/protobuf/reflection.h | 572 + .../google/protobuf/reflection_internal.h | 313 + .../vendor/google/protobuf/reflection_mode.h | 144 + .../vendor/google/protobuf/reflection_ops.h | 67 + .../protobuf/reflection_visit_field_info.h | 1427 + .../google/protobuf/reflection_visit_fields.h | 511 + .../vendor/google/protobuf/repeated_field.h | 1519 + .../google/protobuf/repeated_ptr_field.h | 2278 ++ .../vendor/google/protobuf/runtime_version.h | 27 + .../vendor/google/protobuf/serial_arena.h | 447 + .../vendor/google/protobuf/service.h | 270 + .../google/protobuf/source_context.pb.cc | 394 + .../google/protobuf/source_context.pb.h | 360 + .../vendor/google/protobuf/string_block.h | 181 + .../vendor/google/protobuf/struct.pb.cc | 1386 + .../vendor/google/protobuf/struct.pb.h | 1353 + .../vendor/google/protobuf/stubs/callback.h | 584 + .../vendor/google/protobuf/stubs/common.h | 94 + .../google/protobuf/stubs/platform_macros.h | 115 + .../vendor/google/protobuf/stubs/port.h | 228 + .../google/protobuf/stubs/status_macros.h | 72 + .../vendor/google/protobuf/text_format.h | 850 + .../google/protobuf/thread_safe_arena.h | 285 + .../vendor/google/protobuf/timestamp.pb.cc | 413 + .../vendor/google/protobuf/timestamp.pb.h | 352 + .../vendor/google/protobuf/type.pb.cc | 2746 ++ .../vendor/google/protobuf/type.pb.h | 3244 ++ .../google/protobuf/unknown_field_set.h | 456 + .../protobuf/util/delimited_message_util.h | 85 + .../google/protobuf/util/field_comparator.h | 257 + .../google/protobuf/util/field_mask_util.h | 242 + .../google/protobuf/util/internal_timeval.h | 28 + .../vendor/google/protobuf/util/json_util.h | 34 + .../protobuf/util/message_differencer.h | 1009 + .../vendor/google/protobuf/util/time_util.h | 296 + .../google/protobuf/util/type_resolver.h | 56 + .../google/protobuf/util/type_resolver_util.h | 45 + .../vendor/google/protobuf/varint_shuffle.h | 163 + .../vendor/google/protobuf/wire_format.h | 358 + .../vendor/google/protobuf/wire_format_lite.h | 1686 + .../vendor/google/protobuf/wrappers.pb.cc | 2661 ++ .../vendor/google/protobuf/wrappers.pb.h | 2189 ++ crates/protobuf-sys/vendor/hpb/arena.h | 50 + .../protobuf-sys/vendor/hpb/backend/cpp/cpp.h | 61 + .../vendor/hpb/backend/cpp/interop.h | 27 + .../protobuf-sys/vendor/hpb/backend/types.h | 38 + .../vendor/hpb/backend/upb/error.h | 58 + .../vendor/hpb/backend/upb/extension.h | 221 + .../vendor/hpb/backend/upb/interop.h | 162 + .../vendor/hpb/backend/upb/repeated_field.h | 262 + .../hpb/backend/upb/repeated_field_iterator.h | 371 + .../protobuf-sys/vendor/hpb/backend/upb/upb.h | 133 + crates/protobuf-sys/vendor/hpb/extension.h | 192 + crates/protobuf-sys/vendor/hpb/hpb.h | 99 + .../vendor/hpb/internal/internal.h | 66 + .../vendor/hpb/internal/message_lock.h | 52 + .../vendor/hpb/internal/os_macros_restore.inc | 13 + .../vendor/hpb/internal/os_macros_undef.inc | 15 + .../vendor/hpb/internal/template_help.h | 75 + crates/protobuf-sys/vendor/hpb/multibackend.h | 31 + crates/protobuf-sys/vendor/hpb/options.h | 50 + crates/protobuf-sys/vendor/hpb/ptr.h | 73 + .../protobuf-sys/vendor/hpb/repeated_field.h | 53 + crates/protobuf-sys/vendor/hpb/requires.h | 24 + crates/protobuf-sys/vendor/hpb/status.h | 83 + .../vendor/hpb_generator/context.h | 157 + .../vendor/hpb_generator/gen_accessors.h | 29 + .../vendor/hpb_generator/gen_enums.h | 32 + .../vendor/hpb_generator/gen_extensions.h | 28 + .../vendor/hpb_generator/gen_messages.h | 31 + .../hpb_generator/gen_repeated_fields.h | 49 + .../vendor/hpb_generator/gen_utils.h | 50 + .../vendor/hpb_generator/generator.h | 47 + .../vendor/hpb_generator/keywords.h | 25 + .../protobuf-sys/vendor/hpb_generator/names.h | 51 + crates/protobuf-sys/vendor/lua/upb.h | 112 + .../vendor/objectivec/GPBAny.pbobjc.h | 185 + .../vendor/objectivec/GPBApi.pbobjc.h | 330 + .../protobuf-sys/vendor/objectivec/GPBArray.h | 1981 ++ .../objectivec/GPBArray_PackagePrivate.h | 107 + .../vendor/objectivec/GPBBootstrap.h | 139 + .../vendor/objectivec/GPBCodedInputStream.h | 237 + .../GPBCodedInputStream_PackagePrivate.h | 84 + .../vendor/objectivec/GPBCodedOutputStream.h | 711 + .../GPBCodedOutputStream_PackagePrivate.h | 82 + .../vendor/objectivec/GPBDescriptor.h | 334 + .../objectivec/GPBDescriptor_PackagePrivate.h | 346 + .../vendor/objectivec/GPBDictionary.h | 5807 ++++ .../objectivec/GPBDictionary_PackagePrivate.h | 465 + .../vendor/objectivec/GPBDuration.pbobjc.h | 140 + .../vendor/objectivec/GPBEmpty.pbobjc.h | 64 + .../vendor/objectivec/GPBExtensionInternals.h | 18 + .../vendor/objectivec/GPBExtensionRegistry.h | 70 + .../vendor/objectivec/GPBFieldMask.pbobjc.h | 265 + .../vendor/objectivec/GPBMessage.h | 513 + .../objectivec/GPBMessage_PackagePrivate.h | 81 + .../vendor/objectivec/GPBProtocolBuffers.h | 36 + .../GPBProtocolBuffers_RuntimeSupport.h | 18 + .../vendor/objectivec/GPBRootObject.h | 29 + .../objectivec/GPBRootObject_PackagePrivate.h | 23 + .../vendor/objectivec/GPBRuntimeTypes.h | 106 + .../objectivec/GPBSourceContext.pbobjc.h | 69 + .../vendor/objectivec/GPBStruct.pbobjc.h | 196 + .../vendor/objectivec/GPBTimestamp.pbobjc.h | 170 + .../vendor/objectivec/GPBType.pbobjc.h | 471 + .../vendor/objectivec/GPBUnknownField.h | 75 + .../GPBUnknownField_PackagePrivate.h | 30 + .../vendor/objectivec/GPBUnknownFields.h | 204 + .../GPBUnknownFields_PackagePrivate.h | 16 + .../vendor/objectivec/GPBUtilities.h | 520 + .../objectivec/GPBUtilities_PackagePrivate.h | 308 + .../vendor/objectivec/GPBWellKnownTypes.h | 213 + .../vendor/objectivec/GPBWireFormat.h | 47 + .../vendor/objectivec/GPBWrappers.pbobjc.h | 238 + .../objectivec/Tests/GPBTestUtilities.h | 78 + .../Tests/UnitTests-Bridging-Header.h | 14 + .../vendor/php/ext/google/protobuf/arena.h | 24 + .../vendor/php/ext/google/protobuf/array.h | 44 + .../vendor/php/ext/google/protobuf/convert.h | 50 + .../vendor/php/ext/google/protobuf/def.h | 68 + .../vendor/php/ext/google/protobuf/map.h | 47 + .../vendor/php/ext/google/protobuf/message.h | 39 + .../vendor/php/ext/google/protobuf/names.h | 19 + .../vendor/php/ext/google/protobuf/php-upb.h | 16906 ++++++++++ .../php/ext/google/protobuf/php_protobuf.h | 23 + .../php/ext/google/protobuf/print_options.h | 17 + .../vendor/php/ext/google/protobuf/protobuf.h | 87 + .../vendor/php/ext/google/protobuf/wkt.inc | 3439 ++ .../protobuf-sys/vendor/pkg/test/test_lib.h | 8 + crates/protobuf-sys/vendor/python/convert.h | 35 + .../protobuf-sys/vendor/python/descriptor.h | 62 + .../vendor/python/descriptor_containers.h | 94 + .../vendor/python/descriptor_pool.h | 28 + .../vendor/python/extension_dict.h | 19 + .../vendor/python/google/protobuf/proto_api.h | 211 + .../python/google/protobuf/pyext/descriptor.h | 82 + .../protobuf/pyext/descriptor_containers.h | 87 + .../protobuf/pyext/descriptor_database.h | 64 + .../google/protobuf/pyext/descriptor_pool.h | 129 + .../google/protobuf/pyext/extension_dict.h | 49 + .../python/google/protobuf/pyext/field.h | 39 + .../google/protobuf/pyext/map_container.h | 66 + .../python/google/protobuf/pyext/message.h | 349 + .../google/protobuf/pyext/message_factory.h | 81 + .../pyext/repeated_composite_container.h | 86 + .../pyext/repeated_scalar_container.h | 53 + .../google/protobuf/pyext/safe_numerics.h | 140 + .../protobuf/pyext/scoped_pyobject_ptr.h | 76 + .../google/protobuf/pyext/unknown_field_set.h | 59 + .../python/google/protobuf/python_protobuf.h | 35 + crates/protobuf-sys/vendor/python/map.h | 44 + crates/protobuf-sys/vendor/python/message.h | 87 + crates/protobuf-sys/vendor/python/protobuf.h | 215 + .../protobuf-sys/vendor/python/python_api.h | 41 + crates/protobuf-sys/vendor/python/repeated.h | 52 + .../vendor/python/unknown_fields.h | 19 + .../ruby/ext/google/protobuf_c/convert.h | 50 + .../vendor/ruby/ext/google/protobuf_c/defs.h | 82 + .../vendor/ruby/ext/google/protobuf_c/map.h | 48 + .../ruby/ext/google/protobuf_c/message.h | 82 + .../ruby/ext/google/protobuf_c/protobuf.h | 100 + .../ext/google/protobuf_c/repeated_field.h | 45 + .../ruby/ext/google/protobuf_c/ruby-upb.h | 16745 ++++++++++ .../ext/google/protobuf_c/shared_convert.h | 26 + .../ext/google/protobuf_c/shared_message.h | 21 + .../vendor/rust/cpp_kernel/compare.h | 13 + .../vendor/rust/cpp_kernel/debug.h | 14 + .../rust/cpp_kernel/rust_alloc_for_cpp_api.h | 11 + .../vendor/rust/cpp_kernel/serialized_data.h | 63 + .../vendor/rust/cpp_kernel/strings.h | 76 + .../vendor/src/google/protobuf/any.cc | 64 + .../vendor/src/google/protobuf/any.h | 146 + .../vendor/src/google/protobuf/any.pb.h | 500 + .../vendor/src/google/protobuf/any_lite.cc | 95 + .../vendor/src/google/protobuf/api.pb.h | 1936 ++ .../vendor/src/google/protobuf/arena.cc | 1008 + .../vendor/src/google/protobuf/arena.h | 797 + .../vendor/src/google/protobuf/arena_align.cc | 21 + .../vendor/src/google/protobuf/arena_align.h | 199 + .../google/protobuf/arena_allocation_policy.h | 102 + .../src/google/protobuf/arena_cleanup.h | 108 + .../src/google/protobuf/arena_test_util.h | 91 + .../vendor/src/google/protobuf/arenastring.cc | 290 + .../vendor/src/google/protobuf/arenastring.h | 545 + .../src/google/protobuf/arenaz_sampler.cc | 227 + .../src/google/protobuf/arenaz_sampler.h | 238 + .../protobuf/compiler/annotation_test_util.h | 105 + .../google/protobuf/compiler/code_generator.h | 258 + .../protobuf/compiler/code_generator_lite.h | 77 + .../compiler/command_line_interface.h | 513 + .../compiler/command_line_interface_tester.h | 162 + .../protobuf/compiler/cpp/cpp_generator.h | 13 + .../src/google/protobuf/compiler/cpp/enum.h | 85 + .../google/protobuf/compiler/cpp/extension.h | 97 + .../src/google/protobuf/compiler/cpp/field.h | 551 + .../protobuf/compiler/cpp/field_chunk.h | 107 + .../cpp/field_generators/generators.h | 94 + .../src/google/protobuf/compiler/cpp/file.h | 209 + .../google/protobuf/compiler/cpp/generator.h | 114 + .../google/protobuf/compiler/cpp/helpers.h | 1325 + .../protobuf/compiler/cpp/ifndef_guard.h | 66 + .../google/protobuf/compiler/cpp/message.h | 272 + .../compiler/cpp/message_layout_helper.h | 273 + .../src/google/protobuf/compiler/cpp/names.h | 90 + .../protobuf/compiler/cpp/namespace_printer.h | 58 + .../google/protobuf/compiler/cpp/options.h | 78 + .../protobuf/compiler/cpp/padding_optimizer.h | 55 + .../compiler/cpp/parse_function_generator.h | 94 + .../google/protobuf/compiler/cpp/service.h | 91 + .../cpp/tools/analyze_profile_proto.h | 62 + .../google/protobuf/compiler/cpp/tracker.h | 35 + .../google/protobuf/compiler/cpp/unittest.h | 28 + .../google/protobuf/compiler/cpp/unittest.inc | 2198 ++ .../compiler/csharp/csharp_doc_comment.h | 33 + .../protobuf/compiler/csharp/csharp_enum.h | 42 + .../compiler/csharp/csharp_enum_field.h | 57 + .../compiler/csharp/csharp_field_base.h | 93 + .../compiler/csharp/csharp_generator.h | 52 + .../protobuf/compiler/csharp/csharp_helpers.h | 143 + .../compiler/csharp/csharp_map_field.h | 51 + .../protobuf/compiler/csharp/csharp_message.h | 70 + .../compiler/csharp/csharp_message_field.h | 67 + .../protobuf/compiler/csharp/csharp_options.h | 60 + .../compiler/csharp/csharp_primitive_field.h | 71 + .../compiler/csharp/csharp_reflection_class.h | 52 + .../csharp/csharp_repeated_enum_field.h | 55 + .../csharp/csharp_repeated_message_field.h | 55 + .../csharp/csharp_repeated_primitive_field.h | 51 + .../csharp/csharp_source_generator_base.h | 47 + .../compiler/csharp/csharp_wrapper_field.h | 78 + .../google/protobuf/compiler/csharp/names.h | 124 + .../src/google/protobuf/compiler/importer.cc | 594 + .../src/google/protobuf/compiler/importer.h | 348 + .../google/protobuf/compiler/java/context.h | 105 + .../protobuf/compiler/java/doc_comment.h | 88 + .../protobuf/compiler/java/field_common.h | 69 + .../src/google/protobuf/compiler/java/file.h | 97 + .../google/protobuf/compiler/java/full/enum.h | 81 + .../protobuf/compiler/java/full/enum_field.h | 142 + .../protobuf/compiler/java/full/extension.h | 66 + .../compiler/java/full/field_generator.h | 53 + .../compiler/java/full/generator_factory.h | 19 + .../compiler/java/full/make_field_gens.h | 29 + .../protobuf/compiler/java/full/map_field.h | 68 + .../protobuf/compiler/java/full/message.h | 87 + .../compiler/java/full/message_builder.h | 80 + .../compiler/java/full/message_field.h | 162 + .../compiler/java/full/primitive_field.h | 143 + .../protobuf/compiler/java/full/service.h | 101 + .../compiler/java/full/string_field.h | 140 + .../google/protobuf/compiler/java/generator.h | 73 + .../protobuf/compiler/java/generator_common.h | 88 + .../compiler/java/generator_factory.h | 133 + .../google/protobuf/compiler/java/helpers.h | 415 + .../protobuf/compiler/java/internal_helpers.h | 85 + .../protobuf/compiler/java/java_features.pb.h | 790 + .../protobuf/compiler/java/java_generator.h | 13 + .../google/protobuf/compiler/java/lite/enum.h | 77 + .../protobuf/compiler/java/lite/enum_field.h | 120 + .../protobuf/compiler/java/lite/extension.h | 55 + .../compiler/java/lite/field_generator.h | 43 + .../compiler/java/lite/generator_factory.h | 19 + .../compiler/java/lite/make_field_gens.h | 32 + .../protobuf/compiler/java/lite/map_field.h | 56 + .../protobuf/compiler/java/lite/message.h | 66 + .../compiler/java/lite/message_builder.h | 66 + .../compiler/java/lite/message_field.h | 126 + .../compiler/java/lite/primitive_field.h | 124 + .../compiler/java/lite/string_field.h | 124 + .../compiler/java/message_serialization.h | 79 + .../protobuf/compiler/java/name_resolver.h | 138 + .../src/google/protobuf/compiler/java/names.h | 217 + .../protobuf/compiler/java/names_internal.h | 65 + .../google/protobuf/compiler/java/options.h | 67 + .../compiler/java/shared_code_generator.h | 68 + .../google/protobuf/compiler/kotlin/field.h | 50 + .../google/protobuf/compiler/kotlin/file.h | 78 + .../protobuf/compiler/kotlin/generator.h | 65 + .../google/protobuf/compiler/kotlin/message.h | 54 + .../protobuf/compiler/mock_code_generator.h | 144 + .../src/google/protobuf/compiler/notices.h | 242 + .../protobuf/compiler/objectivec/enum.h | 52 + .../protobuf/compiler/objectivec/enum_field.h | 66 + .../protobuf/compiler/objectivec/extension.h | 54 + .../protobuf/compiler/objectivec/field.h | 181 + .../protobuf/compiler/objectivec/file.h | 140 + .../protobuf/compiler/objectivec/generator.h | 64 + .../protobuf/compiler/objectivec/helpers.h | 215 + .../compiler/objectivec/import_writer.h | 61 + .../compiler/objectivec/line_consumer.h | 51 + .../protobuf/compiler/objectivec/map_field.h | 57 + .../protobuf/compiler/objectivec/message.h | 72 + .../compiler/objectivec/message_field.h | 74 + .../protobuf/compiler/objectivec/names.h | 178 + .../compiler/objectivec/nsobject_methods.h | 209 + .../protobuf/compiler/objectivec/oneof.h | 56 + .../protobuf/compiler/objectivec/options.h | 48 + .../compiler/objectivec/primitive_field.h | 75 + .../compiler/objectivec/tf_decode_data.h | 60 + .../google/protobuf/compiler/package_info.h | 40 + .../src/google/protobuf/compiler/parser.cc | 2650 ++ .../src/google/protobuf/compiler/parser.h | 639 + .../src/google/protobuf/compiler/php/names.h | 50 + .../protobuf/compiler/php/php_generator.h | 69 + .../src/google/protobuf/compiler/plugin.h | 73 + .../src/google/protobuf/compiler/plugin.pb.h | 2235 ++ .../protobuf/compiler/python/generator.h | 206 + .../google/protobuf/compiler/python/helpers.h | 42 + .../protobuf/compiler/python/pyi_generator.h | 110 + .../compiler/python/python_generator.h | 13 + .../src/google/protobuf/compiler/retention.h | 70 + .../protobuf/compiler/ruby/ruby_generator.h | 49 + .../compiler/rust/accessors/accessor_case.h | 43 + .../compiler/rust/accessors/accessors.h | 38 + .../compiler/rust/accessors/default_value.h | 33 + .../compiler/rust/accessors/generator.h | 146 + .../compiler/rust/accessors/with_presence.h | 35 + .../google/protobuf/compiler/rust/context.h | 200 + .../protobuf/compiler/rust/crate_mapping.h | 42 + .../src/google/protobuf/compiler/rust/enum.h | 51 + .../google/protobuf/compiler/rust/generator.h | 51 + .../google/protobuf/compiler/rust/message.h | 35 + .../google/protobuf/compiler/rust/naming.h | 191 + .../src/google/protobuf/compiler/rust/oneof.h | 31 + .../protobuf/compiler/rust/relative_path.h | 54 + .../protobuf/compiler/rust/rust_field_type.h | 39 + .../protobuf/compiler/rust/rust_keywords.h | 34 + .../protobuf/compiler/rust/upb_helpers.h | 38 + .../vendor/src/google/protobuf/compiler/scc.h | 155 + .../src/google/protobuf/compiler/subprocess.h | 91 + .../src/google/protobuf/compiler/versions.h | 78 + .../src/google/protobuf/compiler/zip_writer.h | 46 + .../google/protobuf/cpp_edition_defaults.h | 12 + .../src/google/protobuf/cpp_features.pb.cc | 436 + .../src/google/protobuf/cpp_features.pb.h | 494 + .../vendor/src/google/protobuf/descriptor.cc | 10800 +++++++ .../vendor/src/google/protobuf/descriptor.h | 3283 ++ .../src/google/protobuf/descriptor.pb.cc | 16305 ++++++++++ .../src/google/protobuf/descriptor.pb.h | 22300 +++++++++++++ .../google/protobuf/descriptor_database.cc | 1095 + .../src/google/protobuf/descriptor_database.h | 422 + .../src/google/protobuf/descriptor_legacy.h | 25 + .../src/google/protobuf/descriptor_lite.h | 98 + .../src/google/protobuf/descriptor_visitor.h | 187 + .../vendor/src/google/protobuf/duration.pb.h | 352 + .../src/google/protobuf/dynamic_message.cc | 1005 + .../src/google/protobuf/dynamic_message.h | 217 + .../vendor/src/google/protobuf/empty.pb.h | 235 + .../vendor/src/google/protobuf/endian.h | 177 + .../google/protobuf/explicitly_constructed.h | 67 + .../src/google/protobuf/extension_set.cc | 1934 ++ .../src/google/protobuf/extension_set.h | 1868 ++ .../google/protobuf/extension_set_heavy.cc | 434 + .../src/google/protobuf/extension_set_inl.h | 261 + .../src/google/protobuf/feature_resolver.cc | 596 + .../src/google/protobuf/feature_resolver.h | 94 + .../google/protobuf/field_access_listener.h | 161 + .../src/google/protobuf/field_mask.pb.h | 374 + .../protobuf/generated_enum_reflection.h | 77 + .../google/protobuf/generated_enum_util.cc | 223 + .../src/google/protobuf/generated_enum_util.h | 114 + .../protobuf/generated_message_bases.cc | 89 + .../google/protobuf/generated_message_bases.h | 68 + .../protobuf/generated_message_reflection.cc | 4213 +++ .../protobuf/generated_message_reflection.h | 388 + .../protobuf/generated_message_tctable_decl.h | 611 + .../generated_message_tctable_full.cc | 105 + .../protobuf/generated_message_tctable_gen.cc | 1013 + .../protobuf/generated_message_tctable_gen.h | 197 + .../protobuf/generated_message_tctable_impl.h | 1204 + .../generated_message_tctable_lite.cc | 3241 ++ .../google/protobuf/generated_message_util.cc | 414 + .../google/protobuf/generated_message_util.h | 406 + .../vendor/src/google/protobuf/has_bits.h | 135 + .../google/protobuf/implicit_weak_message.cc | 92 + .../google/protobuf/implicit_weak_message.h | 238 + .../google/protobuf/inlined_string_field.cc | 120 + .../google/protobuf/inlined_string_field.h | 545 + .../protobuf/internal_feature_helper.cc | 28 + .../google/protobuf/internal_feature_helper.h | 130 + .../src/google/protobuf/internal_visibility.h | 44 + .../internal_visibility_for_testing.h | 27 + .../src/google/protobuf/io/coded_stream.cc | 1035 + .../src/google/protobuf/io/coded_stream.h | 1853 ++ .../src/google/protobuf/io/gzip_stream.cc | 312 + .../src/google/protobuf/io/gzip_stream.h | 179 + .../vendor/src/google/protobuf/io/io_win32.cc | 450 + .../vendor/src/google/protobuf/io/io_win32.h | 118 + .../src/google/protobuf/io/package_info.h | 30 + .../vendor/src/google/protobuf/io/printer.cc | 842 + .../vendor/src/google/protobuf/io/printer.h | 1182 + .../vendor/src/google/protobuf/io/strtod.cc | 260 + .../vendor/src/google/protobuf/io/strtod.h | 53 + .../protobuf/io/test_zero_copy_stream.h | 185 + .../src/google/protobuf/io/tokenizer.cc | 1256 + .../vendor/src/google/protobuf/io/tokenizer.h | 426 + .../src/google/protobuf/io/zero_copy_sink.cc | 45 + .../src/google/protobuf/io/zero_copy_sink.h | 57 + .../google/protobuf/io/zero_copy_stream.cc | 128 + .../src/google/protobuf/io/zero_copy_stream.h | 260 + .../protobuf/io/zero_copy_stream_impl.cc | 351 + .../protobuf/io/zero_copy_stream_impl.h | 311 + .../protobuf/io/zero_copy_stream_impl_lite.cc | 696 + .../protobuf/io/zero_copy_stream_impl_lite.h | 515 + .../json/internal/descriptor_traits.h | 510 + .../google/protobuf/json/internal/lexer.cc | 513 + .../src/google/protobuf/json/internal/lexer.h | 341 + .../protobuf/json/internal/message_path.cc | 46 + .../protobuf/json/internal/message_path.h | 61 + .../google/protobuf/json/internal/parser.cc | 1437 + .../google/protobuf/json/internal/parser.h | 37 + .../protobuf/json/internal/parser_traits.h | 400 + .../google/protobuf/json/internal/unparser.cc | 918 + .../google/protobuf/json/internal/unparser.h | 38 + .../protobuf/json/internal/unparser_traits.h | 413 + .../protobuf/json/internal/untyped_message.cc | 570 + .../protobuf/json/internal/untyped_message.h | 246 + .../google/protobuf/json/internal/writer.cc | 307 + .../google/protobuf/json/internal/writer.h | 214 + .../internal/zero_copy_buffered_stream.cc | 152 + .../json/internal/zero_copy_buffered_stream.h | 338 + .../vendor/src/google/protobuf/json/json.cc | 137 + .../vendor/src/google/protobuf/json/json.h | 200 + .../vendor/src/google/protobuf/map.cc | 262 + .../vendor/src/google/protobuf/map.h | 1587 + .../vendor/src/google/protobuf/map_entry.h | 139 + .../vendor/src/google/protobuf/map_field.cc | 584 + .../vendor/src/google/protobuf/map_field.h | 891 + .../src/google/protobuf/map_field_lite.h | 119 + .../vendor/src/google/protobuf/map_test.inc | 4406 +++ .../src/google/protobuf/map_test_util.h | 617 + .../src/google/protobuf/map_type_handler.h | 377 + .../vendor/src/google/protobuf/message.cc | 517 + .../vendor/src/google/protobuf/message.h | 1880 ++ .../src/google/protobuf/message_lite.cc | 814 + .../vendor/src/google/protobuf/message_lite.h | 1621 + .../src/google/protobuf/message_unittest.inc | 2200 ++ .../protobuf/message_unittest_legacy_apis.inc | 146 + .../vendor/src/google/protobuf/metadata.h | 13 + .../src/google/protobuf/metadata_lite.h | 258 + .../src/google/protobuf/micro_string.cc | 376 + .../vendor/src/google/protobuf/micro_string.h | 653 + .../src/google/protobuf/os_macros_restore.inc | 97 + .../src/google/protobuf/os_macros_undef.inc | 166 + .../vendor/src/google/protobuf/package_info.h | 43 + .../src/google/protobuf/parse_context.cc | 763 + .../src/google/protobuf/parse_context.h | 1650 + .../vendor/src/google/protobuf/port.cc | 126 + .../vendor/src/google/protobuf/port.h | 830 + .../vendor/src/google/protobuf/port_def.inc | 832 + .../vendor/src/google/protobuf/port_undef.inc | 95 + .../google/protobuf/proto3_lite_unittest.inc | 126 + .../vendor/src/google/protobuf/raw_ptr.cc | 29 + .../vendor/src/google/protobuf/raw_ptr.h | 64 + .../vendor/src/google/protobuf/reflection.h | 572 + .../src/google/protobuf/reflection_internal.h | 313 + .../src/google/protobuf/reflection_mode.cc | 36 + .../src/google/protobuf/reflection_mode.h | 144 + .../src/google/protobuf/reflection_ops.cc | 452 + .../src/google/protobuf/reflection_ops.h | 67 + .../src/google/protobuf/reflection_tester.h | 128 + .../protobuf/reflection_visit_field_info.h | 1427 + .../google/protobuf/reflection_visit_fields.h | 511 + .../src/google/protobuf/repeated_field.cc | 57 + .../src/google/protobuf/repeated_field.h | 1519 + .../repeated_field_reflection_unittest.inc | 686 + .../src/google/protobuf/repeated_ptr_field.cc | 242 + .../src/google/protobuf/repeated_ptr_field.h | 2278 ++ .../src/google/protobuf/runtime_version.h | 27 + .../vendor/src/google/protobuf/serial_arena.h | 447 + .../vendor/src/google/protobuf/service.cc | 22 + .../vendor/src/google/protobuf/service.h | 270 + .../src/google/protobuf/source_context.pb.h | 360 + .../vendor/src/google/protobuf/string_block.h | 181 + .../google/protobuf/string_member_robber.h | 17 + .../vendor/src/google/protobuf/struct.pb.h | 1353 + .../src/google/protobuf/stubs/callback.h | 584 + .../src/google/protobuf/stubs/common.cc | 121 + .../vendor/src/google/protobuf/stubs/common.h | 94 + .../google/protobuf/stubs/platform_macros.h | 115 + .../vendor/src/google/protobuf/stubs/port.h | 228 + .../src/google/protobuf/stubs/status_macros.h | 72 + .../src/google/protobuf/test_textproto.h | 54 + .../vendor/src/google/protobuf/test_util.h | 3902 +++ .../vendor/src/google/protobuf/test_util2.h | 70 + .../src/google/protobuf/test_util_lite.h | 77 + .../vendor/src/google/protobuf/testing/file.h | 89 + .../src/google/protobuf/testing/googletest.h | 40 + .../vendor/src/google/protobuf/text_format.cc | 3136 ++ .../vendor/src/google/protobuf/text_format.h | 850 + .../src/google/protobuf/thread_safe_arena.h | 285 + .../vendor/src/google/protobuf/timestamp.pb.h | 352 + .../vendor/src/google/protobuf/type.pb.h | 3244 ++ .../src/google/protobuf/unknown_field_set.cc | 340 + .../src/google/protobuf/unknown_field_set.h | 456 + .../unredacted_debug_format_for_test.h | 33 + .../protobuf/util/delimited_message_util.cc | 106 + .../protobuf/util/delimited_message_util.h | 85 + .../google/protobuf/util/field_comparator.cc | 237 + .../google/protobuf/util/field_comparator.h | 257 + .../google/protobuf/util/field_mask_util.cc | 697 + .../google/protobuf/util/field_mask_util.h | 242 + .../google/protobuf/util/internal_timeval.h | 28 + .../src/google/protobuf/util/json_util.h | 34 + .../protobuf/util/message_differencer.cc | 2371 ++ .../protobuf/util/message_differencer.h | 1009 + .../src/google/protobuf/util/package_info.h | 23 + .../util/python/field_mask_util_clif_aux.h | 32 + .../src/google/protobuf/util/time_util.cc | 565 + .../src/google/protobuf/util/time_util.h | 296 + .../src/google/protobuf/util/type_resolver.h | 56 + .../protobuf/util/type_resolver_util.cc | 425 + .../google/protobuf/util/type_resolver_util.h | 45 + .../src/google/protobuf/varint_shuffle.h | 163 + .../vendor/src/google/protobuf/wire_format.cc | 1777 + .../vendor/src/google/protobuf/wire_format.h | 358 + .../src/google/protobuf/wire_format_lite.cc | 901 + .../src/google/protobuf/wire_format_lite.h | 1686 + .../google/protobuf/wire_format_unittest.h | 1729 + .../vendor/src/google/protobuf/wrappers.pb.h | 2189 ++ .../third_party/utf8_range/utf8_range.c | 207 + .../third_party/utf8_range/utf8_range.h | 22 + .../utf8_range/utf8_range_neon.inc | 117 + .../third_party/utf8_range/utf8_range_sse.inc | 272 + .../third_party/utf8_range/utf8_validity.h | 30 + .../vendor/upb/base/descriptor_constants.h | 111 + .../vendor/upb/base/internal/endian.h | 46 + .../vendor/upb/base/internal/log2.h | 40 + crates/protobuf-sys/vendor/upb/base/status.h | 46 + .../protobuf-sys/vendor/upb/base/status.hpp | 54 + .../vendor/upb/base/string_view.h | 74 + crates/protobuf-sys/vendor/upb/base/upcast.h | 29 + .../vendor/upb/generated_code_support.h | 50 + crates/protobuf-sys/vendor/upb/hash/common.h | 175 + .../protobuf-sys/vendor/upb/hash/int_table.h | 106 + .../protobuf-sys/vendor/upb/hash/str_table.h | 148 + .../vendor/upb/io/chunked_input_stream.h | 33 + .../vendor/upb/io/chunked_output_stream.h | 33 + crates/protobuf-sys/vendor/upb/io/string.h | 147 + crates/protobuf-sys/vendor/upb/io/tokenizer.h | 133 + .../vendor/upb/io/zero_copy_input_stream.h | 109 + .../vendor/upb/io/zero_copy_output_stream.h | 110 + crates/protobuf-sys/vendor/upb/json/decode.h | 54 + crates/protobuf-sys/vendor/upb/json/encode.h | 50 + crates/protobuf-sys/vendor/upb/lex/atoi.h | 35 + .../protobuf-sys/vendor/upb/lex/round_trip.h | 35 + crates/protobuf-sys/vendor/upb/lex/strtod.h | 26 + crates/protobuf-sys/vendor/upb/lex/unicode.h | 59 + crates/protobuf-sys/vendor/upb/mem/alloc.h | 102 + crates/protobuf-sys/vendor/upb/mem/arena.h | 193 + crates/protobuf-sys/vendor/upb/mem/arena.hpp | 52 + .../vendor/upb/mem/internal/arena.h | 164 + .../vendor/upb/message/accessors.h | 320 + .../vendor/upb/message/accessors.hpp | 97 + .../vendor/upb/message/accessors_split64.h | 66 + .../protobuf-sys/vendor/upb/message/array.h | 97 + .../protobuf-sys/vendor/upb/message/compare.h | 81 + .../protobuf-sys/vendor/upb/message/compat.h | 42 + crates/protobuf-sys/vendor/upb/message/copy.h | 56 + .../vendor/upb/message/internal/accessors.h | 1068 + .../vendor/upb/message/internal/array.h | 176 + .../upb/message/internal/compare_unknown.h | 49 + .../vendor/upb/message/internal/extension.h | 72 + .../vendor/upb/message/internal/iterator.h | 29 + .../vendor/upb/message/internal/map.h | 229 + .../vendor/upb/message/internal/map_entry.h | 41 + .../vendor/upb/message/internal/map_sorter.h | 101 + .../vendor/upb/message/internal/message.h | 293 + .../vendor/upb/message/internal/tagged_ptr.h | 56 + .../vendor/upb/message/internal/types.h | 58 + crates/protobuf-sys/vendor/upb/message/map.h | 130 + .../vendor/upb/message/map_gencode_util.h | 16 + .../protobuf-sys/vendor/upb/message/merge.h | 26 + .../protobuf-sys/vendor/upb/message/message.h | 128 + .../protobuf-sys/vendor/upb/message/promote.h | 164 + .../vendor/upb/message/tagged_ptr.h | 48 + .../protobuf-sys/vendor/upb/message/value.h | 79 + .../vendor/upb/mini_descriptor/build_enum.h | 34 + .../vendor/upb/mini_descriptor/decode.h | 120 + .../upb/mini_descriptor/internal/base92.h | 63 + .../upb/mini_descriptor/internal/decoder.h | 53 + .../upb/mini_descriptor/internal/encode.h | 92 + .../upb/mini_descriptor/internal/encode.hpp | 120 + .../upb/mini_descriptor/internal/modifiers.h | 32 + .../mini_descriptor/internal/wire_constants.h | 72 + .../vendor/upb/mini_descriptor/link.h | 84 + .../vendor/upb/mini_table/compat.h | 45 + .../protobuf-sys/vendor/upb/mini_table/enum.h | 34 + .../vendor/upb/mini_table/extension.h | 58 + .../upb/mini_table/extension_registry.h | 110 + .../vendor/upb/mini_table/field.h | 58 + .../protobuf-sys/vendor/upb/mini_table/file.h | 46 + .../vendor/upb/mini_table/internal/enum.h | 57 + .../upb/mini_table/internal/extension.h | 100 + .../vendor/upb/mini_table/internal/field.h | 223 + .../vendor/upb/mini_table/internal/file.h | 66 + .../vendor/upb/mini_table/internal/message.h | 263 + .../upb/mini_table/internal/size_log2.h | 77 + .../vendor/upb/mini_table/internal/sub.h | 58 + .../vendor/upb/mini_table/message.h | 99 + .../protobuf-sys/vendor/upb/mini_table/sub.h | 46 + crates/protobuf-sys/vendor/upb/port/atomic.h | 210 + crates/protobuf-sys/vendor/upb/port/def.inc | 589 + .../protobuf-sys/vendor/upb/port/sanitizers.h | 179 + crates/protobuf-sys/vendor/upb/port/undef.inc | 86 + .../vendor/upb/port/vsnprintf_compat.h | 30 + .../cmake/google/protobuf/descriptor.upb.h | 7097 ++++ .../protobuf/descriptor.upb_minitable.h | 118 + .../vendor/upb/reflection/common.h | 41 + .../protobuf-sys/vendor/upb/reflection/def.h | 24 + .../vendor/upb/reflection/def.hpp | 648 + .../vendor/upb/reflection/def_pool.h | 95 + .../vendor/upb/reflection/def_type.h | 60 + .../upb/reflection/descriptor_bootstrap.h | 19 + .../vendor/upb/reflection/enum_def.h | 63 + .../upb/reflection/enum_reserved_range.h | 31 + .../vendor/upb/reflection/enum_value_def.h | 39 + .../vendor/upb/reflection/extension_range.h | 37 + .../vendor/upb/reflection/field_def.h | 88 + .../vendor/upb/reflection/file_def.h | 63 + .../upb/reflection/internal/def_builder.h | 185 + .../vendor/upb/reflection/internal/def_pool.h | 57 + .../upb/reflection/internal/desc_state.h | 44 + .../vendor/upb/reflection/internal/enum_def.h | 37 + .../reflection/internal/enum_reserved_range.h | 35 + .../upb/reflection/internal/enum_value_def.h | 38 + .../upb/reflection/internal/extension_range.h | 34 + .../upb/reflection/internal/field_def.h | 57 + .../vendor/upb/reflection/internal/file_def.h | 37 + .../upb/reflection/internal/message_def.h | 46 + .../internal/message_reserved_range.h | 35 + .../upb/reflection/internal/method_def.h | 35 + .../upb/reflection/internal/oneof_def.h | 39 + .../upb/reflection/internal/service_def.h | 35 + .../vendor/upb/reflection/internal/strdup2.h | 32 + .../internal/upb_edition_defaults.h | 20 + .../vendor/upb/reflection/message.h | 91 + .../vendor/upb/reflection/message.hpp | 19 + .../vendor/upb/reflection/message_def.h | 160 + .../upb/reflection/message_reserved_range.h | 31 + .../vendor/upb/reflection/method_def.h | 42 + .../vendor/upb/reflection/oneof_def.h | 49 + .../vendor/upb/reflection/service_def.h | 43 + .../stage0/google/protobuf/descriptor.upb.h | 6953 ++++ .../protobuf-sys/vendor/upb/test/fuzz_util.h | 62 + .../vendor/upb/test/parse_text_proto.h | 44 + .../vendor/upb/text/debug_string.h | 42 + crates/protobuf-sys/vendor/upb/text/encode.h | 39 + .../vendor/upb/text/internal/encode.h | 245 + crates/protobuf-sys/vendor/upb/text/options.h | 22 + .../vendor/upb/util/def_to_proto.h | 42 + .../vendor/upb/util/def_to_proto_test.h | 125 + .../vendor/upb/util/required_fields.h | 76 + .../protobuf-sys/vendor/upb/wire/byte_size.h | 31 + crates/protobuf-sys/vendor/upb/wire/decode.h | 166 + .../vendor/upb/wire/decode_fast/cardinality.h | 459 + .../upb/wire/decode_fast/combinations.h | 217 + .../vendor/upb/wire/decode_fast/data.h | 74 + .../vendor/upb/wire/decode_fast/dispatch.h | 262 + .../upb/wire/decode_fast/field_parsers.h | 52 + .../upb/wire/decode_fast/function_array.h | 17 + .../vendor/upb/wire/decode_fast/select.h | 66 + crates/protobuf-sys/vendor/upb/wire/encode.h | 87 + .../vendor/upb/wire/eps_copy_input_stream.h | 461 + .../vendor/upb/wire/internal/constants.h | 27 + .../vendor/upb/wire/internal/decoder.h | 158 + .../vendor/upb/wire/internal/reader.h | 80 + crates/protobuf-sys/vendor/upb/wire/reader.h | 184 + .../vendor/upb/wire/test_util/field_types.h | 259 + .../upb/wire/test_util/make_mini_table.h | 46 + .../vendor/upb/wire/test_util/wire_message.h | 86 + crates/protobuf-sys/vendor/upb/wire/types.h | 21 + crates/protobuf-sys/vendor/upb/wire/writer.h | 20 + .../vendor/upb_generator/c/names.h | 125 + .../vendor/upb_generator/c/names_internal.h | 26 + .../google/protobuf/compiler/plugin.upb.h | 759 + .../protobuf/compiler/plugin.upb_minitable.h | 39 + .../vendor/upb_generator/common.h | 75 + .../upb_generator/common/cpp_to_upb_def.h | 58 + .../vendor/upb_generator/common/names.h | 30 + .../vendor/upb_generator/file_layout.h | 108 + .../upb_generator/minitable/generator.h | 32 + .../vendor/upb_generator/minitable/names.h | 46 + .../upb_generator/minitable/names_internal.h | 35 + .../vendor/upb_generator/plugin.h | 60 + .../vendor/upb_generator/plugin_bootstrap.h | 19 + .../vendor/upb_generator/reflection/context.h | 58 + .../vendor/upb_generator/reflection/header.h | 26 + .../vendor/upb_generator/reflection/names.h | 31 + .../vendor/upb_generator/reflection/source.h | 26 + .../google/protobuf/compiler/plugin.upb.h | 744 + crates/protobuf-sys/vendor/utf8_range.h | 22 + .../protobuf-sys/vendor/utf8_range_neon.inc | 117 + crates/protobuf-sys/vendor/utf8_range_sse.inc | 272 + crates/protobuf-sys/vendor/utf8_validity.h | 30 + .../protovalidate-sys/Cargo.toml | 28 +- crates/protovalidate-sys/build.rs | 19 + crates/protovalidate-sys/filelist.txt | 14 + crates/protovalidate-sys/shim/pv_shim.cc | 196 + crates/protovalidate-sys/shim/pv_shim.h | 84 + crates/protovalidate-sys/src/lib.rs | 183 + crates/protovalidate-sys/vendor/LICENSE | 201 + .../vendor/buf/validate/conformance/runner.h | 45 + .../vendor/buf/validate/internal/cel_rules.h | 116 + .../validate/internal/cel_validation_rules.cc | 166 + .../validate/internal/cel_validation_rules.h | 72 + .../buf/validate/internal/extra_func.cc | 482 + .../vendor/buf/validate/internal/extra_func.h | 31 + .../buf/validate/internal/field_rules.cc | 388 + .../buf/validate/internal/field_rules.h | 92 + .../vendor/buf/validate/internal/lib/ipv4.cc | 69 + .../vendor/buf/validate/internal/lib/ipv4.h | 58 + .../vendor/buf/validate/internal/lib/ipv6.cc | 143 + .../vendor/buf/validate/internal/lib/ipv6.h | 51 + .../buf/validate/internal/lib/parser_common.h | 256 + .../vendor/buf/validate/internal/lib/uri.cc | 469 + .../vendor/buf/validate/internal/lib/uri.h | 25 + .../buf/validate/internal/message_factory.cc | 31 + .../buf/validate/internal/message_factory.h | 43 + .../buf/validate/internal/message_rules.cc | 114 + .../buf/validate/internal/message_rules.h | 39 + .../buf/validate/internal/proto_field.h | 155 + .../vendor/buf/validate/internal/rules.cc | 437 + .../vendor/buf/validate/internal/rules.h | 221 + .../buf/validate/internal/validation_rules.h | 153 + .../vendor/buf/validate/validate.pb.cc | 21049 ++++++++++++ .../vendor/buf/validate/validate.pb.h | 26870 ++++++++++++++++ .../vendor/buf/validate/validator.cc | 190 + .../vendor/buf/validate/validator.h | 156 + .../vendor/pv_extract/pv_shim.h | 84 + crates/re2-sys/Cargo.toml | 27 + crates/re2-sys/build.rs | 9 + crates/re2-sys/filelist.txt | 25 + crates/re2-sys/src/lib.rs | 1 + crates/re2-sys/vendor/LICENSE | 27 + crates/re2-sys/vendor/re2/bitmap256.cc | 43 + crates/re2-sys/vendor/re2/bitmap256.h | 88 + crates/re2-sys/vendor/re2/bitstate.cc | 389 + crates/re2-sys/vendor/re2/compile.cc | 1265 + crates/re2-sys/vendor/re2/dfa.cc | 2135 ++ crates/re2-sys/vendor/re2/filtered_re2.cc | 138 + crates/re2-sys/vendor/re2/filtered_re2.h | 115 + crates/re2-sys/vendor/re2/mimics_pcre.cc | 196 + crates/re2-sys/vendor/re2/nfa.cc | 714 + crates/re2-sys/vendor/re2/onepass.cc | 623 + crates/re2-sys/vendor/re2/parse.cc | 2529 ++ crates/re2-sys/vendor/re2/perl_groups.cc | 119 + crates/re2-sys/vendor/re2/pod_array.h | 55 + crates/re2-sys/vendor/re2/prefilter.cc | 711 + crates/re2-sys/vendor/re2/prefilter.h | 168 + crates/re2-sys/vendor/re2/prefilter_tree.cc | 376 + crates/re2-sys/vendor/re2/prefilter_tree.h | 153 + crates/re2-sys/vendor/re2/prog.cc | 1181 + crates/re2-sys/vendor/re2/prog.h | 493 + crates/re2-sys/vendor/re2/re2.cc | 1355 + crates/re2-sys/vendor/re2/re2.h | 1074 + crates/re2-sys/vendor/re2/regexp.cc | 1004 + crates/re2-sys/vendor/re2/regexp.h | 693 + crates/re2-sys/vendor/re2/set.cc | 185 + crates/re2-sys/vendor/re2/set.h | 91 + crates/re2-sys/vendor/re2/simplify.cc | 689 + crates/re2-sys/vendor/re2/sparse_array.h | 394 + crates/re2-sys/vendor/re2/sparse_set.h | 266 + crates/re2-sys/vendor/re2/stringpiece.h | 18 + .../vendor/re2/testing/exhaustive_tester.h | 105 + .../vendor/re2/testing/regexp_generator.h | 77 + .../vendor/re2/testing/string_generator.h | 76 + crates/re2-sys/vendor/re2/testing/tester.h | 121 + crates/re2-sys/vendor/re2/tostring.cc | 351 + crates/re2-sys/vendor/re2/unicode_casefold.cc | 604 + crates/re2-sys/vendor/re2/unicode_casefold.h | 77 + crates/re2-sys/vendor/re2/unicode_groups.cc | 6517 ++++ crates/re2-sys/vendor/re2/unicode_groups.h | 66 + crates/re2-sys/vendor/re2/walker-inl.h | 249 + crates/re2-sys/vendor/util/malloc_counter.h | 19 + crates/re2-sys/vendor/util/pcre.h | 671 + crates/re2-sys/vendor/util/rune.cc | 260 + crates/re2-sys/vendor/util/strutil.cc | 26 + crates/re2-sys/vendor/util/strutil.h | 16 + crates/re2-sys/vendor/util/utf.h | 44 + poe_tasks.toml | 34 + protovalidate/__init__.py | 25 +- protovalidate/_cel_field_presence.py | 50 - protovalidate/_celexpr/_utils.py | 28 - protovalidate/_celexpr/bridge.py | 72 - protovalidate/_celexpr/extra_func.py | 292 - protovalidate/_celexpr/rules.py | 1214 - protovalidate/_core.py | 130 - protovalidate/_errors.py | 66 + protovalidate/_extra_func.py | 130 - protovalidate/_funcs.py | 1578 - protovalidate/_legacy.py | 69 - protovalidate/_protovalidate.pyi | 101 + protovalidate/_rules.py | 1262 - protovalidate/_string_format.py | 246 - protovalidate/_validator.py | 208 - pyproject.toml | 69 +- scripts/extract/versions.json | 18 + scripts/extract_native_sources.py | 711 + scripts/generate_cel.py | 2 +- scripts/generate_protovalidate.py | 4 +- src/constants.rs | 199 + src/hints.rs | 100 + src/lib.rs | 275 + src/proto.rs | 249 + src/violation.rs | 387 + test/_models.py | 552 + test/conformance/nonconforming.yaml | 30 +- test/conformance/runner.py | 14 +- test/conformance/test_conformance.py | 14 +- test/conftest.py | 16 +- test/test_benchmark.py | 60 +- test/test_concurrency.py | 59 + test/test_format.py | 150 - test/test_validate.py | 22 +- test/test_validate_legacy.py | 4 +- uv.lock | 420 +- 2416 files changed, 780214 insertions(+), 5883 deletions(-) create mode 100644 .cargo/config.toml create mode 100644 Cargo.lock create mode 100644 Cargo.toml create mode 100644 build.rs rename protovalidate/_celexpr/__init__.py => crates/absl-sys/Cargo.toml (70%) create mode 100644 crates/absl-sys/build.rs create mode 100644 crates/absl-sys/filelist.txt create mode 100644 crates/absl-sys/src/lib.rs create mode 100644 crates/absl-sys/vendor/AUTHORS create mode 100644 crates/absl-sys/vendor/LICENSE create mode 100644 crates/absl-sys/vendor/absl/algorithm/algorithm.h create mode 100644 crates/absl-sys/vendor/absl/algorithm/container.h create mode 100644 crates/absl-sys/vendor/absl/base/attributes.h create mode 100644 crates/absl-sys/vendor/absl/base/call_once.h create mode 100644 crates/absl-sys/vendor/absl/base/casts.cc create mode 100644 crates/absl-sys/vendor/absl/base/casts.h create mode 100644 crates/absl-sys/vendor/absl/base/config.h create mode 100644 crates/absl-sys/vendor/absl/base/const_init.h create mode 100644 crates/absl-sys/vendor/absl/base/dynamic_annotations.h create mode 100644 crates/absl-sys/vendor/absl/base/fast_type_id.h create mode 100644 crates/absl-sys/vendor/absl/base/internal/atomic_hook.h create mode 100644 crates/absl-sys/vendor/absl/base/internal/atomic_hook_test_helper.h create mode 100644 crates/absl-sys/vendor/absl/base/internal/cycleclock.cc create mode 100644 crates/absl-sys/vendor/absl/base/internal/cycleclock.h create mode 100644 crates/absl-sys/vendor/absl/base/internal/cycleclock_config.h create mode 100644 crates/absl-sys/vendor/absl/base/internal/direct_mmap.h create mode 100644 crates/absl-sys/vendor/absl/base/internal/dynamic_annotations.h create mode 100644 crates/absl-sys/vendor/absl/base/internal/endian.h create mode 100644 crates/absl-sys/vendor/absl/base/internal/errno_saver.h create mode 100644 crates/absl-sys/vendor/absl/base/internal/exception_safety_testing.h create mode 100644 crates/absl-sys/vendor/absl/base/internal/exception_testing.h create mode 100644 crates/absl-sys/vendor/absl/base/internal/hide_ptr.h create mode 100644 crates/absl-sys/vendor/absl/base/internal/iterator_traits.h create mode 100644 crates/absl-sys/vendor/absl/base/internal/iterator_traits_test_helper.h create mode 100644 crates/absl-sys/vendor/absl/base/internal/low_level_alloc.cc create mode 100644 crates/absl-sys/vendor/absl/base/internal/low_level_alloc.h create mode 100644 crates/absl-sys/vendor/absl/base/internal/low_level_scheduling.h create mode 100644 crates/absl-sys/vendor/absl/base/internal/nullability_traits.h create mode 100644 crates/absl-sys/vendor/absl/base/internal/per_thread_tls.h create mode 100644 crates/absl-sys/vendor/absl/base/internal/poison.h create mode 100644 crates/absl-sys/vendor/absl/base/internal/pretty_function.h create mode 100644 crates/absl-sys/vendor/absl/base/internal/raw_logging.cc create mode 100644 crates/absl-sys/vendor/absl/base/internal/raw_logging.h create mode 100644 crates/absl-sys/vendor/absl/base/internal/scheduling_mode.h create mode 100644 crates/absl-sys/vendor/absl/base/internal/scoped_set_env.h create mode 100644 crates/absl-sys/vendor/absl/base/internal/spinlock.cc create mode 100644 crates/absl-sys/vendor/absl/base/internal/spinlock.h create mode 100644 crates/absl-sys/vendor/absl/base/internal/spinlock_akaros.inc create mode 100644 crates/absl-sys/vendor/absl/base/internal/spinlock_linux.inc create mode 100644 crates/absl-sys/vendor/absl/base/internal/spinlock_posix.inc create mode 100644 crates/absl-sys/vendor/absl/base/internal/spinlock_wait.cc create mode 100644 crates/absl-sys/vendor/absl/base/internal/spinlock_wait.h create mode 100644 crates/absl-sys/vendor/absl/base/internal/spinlock_win32.inc create mode 100644 crates/absl-sys/vendor/absl/base/internal/strerror.cc create mode 100644 crates/absl-sys/vendor/absl/base/internal/strerror.h create mode 100644 crates/absl-sys/vendor/absl/base/internal/sysinfo.cc create mode 100644 crates/absl-sys/vendor/absl/base/internal/sysinfo.h create mode 100644 crates/absl-sys/vendor/absl/base/internal/thread_identity.cc create mode 100644 crates/absl-sys/vendor/absl/base/internal/thread_identity.h create mode 100644 crates/absl-sys/vendor/absl/base/internal/throw_delegate.cc create mode 100644 crates/absl-sys/vendor/absl/base/internal/throw_delegate.h create mode 100644 crates/absl-sys/vendor/absl/base/internal/tracing.cc create mode 100644 crates/absl-sys/vendor/absl/base/internal/tracing.h create mode 100644 crates/absl-sys/vendor/absl/base/internal/tsan_mutex_interface.h create mode 100644 crates/absl-sys/vendor/absl/base/internal/unaligned_access.h create mode 100644 crates/absl-sys/vendor/absl/base/internal/unscaledcycleclock.cc create mode 100644 crates/absl-sys/vendor/absl/base/internal/unscaledcycleclock.h create mode 100644 crates/absl-sys/vendor/absl/base/internal/unscaledcycleclock_config.h create mode 100644 crates/absl-sys/vendor/absl/base/log_severity.cc create mode 100644 crates/absl-sys/vendor/absl/base/log_severity.h create mode 100644 crates/absl-sys/vendor/absl/base/macros.h create mode 100644 crates/absl-sys/vendor/absl/base/no_destructor.h create mode 100644 crates/absl-sys/vendor/absl/base/nullability.h create mode 100644 crates/absl-sys/vendor/absl/base/optimization.h create mode 100644 crates/absl-sys/vendor/absl/base/options.h create mode 100644 crates/absl-sys/vendor/absl/base/policy_checks.h create mode 100644 crates/absl-sys/vendor/absl/base/port.h create mode 100644 crates/absl-sys/vendor/absl/base/prefetch.h create mode 100644 crates/absl-sys/vendor/absl/base/thread_annotations.h create mode 100644 crates/absl-sys/vendor/absl/cleanup/cleanup.h create mode 100644 crates/absl-sys/vendor/absl/cleanup/internal/cleanup.h create mode 100644 crates/absl-sys/vendor/absl/container/btree_map.h create mode 100644 crates/absl-sys/vendor/absl/container/btree_set.h create mode 100644 crates/absl-sys/vendor/absl/container/btree_test.h create mode 100644 crates/absl-sys/vendor/absl/container/chunked_queue.h create mode 100644 crates/absl-sys/vendor/absl/container/fixed_array.h create mode 100644 crates/absl-sys/vendor/absl/container/flat_hash_map.h create mode 100644 crates/absl-sys/vendor/absl/container/flat_hash_set.h create mode 100644 crates/absl-sys/vendor/absl/container/hash_container_defaults.h create mode 100644 crates/absl-sys/vendor/absl/container/inlined_vector.h create mode 100644 crates/absl-sys/vendor/absl/container/internal/btree.h create mode 100644 crates/absl-sys/vendor/absl/container/internal/btree_container.h create mode 100644 crates/absl-sys/vendor/absl/container/internal/chunked_queue.h create mode 100644 crates/absl-sys/vendor/absl/container/internal/common.h create mode 100644 crates/absl-sys/vendor/absl/container/internal/common_policy_traits.h create mode 100644 crates/absl-sys/vendor/absl/container/internal/compressed_tuple.h create mode 100644 crates/absl-sys/vendor/absl/container/internal/container_memory.h create mode 100644 crates/absl-sys/vendor/absl/container/internal/hash_function_defaults.h create mode 100644 crates/absl-sys/vendor/absl/container/internal/hash_generator_testing.h create mode 100644 crates/absl-sys/vendor/absl/container/internal/hash_policy_testing.h create mode 100644 crates/absl-sys/vendor/absl/container/internal/hash_policy_traits.h create mode 100644 crates/absl-sys/vendor/absl/container/internal/hashtable_control_bytes.h create mode 100644 crates/absl-sys/vendor/absl/container/internal/hashtable_debug.h create mode 100644 crates/absl-sys/vendor/absl/container/internal/hashtable_debug_hooks.h create mode 100644 crates/absl-sys/vendor/absl/container/internal/hashtablez_sampler.cc create mode 100644 crates/absl-sys/vendor/absl/container/internal/hashtablez_sampler.h create mode 100644 crates/absl-sys/vendor/absl/container/internal/hashtablez_sampler_force_weak_definition.cc create mode 100644 crates/absl-sys/vendor/absl/container/internal/heterogeneous_lookup_testing.h create mode 100644 crates/absl-sys/vendor/absl/container/internal/inlined_vector.h create mode 100644 crates/absl-sys/vendor/absl/container/internal/layout.h create mode 100644 crates/absl-sys/vendor/absl/container/internal/node_slot_policy.h create mode 100644 crates/absl-sys/vendor/absl/container/internal/raw_hash_map.h create mode 100644 crates/absl-sys/vendor/absl/container/internal/raw_hash_set.cc create mode 100644 crates/absl-sys/vendor/absl/container/internal/raw_hash_set.h create mode 100644 crates/absl-sys/vendor/absl/container/internal/raw_hash_set_resize_impl.h create mode 100644 crates/absl-sys/vendor/absl/container/internal/test_allocator.h create mode 100644 crates/absl-sys/vendor/absl/container/internal/test_instance_tracker.h create mode 100644 crates/absl-sys/vendor/absl/container/internal/tracked.h create mode 100644 crates/absl-sys/vendor/absl/container/internal/unordered_map_constructor_test.h create mode 100644 crates/absl-sys/vendor/absl/container/internal/unordered_map_lookup_test.h create mode 100644 crates/absl-sys/vendor/absl/container/internal/unordered_map_members_test.h create mode 100644 crates/absl-sys/vendor/absl/container/internal/unordered_map_modifiers_test.h create mode 100644 crates/absl-sys/vendor/absl/container/internal/unordered_set_constructor_test.h create mode 100644 crates/absl-sys/vendor/absl/container/internal/unordered_set_lookup_test.h create mode 100644 crates/absl-sys/vendor/absl/container/internal/unordered_set_members_test.h create mode 100644 crates/absl-sys/vendor/absl/container/internal/unordered_set_modifiers_test.h create mode 100644 crates/absl-sys/vendor/absl/container/linked_hash_map.h create mode 100644 crates/absl-sys/vendor/absl/container/linked_hash_set.h create mode 100644 crates/absl-sys/vendor/absl/container/node_hash_map.h create mode 100644 crates/absl-sys/vendor/absl/container/node_hash_set.h create mode 100644 crates/absl-sys/vendor/absl/crc/crc32c.cc create mode 100644 crates/absl-sys/vendor/absl/crc/crc32c.h create mode 100644 crates/absl-sys/vendor/absl/crc/internal/cpu_detect.cc create mode 100644 crates/absl-sys/vendor/absl/crc/internal/cpu_detect.h create mode 100644 crates/absl-sys/vendor/absl/crc/internal/crc.cc create mode 100644 crates/absl-sys/vendor/absl/crc/internal/crc.h create mode 100644 crates/absl-sys/vendor/absl/crc/internal/crc32_x86_arm_combined_simd.h create mode 100644 crates/absl-sys/vendor/absl/crc/internal/crc32c.h create mode 100644 crates/absl-sys/vendor/absl/crc/internal/crc32c_inline.h create mode 100644 crates/absl-sys/vendor/absl/crc/internal/crc_cord_state.cc create mode 100644 crates/absl-sys/vendor/absl/crc/internal/crc_cord_state.h create mode 100644 crates/absl-sys/vendor/absl/crc/internal/crc_internal.h create mode 100644 crates/absl-sys/vendor/absl/crc/internal/crc_memcpy.h create mode 100644 crates/absl-sys/vendor/absl/crc/internal/crc_memcpy_fallback.cc create mode 100644 crates/absl-sys/vendor/absl/crc/internal/crc_memcpy_x86_arm_combined.cc create mode 100644 crates/absl-sys/vendor/absl/crc/internal/crc_non_temporal_memcpy.cc create mode 100644 crates/absl-sys/vendor/absl/crc/internal/crc_x86_arm_combined.cc create mode 100644 crates/absl-sys/vendor/absl/crc/internal/non_temporal_arm_intrinsics.h create mode 100644 crates/absl-sys/vendor/absl/crc/internal/non_temporal_memcpy.h create mode 100644 crates/absl-sys/vendor/absl/debugging/failure_signal_handler.h create mode 100644 crates/absl-sys/vendor/absl/debugging/internal/address_is_readable.cc create mode 100644 crates/absl-sys/vendor/absl/debugging/internal/address_is_readable.h create mode 100644 crates/absl-sys/vendor/absl/debugging/internal/addresses.h create mode 100644 crates/absl-sys/vendor/absl/debugging/internal/borrowed_fixup_buffer.cc create mode 100644 crates/absl-sys/vendor/absl/debugging/internal/borrowed_fixup_buffer.h create mode 100644 crates/absl-sys/vendor/absl/debugging/internal/bounded_utf8_length_sequence.h create mode 100644 crates/absl-sys/vendor/absl/debugging/internal/decode_rust_punycode.cc create mode 100644 crates/absl-sys/vendor/absl/debugging/internal/decode_rust_punycode.h create mode 100644 crates/absl-sys/vendor/absl/debugging/internal/demangle.cc create mode 100644 crates/absl-sys/vendor/absl/debugging/internal/demangle.h create mode 100644 crates/absl-sys/vendor/absl/debugging/internal/demangle_rust.cc create mode 100644 crates/absl-sys/vendor/absl/debugging/internal/demangle_rust.h create mode 100644 crates/absl-sys/vendor/absl/debugging/internal/elf_mem_image.cc create mode 100644 crates/absl-sys/vendor/absl/debugging/internal/elf_mem_image.h create mode 100644 crates/absl-sys/vendor/absl/debugging/internal/examine_stack.cc create mode 100644 crates/absl-sys/vendor/absl/debugging/internal/examine_stack.h create mode 100644 crates/absl-sys/vendor/absl/debugging/internal/stack_consumption.h create mode 100644 crates/absl-sys/vendor/absl/debugging/internal/stacktrace_aarch64-inl.inc create mode 100644 crates/absl-sys/vendor/absl/debugging/internal/stacktrace_arm-inl.inc create mode 100644 crates/absl-sys/vendor/absl/debugging/internal/stacktrace_config.h create mode 100644 crates/absl-sys/vendor/absl/debugging/internal/stacktrace_emscripten-inl.inc create mode 100644 crates/absl-sys/vendor/absl/debugging/internal/stacktrace_generic-inl.inc create mode 100644 crates/absl-sys/vendor/absl/debugging/internal/stacktrace_powerpc-inl.inc create mode 100644 crates/absl-sys/vendor/absl/debugging/internal/stacktrace_riscv-inl.inc create mode 100644 crates/absl-sys/vendor/absl/debugging/internal/stacktrace_unimplemented-inl.inc create mode 100644 crates/absl-sys/vendor/absl/debugging/internal/stacktrace_win32-inl.inc create mode 100644 crates/absl-sys/vendor/absl/debugging/internal/stacktrace_x86-inl.inc create mode 100644 crates/absl-sys/vendor/absl/debugging/internal/symbolize.h create mode 100644 crates/absl-sys/vendor/absl/debugging/internal/utf8_for_code_point.cc create mode 100644 crates/absl-sys/vendor/absl/debugging/internal/utf8_for_code_point.h create mode 100644 crates/absl-sys/vendor/absl/debugging/internal/vdso_support.cc create mode 100644 crates/absl-sys/vendor/absl/debugging/internal/vdso_support.h create mode 100644 crates/absl-sys/vendor/absl/debugging/leak_check.cc create mode 100644 crates/absl-sys/vendor/absl/debugging/leak_check.h create mode 100644 crates/absl-sys/vendor/absl/debugging/stacktrace.cc create mode 100644 crates/absl-sys/vendor/absl/debugging/stacktrace.h create mode 100644 crates/absl-sys/vendor/absl/debugging/symbolize.cc create mode 100644 crates/absl-sys/vendor/absl/debugging/symbolize.h create mode 100644 crates/absl-sys/vendor/absl/debugging/symbolize_darwin.inc create mode 100644 crates/absl-sys/vendor/absl/debugging/symbolize_elf.inc create mode 100644 crates/absl-sys/vendor/absl/debugging/symbolize_emscripten.inc create mode 100644 crates/absl-sys/vendor/absl/debugging/symbolize_unimplemented.inc create mode 100644 crates/absl-sys/vendor/absl/debugging/symbolize_win32.inc create mode 100644 crates/absl-sys/vendor/absl/flags/commandlineflag.cc create mode 100644 crates/absl-sys/vendor/absl/flags/commandlineflag.h create mode 100644 crates/absl-sys/vendor/absl/flags/config.h create mode 100644 crates/absl-sys/vendor/absl/flags/declare.h create mode 100644 crates/absl-sys/vendor/absl/flags/flag.h create mode 100644 crates/absl-sys/vendor/absl/flags/internal/commandlineflag.cc create mode 100644 crates/absl-sys/vendor/absl/flags/internal/commandlineflag.h create mode 100644 crates/absl-sys/vendor/absl/flags/internal/flag.cc create mode 100644 crates/absl-sys/vendor/absl/flags/internal/flag.h create mode 100644 crates/absl-sys/vendor/absl/flags/internal/parse.h create mode 100644 crates/absl-sys/vendor/absl/flags/internal/path_util.h create mode 100644 crates/absl-sys/vendor/absl/flags/internal/private_handle_accessor.cc create mode 100644 crates/absl-sys/vendor/absl/flags/internal/private_handle_accessor.h create mode 100644 crates/absl-sys/vendor/absl/flags/internal/program_name.cc create mode 100644 crates/absl-sys/vendor/absl/flags/internal/program_name.h create mode 100644 crates/absl-sys/vendor/absl/flags/internal/registry.h create mode 100644 crates/absl-sys/vendor/absl/flags/internal/sequence_lock.h create mode 100644 crates/absl-sys/vendor/absl/flags/internal/usage.h create mode 100644 crates/absl-sys/vendor/absl/flags/marshalling.cc create mode 100644 crates/absl-sys/vendor/absl/flags/marshalling.h create mode 100644 crates/absl-sys/vendor/absl/flags/parse.h create mode 100644 crates/absl-sys/vendor/absl/flags/reflection.cc create mode 100644 crates/absl-sys/vendor/absl/flags/reflection.h create mode 100644 crates/absl-sys/vendor/absl/flags/usage.h create mode 100644 crates/absl-sys/vendor/absl/flags/usage_config.cc create mode 100644 crates/absl-sys/vendor/absl/flags/usage_config.h create mode 100644 crates/absl-sys/vendor/absl/functional/any_invocable.h create mode 100644 crates/absl-sys/vendor/absl/functional/bind_front.h create mode 100644 crates/absl-sys/vendor/absl/functional/function_ref.h create mode 100644 crates/absl-sys/vendor/absl/functional/internal/any_invocable.h create mode 100644 crates/absl-sys/vendor/absl/functional/internal/front_binder.h create mode 100644 crates/absl-sys/vendor/absl/functional/internal/function_ref.h create mode 100644 crates/absl-sys/vendor/absl/functional/overload.h create mode 100644 crates/absl-sys/vendor/absl/hash/hash.h create mode 100644 crates/absl-sys/vendor/absl/hash/hash_testing.h create mode 100644 crates/absl-sys/vendor/absl/hash/internal/city.cc create mode 100644 crates/absl-sys/vendor/absl/hash/internal/city.h create mode 100644 crates/absl-sys/vendor/absl/hash/internal/hash.cc create mode 100644 crates/absl-sys/vendor/absl/hash/internal/hash.h create mode 100644 crates/absl-sys/vendor/absl/hash/internal/hash_test.h create mode 100644 crates/absl-sys/vendor/absl/hash/internal/spy_hash_state.h create mode 100644 crates/absl-sys/vendor/absl/hash/internal/weakly_mixed_integer.h create mode 100644 crates/absl-sys/vendor/absl/log/absl_check.h create mode 100644 crates/absl-sys/vendor/absl/log/absl_log.h create mode 100644 crates/absl-sys/vendor/absl/log/absl_vlog_is_on.h create mode 100644 crates/absl-sys/vendor/absl/log/check.h create mode 100644 crates/absl-sys/vendor/absl/log/check_test_impl.inc create mode 100644 crates/absl-sys/vendor/absl/log/die_if_null.cc create mode 100644 crates/absl-sys/vendor/absl/log/die_if_null.h create mode 100644 crates/absl-sys/vendor/absl/log/flags.h create mode 100644 crates/absl-sys/vendor/absl/log/globals.cc create mode 100644 crates/absl-sys/vendor/absl/log/globals.h create mode 100644 crates/absl-sys/vendor/absl/log/initialize.h create mode 100644 crates/absl-sys/vendor/absl/log/internal/append_truncated.h create mode 100644 crates/absl-sys/vendor/absl/log/internal/check_impl.h create mode 100644 crates/absl-sys/vendor/absl/log/internal/check_op.cc create mode 100644 crates/absl-sys/vendor/absl/log/internal/check_op.h create mode 100644 crates/absl-sys/vendor/absl/log/internal/conditions.cc create mode 100644 crates/absl-sys/vendor/absl/log/internal/conditions.h create mode 100644 crates/absl-sys/vendor/absl/log/internal/config.h create mode 100644 crates/absl-sys/vendor/absl/log/internal/container.h create mode 100644 crates/absl-sys/vendor/absl/log/internal/flags.h create mode 100644 crates/absl-sys/vendor/absl/log/internal/fnmatch.cc create mode 100644 crates/absl-sys/vendor/absl/log/internal/fnmatch.h create mode 100644 crates/absl-sys/vendor/absl/log/internal/globals.cc create mode 100644 crates/absl-sys/vendor/absl/log/internal/globals.h create mode 100644 crates/absl-sys/vendor/absl/log/internal/log_format.cc create mode 100644 crates/absl-sys/vendor/absl/log/internal/log_format.h create mode 100644 crates/absl-sys/vendor/absl/log/internal/log_impl.h create mode 100644 crates/absl-sys/vendor/absl/log/internal/log_message.cc create mode 100644 crates/absl-sys/vendor/absl/log/internal/log_message.h create mode 100644 crates/absl-sys/vendor/absl/log/internal/log_sink_set.cc create mode 100644 crates/absl-sys/vendor/absl/log/internal/log_sink_set.h create mode 100644 crates/absl-sys/vendor/absl/log/internal/nullguard.cc create mode 100644 crates/absl-sys/vendor/absl/log/internal/nullguard.h create mode 100644 crates/absl-sys/vendor/absl/log/internal/nullstream.h create mode 100644 crates/absl-sys/vendor/absl/log/internal/proto.cc create mode 100644 crates/absl-sys/vendor/absl/log/internal/proto.h create mode 100644 crates/absl-sys/vendor/absl/log/internal/strip.h create mode 100644 crates/absl-sys/vendor/absl/log/internal/structured.h create mode 100644 crates/absl-sys/vendor/absl/log/internal/structured_proto.cc create mode 100644 crates/absl-sys/vendor/absl/log/internal/structured_proto.h create mode 100644 crates/absl-sys/vendor/absl/log/internal/test_actions.h create mode 100644 crates/absl-sys/vendor/absl/log/internal/test_helpers.h create mode 100644 crates/absl-sys/vendor/absl/log/internal/test_matchers.h create mode 100644 crates/absl-sys/vendor/absl/log/internal/vlog_config.cc create mode 100644 crates/absl-sys/vendor/absl/log/internal/vlog_config.h create mode 100644 crates/absl-sys/vendor/absl/log/internal/voidify.h create mode 100644 crates/absl-sys/vendor/absl/log/log.h create mode 100644 crates/absl-sys/vendor/absl/log/log_basic_test_impl.inc create mode 100644 crates/absl-sys/vendor/absl/log/log_entry.cc create mode 100644 crates/absl-sys/vendor/absl/log/log_entry.h create mode 100644 crates/absl-sys/vendor/absl/log/log_sink.cc create mode 100644 crates/absl-sys/vendor/absl/log/log_sink.h create mode 100644 crates/absl-sys/vendor/absl/log/log_sink_registry.h create mode 100644 crates/absl-sys/vendor/absl/log/log_streamer.h create mode 100644 crates/absl-sys/vendor/absl/log/scoped_mock_log.h create mode 100644 crates/absl-sys/vendor/absl/log/structured.h create mode 100644 crates/absl-sys/vendor/absl/log/vlog_is_on.h create mode 100644 crates/absl-sys/vendor/absl/memory/memory.h create mode 100644 crates/absl-sys/vendor/absl/meta/internal/constexpr_testing.h create mode 100644 crates/absl-sys/vendor/absl/meta/internal/requires.h create mode 100644 crates/absl-sys/vendor/absl/meta/type_traits.h create mode 100644 crates/absl-sys/vendor/absl/numeric/bits.h create mode 100644 crates/absl-sys/vendor/absl/numeric/int128.cc create mode 100644 crates/absl-sys/vendor/absl/numeric/int128.h create mode 100644 crates/absl-sys/vendor/absl/numeric/int128_have_intrinsic.inc create mode 100644 crates/absl-sys/vendor/absl/numeric/int128_no_intrinsic.inc create mode 100644 crates/absl-sys/vendor/absl/numeric/internal/bits.h create mode 100644 crates/absl-sys/vendor/absl/numeric/internal/representation.h create mode 100644 crates/absl-sys/vendor/absl/profiling/hashtable.h create mode 100644 crates/absl-sys/vendor/absl/profiling/internal/exponential_biased.cc create mode 100644 crates/absl-sys/vendor/absl/profiling/internal/exponential_biased.h create mode 100644 crates/absl-sys/vendor/absl/profiling/internal/periodic_sampler.h create mode 100644 crates/absl-sys/vendor/absl/profiling/internal/profile_builder.h create mode 100644 crates/absl-sys/vendor/absl/profiling/internal/sample_recorder.h create mode 100644 crates/absl-sys/vendor/absl/random/bernoulli_distribution.h create mode 100644 crates/absl-sys/vendor/absl/random/beta_distribution.h create mode 100644 crates/absl-sys/vendor/absl/random/bit_gen_ref.h create mode 100644 crates/absl-sys/vendor/absl/random/discrete_distribution.h create mode 100644 crates/absl-sys/vendor/absl/random/distributions.h create mode 100644 crates/absl-sys/vendor/absl/random/exponential_distribution.h create mode 100644 crates/absl-sys/vendor/absl/random/gaussian_distribution.h create mode 100644 crates/absl-sys/vendor/absl/random/internal/chi_square.h create mode 100644 crates/absl-sys/vendor/absl/random/internal/distribution_caller.h create mode 100644 crates/absl-sys/vendor/absl/random/internal/distribution_test_util.h create mode 100644 crates/absl-sys/vendor/absl/random/internal/entropy_pool.h create mode 100644 crates/absl-sys/vendor/absl/random/internal/explicit_seed_seq.h create mode 100644 crates/absl-sys/vendor/absl/random/internal/fast_uniform_bits.h create mode 100644 crates/absl-sys/vendor/absl/random/internal/fastmath.h create mode 100644 crates/absl-sys/vendor/absl/random/internal/generate_real.h create mode 100644 crates/absl-sys/vendor/absl/random/internal/iostream_state_saver.h create mode 100644 crates/absl-sys/vendor/absl/random/internal/mock_helpers.h create mode 100644 crates/absl-sys/vendor/absl/random/internal/mock_overload_set.h create mode 100644 crates/absl-sys/vendor/absl/random/internal/mock_validators.h create mode 100644 crates/absl-sys/vendor/absl/random/internal/nanobenchmark.h create mode 100644 crates/absl-sys/vendor/absl/random/internal/nonsecure_base.h create mode 100644 crates/absl-sys/vendor/absl/random/internal/pcg_engine.h create mode 100644 crates/absl-sys/vendor/absl/random/internal/platform.h create mode 100644 crates/absl-sys/vendor/absl/random/internal/randen.h create mode 100644 crates/absl-sys/vendor/absl/random/internal/randen_detect.h create mode 100644 crates/absl-sys/vendor/absl/random/internal/randen_engine.h create mode 100644 crates/absl-sys/vendor/absl/random/internal/randen_hwaes.h create mode 100644 crates/absl-sys/vendor/absl/random/internal/randen_slow.h create mode 100644 crates/absl-sys/vendor/absl/random/internal/randen_traits.h create mode 100644 crates/absl-sys/vendor/absl/random/internal/salted_seed_seq.h create mode 100644 crates/absl-sys/vendor/absl/random/internal/seed_material.h create mode 100644 crates/absl-sys/vendor/absl/random/internal/sequence_urbg.h create mode 100644 crates/absl-sys/vendor/absl/random/internal/traits.h create mode 100644 crates/absl-sys/vendor/absl/random/internal/uniform_helper.h create mode 100644 crates/absl-sys/vendor/absl/random/internal/wide_multiply.h create mode 100644 crates/absl-sys/vendor/absl/random/log_uniform_int_distribution.h create mode 100644 crates/absl-sys/vendor/absl/random/mock_distributions.h create mode 100644 crates/absl-sys/vendor/absl/random/mocking_bit_gen.h create mode 100644 crates/absl-sys/vendor/absl/random/poisson_distribution.h create mode 100644 crates/absl-sys/vendor/absl/random/random.h create mode 100644 crates/absl-sys/vendor/absl/random/seed_gen_exception.h create mode 100644 crates/absl-sys/vendor/absl/random/seed_sequences.h create mode 100644 crates/absl-sys/vendor/absl/random/uniform_int_distribution.h create mode 100644 crates/absl-sys/vendor/absl/random/uniform_real_distribution.h create mode 100644 crates/absl-sys/vendor/absl/random/zipf_distribution.h create mode 100644 crates/absl-sys/vendor/absl/status/internal/status_internal.cc create mode 100644 crates/absl-sys/vendor/absl/status/internal/status_internal.h create mode 100644 crates/absl-sys/vendor/absl/status/internal/status_matchers.h create mode 100644 crates/absl-sys/vendor/absl/status/internal/statusor_internal.h create mode 100644 crates/absl-sys/vendor/absl/status/status.cc create mode 100644 crates/absl-sys/vendor/absl/status/status.h create mode 100644 crates/absl-sys/vendor/absl/status/status_matchers.h create mode 100644 crates/absl-sys/vendor/absl/status/status_payload_printer.cc create mode 100644 crates/absl-sys/vendor/absl/status/status_payload_printer.h create mode 100644 crates/absl-sys/vendor/absl/status/statusor.cc create mode 100644 crates/absl-sys/vendor/absl/status/statusor.h create mode 100644 crates/absl-sys/vendor/absl/strings/ascii.cc create mode 100644 crates/absl-sys/vendor/absl/strings/ascii.h create mode 100644 crates/absl-sys/vendor/absl/strings/charconv.cc create mode 100644 crates/absl-sys/vendor/absl/strings/charconv.h create mode 100644 crates/absl-sys/vendor/absl/strings/charset.h create mode 100644 crates/absl-sys/vendor/absl/strings/cord.cc create mode 100644 crates/absl-sys/vendor/absl/strings/cord.h create mode 100644 crates/absl-sys/vendor/absl/strings/cord_analysis.cc create mode 100644 crates/absl-sys/vendor/absl/strings/cord_analysis.h create mode 100644 crates/absl-sys/vendor/absl/strings/cord_buffer.h create mode 100644 crates/absl-sys/vendor/absl/strings/cord_test_helpers.h create mode 100644 crates/absl-sys/vendor/absl/strings/cordz_test_helpers.h create mode 100644 crates/absl-sys/vendor/absl/strings/escaping.cc create mode 100644 crates/absl-sys/vendor/absl/strings/escaping.h create mode 100644 crates/absl-sys/vendor/absl/strings/has_absl_stringify.h create mode 100644 crates/absl-sys/vendor/absl/strings/has_ostream_operator.h create mode 100644 crates/absl-sys/vendor/absl/strings/internal/append_and_overwrite.h create mode 100644 crates/absl-sys/vendor/absl/strings/internal/charconv_bigint.cc create mode 100644 crates/absl-sys/vendor/absl/strings/internal/charconv_bigint.h create mode 100644 crates/absl-sys/vendor/absl/strings/internal/charconv_parse.cc create mode 100644 crates/absl-sys/vendor/absl/strings/internal/charconv_parse.h create mode 100644 crates/absl-sys/vendor/absl/strings/internal/cord_data_edge.h create mode 100644 crates/absl-sys/vendor/absl/strings/internal/cord_internal.cc create mode 100644 crates/absl-sys/vendor/absl/strings/internal/cord_internal.h create mode 100644 crates/absl-sys/vendor/absl/strings/internal/cord_rep_btree.cc create mode 100644 crates/absl-sys/vendor/absl/strings/internal/cord_rep_btree.h create mode 100644 crates/absl-sys/vendor/absl/strings/internal/cord_rep_btree_navigator.cc create mode 100644 crates/absl-sys/vendor/absl/strings/internal/cord_rep_btree_navigator.h create mode 100644 crates/absl-sys/vendor/absl/strings/internal/cord_rep_btree_reader.cc create mode 100644 crates/absl-sys/vendor/absl/strings/internal/cord_rep_btree_reader.h create mode 100644 crates/absl-sys/vendor/absl/strings/internal/cord_rep_consume.cc create mode 100644 crates/absl-sys/vendor/absl/strings/internal/cord_rep_consume.h create mode 100644 crates/absl-sys/vendor/absl/strings/internal/cord_rep_crc.cc create mode 100644 crates/absl-sys/vendor/absl/strings/internal/cord_rep_crc.h create mode 100644 crates/absl-sys/vendor/absl/strings/internal/cord_rep_flat.h create mode 100644 crates/absl-sys/vendor/absl/strings/internal/cord_rep_test_util.h create mode 100644 crates/absl-sys/vendor/absl/strings/internal/cordz_functions.cc create mode 100644 crates/absl-sys/vendor/absl/strings/internal/cordz_functions.h create mode 100644 crates/absl-sys/vendor/absl/strings/internal/cordz_handle.cc create mode 100644 crates/absl-sys/vendor/absl/strings/internal/cordz_handle.h create mode 100644 crates/absl-sys/vendor/absl/strings/internal/cordz_info.cc create mode 100644 crates/absl-sys/vendor/absl/strings/internal/cordz_info.h create mode 100644 crates/absl-sys/vendor/absl/strings/internal/cordz_sample_token.h create mode 100644 crates/absl-sys/vendor/absl/strings/internal/cordz_statistics.h create mode 100644 crates/absl-sys/vendor/absl/strings/internal/cordz_update_scope.h create mode 100644 crates/absl-sys/vendor/absl/strings/internal/cordz_update_tracker.h create mode 100644 crates/absl-sys/vendor/absl/strings/internal/damerau_levenshtein_distance.cc create mode 100644 crates/absl-sys/vendor/absl/strings/internal/damerau_levenshtein_distance.h create mode 100644 crates/absl-sys/vendor/absl/strings/internal/escaping.cc create mode 100644 crates/absl-sys/vendor/absl/strings/internal/escaping.h create mode 100644 crates/absl-sys/vendor/absl/strings/internal/escaping_test_common.h create mode 100644 crates/absl-sys/vendor/absl/strings/internal/generic_printer.h create mode 100644 crates/absl-sys/vendor/absl/strings/internal/generic_printer_internal.h create mode 100644 crates/absl-sys/vendor/absl/strings/internal/memutil.cc create mode 100644 crates/absl-sys/vendor/absl/strings/internal/memutil.h create mode 100644 crates/absl-sys/vendor/absl/strings/internal/numbers_test_common.h create mode 100644 crates/absl-sys/vendor/absl/strings/internal/ostringstream.cc create mode 100644 crates/absl-sys/vendor/absl/strings/internal/ostringstream.h create mode 100644 crates/absl-sys/vendor/absl/strings/internal/pow10_helper.h create mode 100644 crates/absl-sys/vendor/absl/strings/internal/resize_uninitialized.h create mode 100644 crates/absl-sys/vendor/absl/strings/internal/stl_type_traits.h create mode 100644 crates/absl-sys/vendor/absl/strings/internal/str_format/arg.cc create mode 100644 crates/absl-sys/vendor/absl/strings/internal/str_format/arg.h create mode 100644 crates/absl-sys/vendor/absl/strings/internal/str_format/bind.cc create mode 100644 crates/absl-sys/vendor/absl/strings/internal/str_format/bind.h create mode 100644 crates/absl-sys/vendor/absl/strings/internal/str_format/checker.h create mode 100644 crates/absl-sys/vendor/absl/strings/internal/str_format/constexpr_parser.h create mode 100644 crates/absl-sys/vendor/absl/strings/internal/str_format/extension.cc create mode 100644 crates/absl-sys/vendor/absl/strings/internal/str_format/extension.h create mode 100644 crates/absl-sys/vendor/absl/strings/internal/str_format/float_conversion.cc create mode 100644 crates/absl-sys/vendor/absl/strings/internal/str_format/float_conversion.h create mode 100644 crates/absl-sys/vendor/absl/strings/internal/str_format/output.cc create mode 100644 crates/absl-sys/vendor/absl/strings/internal/str_format/output.h create mode 100644 crates/absl-sys/vendor/absl/strings/internal/str_format/parser.cc create mode 100644 crates/absl-sys/vendor/absl/strings/internal/str_format/parser.h create mode 100644 crates/absl-sys/vendor/absl/strings/internal/str_join_internal.h create mode 100644 crates/absl-sys/vendor/absl/strings/internal/str_split_internal.h create mode 100644 crates/absl-sys/vendor/absl/strings/internal/string_constant.h create mode 100644 crates/absl-sys/vendor/absl/strings/internal/stringify_sink.cc create mode 100644 crates/absl-sys/vendor/absl/strings/internal/stringify_sink.h create mode 100644 crates/absl-sys/vendor/absl/strings/internal/utf8.cc create mode 100644 crates/absl-sys/vendor/absl/strings/internal/utf8.h create mode 100644 crates/absl-sys/vendor/absl/strings/match.cc create mode 100644 crates/absl-sys/vendor/absl/strings/match.h create mode 100644 crates/absl-sys/vendor/absl/strings/numbers.cc create mode 100644 crates/absl-sys/vendor/absl/strings/numbers.h create mode 100644 crates/absl-sys/vendor/absl/strings/resize_and_overwrite.h create mode 100644 crates/absl-sys/vendor/absl/strings/str_cat.cc create mode 100644 crates/absl-sys/vendor/absl/strings/str_cat.h create mode 100644 crates/absl-sys/vendor/absl/strings/str_format.h create mode 100644 crates/absl-sys/vendor/absl/strings/str_join.h create mode 100644 crates/absl-sys/vendor/absl/strings/str_replace.cc create mode 100644 crates/absl-sys/vendor/absl/strings/str_replace.h create mode 100644 crates/absl-sys/vendor/absl/strings/str_split.cc create mode 100644 crates/absl-sys/vendor/absl/strings/str_split.h create mode 100644 crates/absl-sys/vendor/absl/strings/string_view.h create mode 100644 crates/absl-sys/vendor/absl/strings/strip.h create mode 100644 crates/absl-sys/vendor/absl/strings/substitute.cc create mode 100644 crates/absl-sys/vendor/absl/strings/substitute.h create mode 100644 crates/absl-sys/vendor/absl/synchronization/barrier.cc create mode 100644 crates/absl-sys/vendor/absl/synchronization/barrier.h create mode 100644 crates/absl-sys/vendor/absl/synchronization/blocking_counter.cc create mode 100644 crates/absl-sys/vendor/absl/synchronization/blocking_counter.h create mode 100644 crates/absl-sys/vendor/absl/synchronization/internal/create_thread_identity.cc create mode 100644 crates/absl-sys/vendor/absl/synchronization/internal/create_thread_identity.h create mode 100644 crates/absl-sys/vendor/absl/synchronization/internal/futex.h create mode 100644 crates/absl-sys/vendor/absl/synchronization/internal/futex_waiter.cc create mode 100644 crates/absl-sys/vendor/absl/synchronization/internal/futex_waiter.h create mode 100644 crates/absl-sys/vendor/absl/synchronization/internal/graphcycles.cc create mode 100644 crates/absl-sys/vendor/absl/synchronization/internal/graphcycles.h create mode 100644 crates/absl-sys/vendor/absl/synchronization/internal/kernel_timeout.cc create mode 100644 crates/absl-sys/vendor/absl/synchronization/internal/kernel_timeout.h create mode 100644 crates/absl-sys/vendor/absl/synchronization/internal/per_thread_sem.cc create mode 100644 crates/absl-sys/vendor/absl/synchronization/internal/per_thread_sem.h create mode 100644 crates/absl-sys/vendor/absl/synchronization/internal/pthread_waiter.cc create mode 100644 crates/absl-sys/vendor/absl/synchronization/internal/pthread_waiter.h create mode 100644 crates/absl-sys/vendor/absl/synchronization/internal/sem_waiter.cc create mode 100644 crates/absl-sys/vendor/absl/synchronization/internal/sem_waiter.h create mode 100644 crates/absl-sys/vendor/absl/synchronization/internal/stdcpp_waiter.cc create mode 100644 crates/absl-sys/vendor/absl/synchronization/internal/stdcpp_waiter.h create mode 100644 crates/absl-sys/vendor/absl/synchronization/internal/thread_pool.h create mode 100644 crates/absl-sys/vendor/absl/synchronization/internal/waiter.h create mode 100644 crates/absl-sys/vendor/absl/synchronization/internal/waiter_base.cc create mode 100644 crates/absl-sys/vendor/absl/synchronization/internal/waiter_base.h create mode 100644 crates/absl-sys/vendor/absl/synchronization/internal/win32_waiter.cc create mode 100644 crates/absl-sys/vendor/absl/synchronization/internal/win32_waiter.h create mode 100644 crates/absl-sys/vendor/absl/synchronization/mutex.cc create mode 100644 crates/absl-sys/vendor/absl/synchronization/mutex.h create mode 100644 crates/absl-sys/vendor/absl/synchronization/notification.cc create mode 100644 crates/absl-sys/vendor/absl/synchronization/notification.h create mode 100644 crates/absl-sys/vendor/absl/time/civil_time.cc create mode 100644 crates/absl-sys/vendor/absl/time/civil_time.h create mode 100644 crates/absl-sys/vendor/absl/time/clock.cc create mode 100644 crates/absl-sys/vendor/absl/time/clock.h create mode 100644 crates/absl-sys/vendor/absl/time/duration.cc create mode 100644 crates/absl-sys/vendor/absl/time/format.cc create mode 100644 crates/absl-sys/vendor/absl/time/internal/cctz/include/cctz/civil_time.h create mode 100644 crates/absl-sys/vendor/absl/time/internal/cctz/include/cctz/civil_time_detail.h create mode 100644 crates/absl-sys/vendor/absl/time/internal/cctz/include/cctz/time_zone.h create mode 100644 crates/absl-sys/vendor/absl/time/internal/cctz/include/cctz/zone_info_source.h create mode 100644 crates/absl-sys/vendor/absl/time/internal/cctz/src/civil_time_detail.cc create mode 100644 crates/absl-sys/vendor/absl/time/internal/cctz/src/test_time_zone_names.h create mode 100644 crates/absl-sys/vendor/absl/time/internal/cctz/src/time_zone_fixed.cc create mode 100644 crates/absl-sys/vendor/absl/time/internal/cctz/src/time_zone_fixed.h create mode 100644 crates/absl-sys/vendor/absl/time/internal/cctz/src/time_zone_format.cc create mode 100644 crates/absl-sys/vendor/absl/time/internal/cctz/src/time_zone_if.cc create mode 100644 crates/absl-sys/vendor/absl/time/internal/cctz/src/time_zone_if.h create mode 100644 crates/absl-sys/vendor/absl/time/internal/cctz/src/time_zone_impl.cc create mode 100644 crates/absl-sys/vendor/absl/time/internal/cctz/src/time_zone_impl.h create mode 100644 crates/absl-sys/vendor/absl/time/internal/cctz/src/time_zone_info.cc create mode 100644 crates/absl-sys/vendor/absl/time/internal/cctz/src/time_zone_info.h create mode 100644 crates/absl-sys/vendor/absl/time/internal/cctz/src/time_zone_libc.cc create mode 100644 crates/absl-sys/vendor/absl/time/internal/cctz/src/time_zone_libc.h create mode 100644 crates/absl-sys/vendor/absl/time/internal/cctz/src/time_zone_lookup.cc create mode 100644 crates/absl-sys/vendor/absl/time/internal/cctz/src/time_zone_name_win.cc create mode 100644 crates/absl-sys/vendor/absl/time/internal/cctz/src/time_zone_name_win.h create mode 100644 crates/absl-sys/vendor/absl/time/internal/cctz/src/time_zone_posix.cc create mode 100644 crates/absl-sys/vendor/absl/time/internal/cctz/src/time_zone_posix.h create mode 100644 crates/absl-sys/vendor/absl/time/internal/cctz/src/tzfile.h create mode 100644 crates/absl-sys/vendor/absl/time/internal/cctz/src/zone_info_source.cc create mode 100644 crates/absl-sys/vendor/absl/time/internal/get_current_time_chrono.inc create mode 100644 crates/absl-sys/vendor/absl/time/internal/get_current_time_posix.inc create mode 100644 crates/absl-sys/vendor/absl/time/internal/test_util.h create mode 100644 crates/absl-sys/vendor/absl/time/time.cc create mode 100644 crates/absl-sys/vendor/absl/time/time.h create mode 100644 crates/absl-sys/vendor/absl/types/any.h create mode 100644 crates/absl-sys/vendor/absl/types/compare.h create mode 100644 crates/absl-sys/vendor/absl/types/internal/span.h create mode 100644 crates/absl-sys/vendor/absl/types/optional.h create mode 100644 crates/absl-sys/vendor/absl/types/span.h create mode 100644 crates/absl-sys/vendor/absl/types/variant.h create mode 100644 crates/absl-sys/vendor/absl/utility/utility.h create mode 100644 crates/absl-sys/vendor/ci/absl_alternate_options.h rename protovalidate/_backend.py => crates/antlr4rt-sys/Cargo.toml (65%) create mode 100644 crates/antlr4rt-sys/LICENSE-ANTLR4.txt create mode 100644 crates/antlr4rt-sys/build.rs create mode 100644 crates/antlr4rt-sys/filelist.txt create mode 100644 crates/antlr4rt-sys/src/lib.rs create mode 100644 crates/antlr4rt-sys/vendor/runtime/antlrcpp-ios/antlrcpp_ios.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/ANTLRErrorListener.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/ANTLRErrorListener.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/ANTLRErrorStrategy.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/ANTLRErrorStrategy.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/ANTLRFileStream.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/ANTLRFileStream.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/ANTLRInputStream.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/ANTLRInputStream.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/BailErrorStrategy.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/BailErrorStrategy.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/BaseErrorListener.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/BaseErrorListener.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/BufferedTokenStream.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/BufferedTokenStream.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/CharStream.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/CharStream.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/CommonToken.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/CommonToken.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/CommonTokenFactory.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/CommonTokenFactory.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/CommonTokenStream.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/CommonTokenStream.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/ConsoleErrorListener.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/ConsoleErrorListener.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/DefaultErrorStrategy.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/DefaultErrorStrategy.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/DiagnosticErrorListener.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/DiagnosticErrorListener.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/Exceptions.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/Exceptions.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/FailedPredicateException.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/FailedPredicateException.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/FlatHashMap.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/FlatHashSet.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/InputMismatchException.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/InputMismatchException.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/IntStream.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/IntStream.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/InterpreterRuleContext.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/InterpreterRuleContext.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/Lexer.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/Lexer.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/LexerInterpreter.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/LexerInterpreter.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/LexerNoViableAltException.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/LexerNoViableAltException.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/ListTokenSource.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/ListTokenSource.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/NoViableAltException.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/NoViableAltException.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/Parser.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/Parser.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/ParserInterpreter.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/ParserInterpreter.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/ParserRuleContext.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/ParserRuleContext.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/ProxyErrorListener.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/ProxyErrorListener.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/RecognitionException.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/RecognitionException.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/Recognizer.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/Recognizer.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/RuleContext.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/RuleContext.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/RuleContextWithAltNum.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/RuleContextWithAltNum.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/RuntimeMetaData.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/RuntimeMetaData.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/Token.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/Token.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/TokenFactory.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/TokenSource.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/TokenSource.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/TokenStream.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/TokenStream.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/TokenStreamRewriter.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/TokenStreamRewriter.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/UnbufferedCharStream.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/UnbufferedCharStream.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/UnbufferedTokenStream.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/UnbufferedTokenStream.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/Version.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/Vocabulary.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/Vocabulary.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/WritableToken.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/WritableToken.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/antlr4-common.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/antlr4-runtime.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/ATN.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/ATN.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/ATNConfig.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/ATNConfig.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/ATNConfigSet.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/ATNConfigSet.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/ATNDeserializationOptions.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/ATNDeserializationOptions.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/ATNDeserializer.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/ATNDeserializer.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/ATNSimulator.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/ATNSimulator.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/ATNState.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/ATNState.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/ATNStateType.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/ATNStateType.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/ATNType.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/ActionTransition.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/ActionTransition.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/AmbiguityInfo.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/AmbiguityInfo.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/ArrayPredictionContext.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/ArrayPredictionContext.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/AtomTransition.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/AtomTransition.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/BasicBlockStartState.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/BasicState.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/BlockEndState.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/BlockStartState.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/ContextSensitivityInfo.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/ContextSensitivityInfo.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/DecisionEventInfo.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/DecisionEventInfo.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/DecisionInfo.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/DecisionInfo.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/DecisionState.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/DecisionState.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/EpsilonTransition.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/EpsilonTransition.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/ErrorInfo.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/ErrorInfo.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/HashUtils.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/LL1Analyzer.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/LL1Analyzer.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/LexerATNConfig.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/LexerATNConfig.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/LexerATNSimulator.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/LexerATNSimulator.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/LexerAction.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/LexerAction.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/LexerActionExecutor.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/LexerActionExecutor.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/LexerActionType.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/LexerChannelAction.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/LexerChannelAction.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/LexerCustomAction.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/LexerCustomAction.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/LexerIndexedCustomAction.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/LexerIndexedCustomAction.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/LexerModeAction.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/LexerModeAction.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/LexerMoreAction.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/LexerMoreAction.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/LexerPopModeAction.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/LexerPopModeAction.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/LexerPushModeAction.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/LexerPushModeAction.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/LexerSkipAction.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/LexerSkipAction.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/LexerTypeAction.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/LexerTypeAction.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/LookaheadEventInfo.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/LookaheadEventInfo.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/LoopEndState.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/NotSetTransition.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/NotSetTransition.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/OrderedATNConfigSet.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/OrderedATNConfigSet.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/ParseInfo.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/ParseInfo.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/ParserATNSimulator.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/ParserATNSimulator.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/ParserATNSimulatorOptions.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/PlusBlockStartState.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/PlusLoopbackState.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/PrecedencePredicateTransition.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/PrecedencePredicateTransition.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/PredicateEvalInfo.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/PredicateEvalInfo.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/PredicateTransition.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/PredicateTransition.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/PredictionContext.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/PredictionContext.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/PredictionContextCache.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/PredictionContextCache.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/PredictionContextMergeCache.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/PredictionContextMergeCache.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/PredictionContextMergeCacheOptions.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/PredictionContextType.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/PredictionMode.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/PredictionMode.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/ProfilingATNSimulator.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/ProfilingATNSimulator.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/RangeTransition.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/RangeTransition.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/RuleStartState.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/RuleStopState.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/RuleTransition.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/RuleTransition.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/SemanticContext.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/SemanticContext.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/SemanticContextType.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/SerializedATNView.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/SetTransition.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/SetTransition.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/SingletonPredictionContext.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/SingletonPredictionContext.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/StarBlockStartState.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/StarLoopEntryState.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/StarLoopbackState.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/StarLoopbackState.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/TokensStartState.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/Transition.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/Transition.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/TransitionType.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/TransitionType.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/WildcardTransition.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/atn/WildcardTransition.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/dfa/DFA.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/dfa/DFA.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/dfa/DFASerializer.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/dfa/DFASerializer.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/dfa/DFAState.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/dfa/DFAState.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/dfa/LexerDFASerializer.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/dfa/LexerDFASerializer.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/internal/Synchronization.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/internal/Synchronization.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/misc/InterpreterDataReader.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/misc/InterpreterDataReader.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/misc/Interval.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/misc/Interval.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/misc/IntervalSet.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/misc/IntervalSet.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/misc/MurmurHash.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/misc/MurmurHash.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/misc/Predicate.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/misc/Predicate.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/support/Any.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/support/Any.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/support/Arrays.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/support/Arrays.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/support/BitSet.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/support/CPPUtils.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/support/CPPUtils.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/support/Casts.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/support/Declarations.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/support/StringUtils.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/support/StringUtils.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/support/Unicode.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/support/Utf8.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/support/Utf8.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/tree/AbstractParseTreeVisitor.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/tree/ErrorNode.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/tree/ErrorNodeImpl.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/tree/ErrorNodeImpl.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/tree/IterativeParseTreeWalker.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/tree/IterativeParseTreeWalker.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/tree/ParseTree.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/tree/ParseTree.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/tree/ParseTreeListener.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/tree/ParseTreeListener.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/tree/ParseTreeProperty.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/tree/ParseTreeType.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/tree/ParseTreeVisitor.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/tree/ParseTreeVisitor.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/tree/ParseTreeWalker.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/tree/ParseTreeWalker.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/tree/TerminalNode.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/tree/TerminalNodeImpl.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/tree/TerminalNodeImpl.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/tree/Trees.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/tree/Trees.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/tree/pattern/Chunk.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/tree/pattern/Chunk.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/tree/pattern/ParseTreeMatch.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/tree/pattern/ParseTreeMatch.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/tree/pattern/ParseTreePattern.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/tree/pattern/ParseTreePattern.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/tree/pattern/ParseTreePatternMatcher.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/tree/pattern/ParseTreePatternMatcher.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/tree/pattern/RuleTagToken.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/tree/pattern/RuleTagToken.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/tree/pattern/TagChunk.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/tree/pattern/TagChunk.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/tree/pattern/TextChunk.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/tree/pattern/TextChunk.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/tree/pattern/TokenTagToken.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/tree/pattern/TokenTagToken.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/tree/xpath/XPath.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/tree/xpath/XPath.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/tree/xpath/XPathElement.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/tree/xpath/XPathElement.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/tree/xpath/XPathLexer.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/tree/xpath/XPathLexer.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/tree/xpath/XPathLexerErrorListener.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/tree/xpath/XPathLexerErrorListener.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/tree/xpath/XPathRuleAnywhereElement.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/tree/xpath/XPathRuleAnywhereElement.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/tree/xpath/XPathRuleElement.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/tree/xpath/XPathRuleElement.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/tree/xpath/XPathTokenAnywhereElement.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/tree/xpath/XPathTokenAnywhereElement.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/tree/xpath/XPathTokenElement.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/tree/xpath/XPathTokenElement.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/tree/xpath/XPathWildcardAnywhereElement.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/tree/xpath/XPathWildcardAnywhereElement.h create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/tree/xpath/XPathWildcardElement.cpp create mode 100644 crates/antlr4rt-sys/vendor/runtime/src/tree/xpath/XPathWildcardElement.h rename test/conformance/nonconforming.cel-expr.yaml => crates/buildsupport/Cargo.toml (58%) create mode 100644 crates/buildsupport/src/lib.rs rename test/test_matches.py => crates/celcpp-sys/Cargo.toml (59%) create mode 100644 crates/celcpp-sys/build.rs create mode 100644 crates/celcpp-sys/filelist.txt create mode 100644 crates/celcpp-sys/src/lib.rs create mode 100644 crates/celcpp-sys/vendor/LICENSE create mode 100644 crates/celcpp-sys/vendor/base/ast.h create mode 100644 crates/celcpp-sys/vendor/base/attribute.cc create mode 100644 crates/celcpp-sys/vendor/base/attribute.h create mode 100644 crates/celcpp-sys/vendor/base/attribute_set.h create mode 100644 crates/celcpp-sys/vendor/base/builtins.h create mode 100644 crates/celcpp-sys/vendor/base/function.h create mode 100644 crates/celcpp-sys/vendor/base/function_adapter.h create mode 100644 crates/celcpp-sys/vendor/base/function_descriptor.h create mode 100644 crates/celcpp-sys/vendor/base/function_result.h create mode 100644 crates/celcpp-sys/vendor/base/function_result_set.cc create mode 100644 crates/celcpp-sys/vendor/base/function_result_set.h create mode 100644 crates/celcpp-sys/vendor/base/internal/memory_manager_testing.h create mode 100644 crates/celcpp-sys/vendor/base/internal/message_wrapper.h create mode 100644 crates/celcpp-sys/vendor/base/internal/operators.h create mode 100644 crates/celcpp-sys/vendor/base/internal/unknown_set.cc create mode 100644 crates/celcpp-sys/vendor/base/internal/unknown_set.h create mode 100644 crates/celcpp-sys/vendor/base/kind.h create mode 100644 crates/celcpp-sys/vendor/base/operators.h create mode 100644 crates/celcpp-sys/vendor/base/type_provider.h create mode 100644 crates/celcpp-sys/vendor/cel/expr/checked.pb.cc create mode 100644 crates/celcpp-sys/vendor/cel/expr/checked.pb.h create mode 100644 crates/celcpp-sys/vendor/cel/expr/syntax.pb.cc create mode 100644 crates/celcpp-sys/vendor/cel/expr/syntax.pb.h create mode 100644 crates/celcpp-sys/vendor/cel/expr/value.pb.cc create mode 100644 crates/celcpp-sys/vendor/cel/expr/value.pb.h create mode 100644 crates/celcpp-sys/vendor/checker/checker_options.h create mode 100644 crates/celcpp-sys/vendor/checker/internal/builtins_arena.cc create mode 100644 crates/celcpp-sys/vendor/checker/internal/builtins_arena.h create mode 100644 crates/celcpp-sys/vendor/checker/internal/descriptor_pool_type_introspector.h create mode 100644 crates/celcpp-sys/vendor/checker/internal/format_type_name.h create mode 100644 crates/celcpp-sys/vendor/checker/internal/namespace_generator.h create mode 100644 crates/celcpp-sys/vendor/checker/internal/test_ast_helpers.h create mode 100644 crates/celcpp-sys/vendor/checker/internal/type_check_env.h create mode 100644 crates/celcpp-sys/vendor/checker/internal/type_checker_builder_impl.h create mode 100644 crates/celcpp-sys/vendor/checker/internal/type_checker_impl.h create mode 100644 crates/celcpp-sys/vendor/checker/internal/type_inference_context.h create mode 100644 crates/celcpp-sys/vendor/checker/optional.h create mode 100644 crates/celcpp-sys/vendor/checker/standard_library.h create mode 100644 crates/celcpp-sys/vendor/checker/type_check_issue.cc create mode 100644 crates/celcpp-sys/vendor/checker/type_check_issue.h create mode 100644 crates/celcpp-sys/vendor/checker/type_checker.h create mode 100644 crates/celcpp-sys/vendor/checker/type_checker_builder.h create mode 100644 crates/celcpp-sys/vendor/checker/type_checker_builder_factory.h create mode 100644 crates/celcpp-sys/vendor/checker/type_checker_subset_factory.h create mode 100644 crates/celcpp-sys/vendor/checker/validation_result.cc create mode 100644 crates/celcpp-sys/vendor/checker/validation_result.h create mode 100644 crates/celcpp-sys/vendor/codelab/cel_compiler.h create mode 100644 crates/celcpp-sys/vendor/codelab/exercise1.h create mode 100644 crates/celcpp-sys/vendor/codelab/exercise10.h create mode 100644 crates/celcpp-sys/vendor/codelab/exercise2.h create mode 100644 crates/celcpp-sys/vendor/codelab/exercise4.h create mode 100644 crates/celcpp-sys/vendor/codelab/network_functions.h create mode 100644 crates/celcpp-sys/vendor/common/allocator.h create mode 100644 crates/celcpp-sys/vendor/common/any.cc create mode 100644 crates/celcpp-sys/vendor/common/any.h create mode 100644 crates/celcpp-sys/vendor/common/arena.h create mode 100644 crates/celcpp-sys/vendor/common/arena_string.h create mode 100644 crates/celcpp-sys/vendor/common/arena_string_pool.h create mode 100644 crates/celcpp-sys/vendor/common/arena_string_view.h create mode 100644 crates/celcpp-sys/vendor/common/ast.cc create mode 100644 crates/celcpp-sys/vendor/common/ast.h create mode 100644 crates/celcpp-sys/vendor/common/ast/constant_proto.cc create mode 100644 crates/celcpp-sys/vendor/common/ast/constant_proto.h create mode 100644 crates/celcpp-sys/vendor/common/ast/expr_proto.cc create mode 100644 crates/celcpp-sys/vendor/common/ast/expr_proto.h create mode 100644 crates/celcpp-sys/vendor/common/ast/metadata.cc create mode 100644 crates/celcpp-sys/vendor/common/ast/metadata.h create mode 100644 crates/celcpp-sys/vendor/common/ast/navigable_ast_internal.h create mode 100644 crates/celcpp-sys/vendor/common/ast/navigable_ast_kinds.cc create mode 100644 crates/celcpp-sys/vendor/common/ast/navigable_ast_kinds.h create mode 100644 crates/celcpp-sys/vendor/common/ast/source_info_proto.cc create mode 100644 crates/celcpp-sys/vendor/common/ast/source_info_proto.h create mode 100644 crates/celcpp-sys/vendor/common/ast_proto.cc create mode 100644 crates/celcpp-sys/vendor/common/ast_proto.h create mode 100644 crates/celcpp-sys/vendor/common/ast_rewrite.cc create mode 100644 crates/celcpp-sys/vendor/common/ast_rewrite.h create mode 100644 crates/celcpp-sys/vendor/common/ast_traverse.cc create mode 100644 crates/celcpp-sys/vendor/common/ast_traverse.h create mode 100644 crates/celcpp-sys/vendor/common/ast_visitor.h create mode 100644 crates/celcpp-sys/vendor/common/ast_visitor_base.h create mode 100644 crates/celcpp-sys/vendor/common/casting.h create mode 100644 crates/celcpp-sys/vendor/common/constant.cc create mode 100644 crates/celcpp-sys/vendor/common/constant.h create mode 100644 crates/celcpp-sys/vendor/common/container.cc create mode 100644 crates/celcpp-sys/vendor/common/container.h create mode 100644 crates/celcpp-sys/vendor/common/data.h create mode 100644 crates/celcpp-sys/vendor/common/decl.cc create mode 100644 crates/celcpp-sys/vendor/common/decl.h create mode 100644 crates/celcpp-sys/vendor/common/decl_proto.h create mode 100644 crates/celcpp-sys/vendor/common/decl_proto_v1alpha1.h create mode 100644 crates/celcpp-sys/vendor/common/expr.cc create mode 100644 crates/celcpp-sys/vendor/common/expr.h create mode 100644 crates/celcpp-sys/vendor/common/expr_factory.h create mode 100644 crates/celcpp-sys/vendor/common/function_descriptor.cc create mode 100644 crates/celcpp-sys/vendor/common/function_descriptor.h create mode 100644 crates/celcpp-sys/vendor/common/internal/byte_string.cc create mode 100644 crates/celcpp-sys/vendor/common/internal/byte_string.h create mode 100644 crates/celcpp-sys/vendor/common/internal/casting.h create mode 100644 crates/celcpp-sys/vendor/common/internal/metadata.h create mode 100644 crates/celcpp-sys/vendor/common/internal/reference_count.cc create mode 100644 crates/celcpp-sys/vendor/common/internal/reference_count.h create mode 100644 crates/celcpp-sys/vendor/common/internal/signature.cc create mode 100644 crates/celcpp-sys/vendor/common/internal/signature.h create mode 100644 crates/celcpp-sys/vendor/common/internal/value_conversion.h create mode 100644 crates/celcpp-sys/vendor/common/json.h create mode 100644 crates/celcpp-sys/vendor/common/kind.cc create mode 100644 crates/celcpp-sys/vendor/common/kind.h create mode 100644 crates/celcpp-sys/vendor/common/legacy_value.cc create mode 100644 crates/celcpp-sys/vendor/common/legacy_value.h create mode 100644 crates/celcpp-sys/vendor/common/memory.cc create mode 100644 crates/celcpp-sys/vendor/common/memory.h create mode 100644 crates/celcpp-sys/vendor/common/memory_testing.h create mode 100644 crates/celcpp-sys/vendor/common/minimal_descriptor_database.h create mode 100644 crates/celcpp-sys/vendor/common/minimal_descriptor_pool.h create mode 100644 crates/celcpp-sys/vendor/common/native_type.h create mode 100644 crates/celcpp-sys/vendor/common/navigable_ast.cc create mode 100644 crates/celcpp-sys/vendor/common/navigable_ast.h create mode 100644 crates/celcpp-sys/vendor/common/operators.cc create mode 100644 crates/celcpp-sys/vendor/common/operators.h create mode 100644 crates/celcpp-sys/vendor/common/optional_ref.h create mode 100644 crates/celcpp-sys/vendor/common/reference.h create mode 100644 crates/celcpp-sys/vendor/common/reference_count.h create mode 100644 crates/celcpp-sys/vendor/common/source.cc create mode 100644 crates/celcpp-sys/vendor/common/source.h create mode 100644 crates/celcpp-sys/vendor/common/standard_definitions.h create mode 100644 crates/celcpp-sys/vendor/common/type.cc create mode 100644 crates/celcpp-sys/vendor/common/type.h create mode 100644 crates/celcpp-sys/vendor/common/type_introspector.cc create mode 100644 crates/celcpp-sys/vendor/common/type_introspector.h create mode 100644 crates/celcpp-sys/vendor/common/type_kind.h create mode 100644 crates/celcpp-sys/vendor/common/type_proto.h create mode 100644 crates/celcpp-sys/vendor/common/type_reflector.h create mode 100644 crates/celcpp-sys/vendor/common/type_testing.h create mode 100644 crates/celcpp-sys/vendor/common/typeinfo.cc create mode 100644 crates/celcpp-sys/vendor/common/typeinfo.h create mode 100644 crates/celcpp-sys/vendor/common/types/any_type.h create mode 100644 crates/celcpp-sys/vendor/common/types/basic_struct_type.cc create mode 100644 crates/celcpp-sys/vendor/common/types/basic_struct_type.h create mode 100644 crates/celcpp-sys/vendor/common/types/bool_type.h create mode 100644 crates/celcpp-sys/vendor/common/types/bool_wrapper_type.h create mode 100644 crates/celcpp-sys/vendor/common/types/bytes_type.h create mode 100644 crates/celcpp-sys/vendor/common/types/bytes_wrapper_type.h create mode 100644 crates/celcpp-sys/vendor/common/types/double_type.h create mode 100644 crates/celcpp-sys/vendor/common/types/double_wrapper_type.h create mode 100644 crates/celcpp-sys/vendor/common/types/duration_type.h create mode 100644 crates/celcpp-sys/vendor/common/types/dyn_type.h create mode 100644 crates/celcpp-sys/vendor/common/types/enum_type.cc create mode 100644 crates/celcpp-sys/vendor/common/types/enum_type.h create mode 100644 crates/celcpp-sys/vendor/common/types/error_type.h create mode 100644 crates/celcpp-sys/vendor/common/types/function_type.cc create mode 100644 crates/celcpp-sys/vendor/common/types/function_type.h create mode 100644 crates/celcpp-sys/vendor/common/types/function_type_pool.cc create mode 100644 crates/celcpp-sys/vendor/common/types/function_type_pool.h create mode 100644 crates/celcpp-sys/vendor/common/types/int_type.h create mode 100644 crates/celcpp-sys/vendor/common/types/int_wrapper_type.h create mode 100644 crates/celcpp-sys/vendor/common/types/legacy_type_introspector.h create mode 100644 crates/celcpp-sys/vendor/common/types/list_type.cc create mode 100644 crates/celcpp-sys/vendor/common/types/list_type.h create mode 100644 crates/celcpp-sys/vendor/common/types/list_type_pool.cc create mode 100644 crates/celcpp-sys/vendor/common/types/list_type_pool.h create mode 100644 crates/celcpp-sys/vendor/common/types/map_type.cc create mode 100644 crates/celcpp-sys/vendor/common/types/map_type.h create mode 100644 crates/celcpp-sys/vendor/common/types/map_type_pool.cc create mode 100644 crates/celcpp-sys/vendor/common/types/map_type_pool.h create mode 100644 crates/celcpp-sys/vendor/common/types/message_type.cc create mode 100644 crates/celcpp-sys/vendor/common/types/message_type.h create mode 100644 crates/celcpp-sys/vendor/common/types/null_type.h create mode 100644 crates/celcpp-sys/vendor/common/types/opaque_type.cc create mode 100644 crates/celcpp-sys/vendor/common/types/opaque_type.h create mode 100644 crates/celcpp-sys/vendor/common/types/opaque_type_pool.cc create mode 100644 crates/celcpp-sys/vendor/common/types/opaque_type_pool.h create mode 100644 crates/celcpp-sys/vendor/common/types/optional_type.cc create mode 100644 crates/celcpp-sys/vendor/common/types/optional_type.h create mode 100644 crates/celcpp-sys/vendor/common/types/string_type.h create mode 100644 crates/celcpp-sys/vendor/common/types/string_wrapper_type.h create mode 100644 crates/celcpp-sys/vendor/common/types/struct_type.cc create mode 100644 crates/celcpp-sys/vendor/common/types/struct_type.h create mode 100644 crates/celcpp-sys/vendor/common/types/timestamp_type.h create mode 100644 crates/celcpp-sys/vendor/common/types/type_param_type.h create mode 100644 crates/celcpp-sys/vendor/common/types/type_pool.cc create mode 100644 crates/celcpp-sys/vendor/common/types/type_pool.h create mode 100644 crates/celcpp-sys/vendor/common/types/type_type.cc create mode 100644 crates/celcpp-sys/vendor/common/types/type_type.h create mode 100644 crates/celcpp-sys/vendor/common/types/type_type_pool.cc create mode 100644 crates/celcpp-sys/vendor/common/types/type_type_pool.h create mode 100644 crates/celcpp-sys/vendor/common/types/types.h create mode 100644 crates/celcpp-sys/vendor/common/types/uint_type.h create mode 100644 crates/celcpp-sys/vendor/common/types/uint_wrapper_type.h create mode 100644 crates/celcpp-sys/vendor/common/types/unknown_type.h create mode 100644 crates/celcpp-sys/vendor/common/unknown.h create mode 100644 crates/celcpp-sys/vendor/common/value.cc create mode 100644 crates/celcpp-sys/vendor/common/value.h create mode 100644 crates/celcpp-sys/vendor/common/value_kind.h create mode 100644 crates/celcpp-sys/vendor/common/value_testing.h create mode 100644 crates/celcpp-sys/vendor/common/values/bool_value.cc create mode 100644 crates/celcpp-sys/vendor/common/values/bool_value.h create mode 100644 crates/celcpp-sys/vendor/common/values/bytes_value.cc create mode 100644 crates/celcpp-sys/vendor/common/values/bytes_value.h create mode 100644 crates/celcpp-sys/vendor/common/values/bytes_value_input_stream.h create mode 100644 crates/celcpp-sys/vendor/common/values/bytes_value_output_stream.h create mode 100644 crates/celcpp-sys/vendor/common/values/custom_list_value.cc create mode 100644 crates/celcpp-sys/vendor/common/values/custom_list_value.h create mode 100644 crates/celcpp-sys/vendor/common/values/custom_map_value.cc create mode 100644 crates/celcpp-sys/vendor/common/values/custom_map_value.h create mode 100644 crates/celcpp-sys/vendor/common/values/custom_struct_value.cc create mode 100644 crates/celcpp-sys/vendor/common/values/custom_struct_value.h create mode 100644 crates/celcpp-sys/vendor/common/values/custom_value.h create mode 100644 crates/celcpp-sys/vendor/common/values/double_value.cc create mode 100644 crates/celcpp-sys/vendor/common/values/double_value.h create mode 100644 crates/celcpp-sys/vendor/common/values/duration_value.cc create mode 100644 crates/celcpp-sys/vendor/common/values/duration_value.h create mode 100644 crates/celcpp-sys/vendor/common/values/enum_value.h create mode 100644 crates/celcpp-sys/vendor/common/values/error_value.cc create mode 100644 crates/celcpp-sys/vendor/common/values/error_value.h create mode 100644 crates/celcpp-sys/vendor/common/values/int_value.cc create mode 100644 crates/celcpp-sys/vendor/common/values/int_value.h create mode 100644 crates/celcpp-sys/vendor/common/values/legacy_list_value.cc create mode 100644 crates/celcpp-sys/vendor/common/values/legacy_list_value.h create mode 100644 crates/celcpp-sys/vendor/common/values/legacy_map_value.cc create mode 100644 crates/celcpp-sys/vendor/common/values/legacy_map_value.h create mode 100644 crates/celcpp-sys/vendor/common/values/legacy_struct_value.cc create mode 100644 crates/celcpp-sys/vendor/common/values/legacy_struct_value.h create mode 100644 crates/celcpp-sys/vendor/common/values/list_value.cc create mode 100644 crates/celcpp-sys/vendor/common/values/list_value.h create mode 100644 crates/celcpp-sys/vendor/common/values/list_value_builder.h create mode 100644 crates/celcpp-sys/vendor/common/values/list_value_variant.h create mode 100644 crates/celcpp-sys/vendor/common/values/map_value.cc create mode 100644 crates/celcpp-sys/vendor/common/values/map_value.h create mode 100644 crates/celcpp-sys/vendor/common/values/map_value_builder.h create mode 100644 crates/celcpp-sys/vendor/common/values/map_value_variant.h create mode 100644 crates/celcpp-sys/vendor/common/values/message_value.cc create mode 100644 crates/celcpp-sys/vendor/common/values/message_value.h create mode 100644 crates/celcpp-sys/vendor/common/values/null_value.cc create mode 100644 crates/celcpp-sys/vendor/common/values/null_value.h create mode 100644 crates/celcpp-sys/vendor/common/values/opaque_value.cc create mode 100644 crates/celcpp-sys/vendor/common/values/opaque_value.h create mode 100644 crates/celcpp-sys/vendor/common/values/optional_value.cc create mode 100644 crates/celcpp-sys/vendor/common/values/optional_value.h create mode 100644 crates/celcpp-sys/vendor/common/values/parsed_json_list_value.cc create mode 100644 crates/celcpp-sys/vendor/common/values/parsed_json_list_value.h create mode 100644 crates/celcpp-sys/vendor/common/values/parsed_json_map_value.cc create mode 100644 crates/celcpp-sys/vendor/common/values/parsed_json_map_value.h create mode 100644 crates/celcpp-sys/vendor/common/values/parsed_json_value.cc create mode 100644 crates/celcpp-sys/vendor/common/values/parsed_json_value.h create mode 100644 crates/celcpp-sys/vendor/common/values/parsed_map_field_value.cc create mode 100644 crates/celcpp-sys/vendor/common/values/parsed_map_field_value.h create mode 100644 crates/celcpp-sys/vendor/common/values/parsed_message_value.cc create mode 100644 crates/celcpp-sys/vendor/common/values/parsed_message_value.h create mode 100644 crates/celcpp-sys/vendor/common/values/parsed_repeated_field_value.cc create mode 100644 crates/celcpp-sys/vendor/common/values/parsed_repeated_field_value.h create mode 100644 crates/celcpp-sys/vendor/common/values/string_value.cc create mode 100644 crates/celcpp-sys/vendor/common/values/string_value.h create mode 100644 crates/celcpp-sys/vendor/common/values/struct_value.cc create mode 100644 crates/celcpp-sys/vendor/common/values/struct_value.h create mode 100644 crates/celcpp-sys/vendor/common/values/struct_value_builder.cc create mode 100644 crates/celcpp-sys/vendor/common/values/struct_value_builder.h create mode 100644 crates/celcpp-sys/vendor/common/values/struct_value_variant.h create mode 100644 crates/celcpp-sys/vendor/common/values/timestamp_value.cc create mode 100644 crates/celcpp-sys/vendor/common/values/timestamp_value.h create mode 100644 crates/celcpp-sys/vendor/common/values/type_value.cc create mode 100644 crates/celcpp-sys/vendor/common/values/type_value.h create mode 100644 crates/celcpp-sys/vendor/common/values/uint_value.cc create mode 100644 crates/celcpp-sys/vendor/common/values/uint_value.h create mode 100644 crates/celcpp-sys/vendor/common/values/unknown_value.cc create mode 100644 crates/celcpp-sys/vendor/common/values/unknown_value.h create mode 100644 crates/celcpp-sys/vendor/common/values/value_builder.cc create mode 100644 crates/celcpp-sys/vendor/common/values/value_builder.h create mode 100644 crates/celcpp-sys/vendor/common/values/value_variant.cc create mode 100644 crates/celcpp-sys/vendor/common/values/value_variant.h create mode 100644 crates/celcpp-sys/vendor/common/values/values.h create mode 100644 crates/celcpp-sys/vendor/compiler/compiler.h create mode 100644 crates/celcpp-sys/vendor/compiler/compiler_factory.h create mode 100644 crates/celcpp-sys/vendor/compiler/compiler_library_subset_factory.h create mode 100644 crates/celcpp-sys/vendor/compiler/optional.h create mode 100644 crates/celcpp-sys/vendor/compiler/standard_library.h create mode 100644 crates/celcpp-sys/vendor/conformance/service.h create mode 100644 crates/celcpp-sys/vendor/conformance/utils.h create mode 100644 crates/celcpp-sys/vendor/env/config.h create mode 100644 crates/celcpp-sys/vendor/env/env.h create mode 100644 crates/celcpp-sys/vendor/env/env_runtime.h create mode 100644 crates/celcpp-sys/vendor/env/env_std_extensions.h create mode 100644 crates/celcpp-sys/vendor/env/env_yaml.h create mode 100644 crates/celcpp-sys/vendor/env/internal/ext_registry.h create mode 100644 crates/celcpp-sys/vendor/env/internal/runtime_ext_registry.h create mode 100644 crates/celcpp-sys/vendor/env/runtime_std_extensions.h create mode 100644 crates/celcpp-sys/vendor/env/type_info.h create mode 100644 crates/celcpp-sys/vendor/eval/compiler/cel_expression_builder_flat_impl.cc create mode 100644 crates/celcpp-sys/vendor/eval/compiler/cel_expression_builder_flat_impl.h create mode 100644 crates/celcpp-sys/vendor/eval/compiler/check_ast_extensions.cc create mode 100644 crates/celcpp-sys/vendor/eval/compiler/check_ast_extensions.h create mode 100644 crates/celcpp-sys/vendor/eval/compiler/comprehension_vulnerability_check.cc create mode 100644 crates/celcpp-sys/vendor/eval/compiler/comprehension_vulnerability_check.h create mode 100644 crates/celcpp-sys/vendor/eval/compiler/constant_folding.cc create mode 100644 crates/celcpp-sys/vendor/eval/compiler/constant_folding.h create mode 100644 crates/celcpp-sys/vendor/eval/compiler/flat_expr_builder.cc create mode 100644 crates/celcpp-sys/vendor/eval/compiler/flat_expr_builder.h create mode 100644 crates/celcpp-sys/vendor/eval/compiler/flat_expr_builder_extensions.cc create mode 100644 crates/celcpp-sys/vendor/eval/compiler/flat_expr_builder_extensions.h create mode 100644 crates/celcpp-sys/vendor/eval/compiler/instrumentation.h create mode 100644 crates/celcpp-sys/vendor/eval/compiler/qualified_reference_resolver.cc create mode 100644 crates/celcpp-sys/vendor/eval/compiler/qualified_reference_resolver.h create mode 100644 crates/celcpp-sys/vendor/eval/compiler/regex_precompilation_optimization.cc create mode 100644 crates/celcpp-sys/vendor/eval/compiler/regex_precompilation_optimization.h create mode 100644 crates/celcpp-sys/vendor/eval/compiler/resolver.cc create mode 100644 crates/celcpp-sys/vendor/eval/compiler/resolver.h create mode 100644 crates/celcpp-sys/vendor/eval/eval/attribute_trail.cc create mode 100644 crates/celcpp-sys/vendor/eval/eval/attribute_trail.h create mode 100644 crates/celcpp-sys/vendor/eval/eval/attribute_utility.cc create mode 100644 crates/celcpp-sys/vendor/eval/eval/attribute_utility.h create mode 100644 crates/celcpp-sys/vendor/eval/eval/cel_expression_flat_impl.cc create mode 100644 crates/celcpp-sys/vendor/eval/eval/cel_expression_flat_impl.h create mode 100644 crates/celcpp-sys/vendor/eval/eval/compiler_constant_step.cc create mode 100644 crates/celcpp-sys/vendor/eval/eval/compiler_constant_step.h create mode 100644 crates/celcpp-sys/vendor/eval/eval/comprehension_slots.h create mode 100644 crates/celcpp-sys/vendor/eval/eval/comprehension_step.cc create mode 100644 crates/celcpp-sys/vendor/eval/eval/comprehension_step.h create mode 100644 crates/celcpp-sys/vendor/eval/eval/const_value_step.h create mode 100644 crates/celcpp-sys/vendor/eval/eval/container_access_step.cc create mode 100644 crates/celcpp-sys/vendor/eval/eval/container_access_step.h create mode 100644 crates/celcpp-sys/vendor/eval/eval/create_list_step.cc create mode 100644 crates/celcpp-sys/vendor/eval/eval/create_list_step.h create mode 100644 crates/celcpp-sys/vendor/eval/eval/create_map_step.cc create mode 100644 crates/celcpp-sys/vendor/eval/eval/create_map_step.h create mode 100644 crates/celcpp-sys/vendor/eval/eval/create_struct_step.cc create mode 100644 crates/celcpp-sys/vendor/eval/eval/create_struct_step.h create mode 100644 crates/celcpp-sys/vendor/eval/eval/direct_expression_step.cc create mode 100644 crates/celcpp-sys/vendor/eval/eval/direct_expression_step.h create mode 100644 crates/celcpp-sys/vendor/eval/eval/equality_steps.cc create mode 100644 crates/celcpp-sys/vendor/eval/eval/equality_steps.h create mode 100644 crates/celcpp-sys/vendor/eval/eval/evaluator_core.cc create mode 100644 crates/celcpp-sys/vendor/eval/eval/evaluator_core.h create mode 100644 crates/celcpp-sys/vendor/eval/eval/evaluator_stack.cc create mode 100644 crates/celcpp-sys/vendor/eval/eval/evaluator_stack.h create mode 100644 crates/celcpp-sys/vendor/eval/eval/expression_step_base.h create mode 100644 crates/celcpp-sys/vendor/eval/eval/function_step.cc create mode 100644 crates/celcpp-sys/vendor/eval/eval/function_step.h create mode 100644 crates/celcpp-sys/vendor/eval/eval/ident_step.cc create mode 100644 crates/celcpp-sys/vendor/eval/eval/ident_step.h create mode 100644 crates/celcpp-sys/vendor/eval/eval/iterator_stack.h create mode 100644 crates/celcpp-sys/vendor/eval/eval/jump_step.cc create mode 100644 crates/celcpp-sys/vendor/eval/eval/jump_step.h create mode 100644 crates/celcpp-sys/vendor/eval/eval/lazy_init_step.cc create mode 100644 crates/celcpp-sys/vendor/eval/eval/lazy_init_step.h create mode 100644 crates/celcpp-sys/vendor/eval/eval/logic_step.cc create mode 100644 crates/celcpp-sys/vendor/eval/eval/logic_step.h create mode 100644 crates/celcpp-sys/vendor/eval/eval/optional_or_step.cc create mode 100644 crates/celcpp-sys/vendor/eval/eval/optional_or_step.h create mode 100644 crates/celcpp-sys/vendor/eval/eval/regex_match_step.cc create mode 100644 crates/celcpp-sys/vendor/eval/eval/regex_match_step.h create mode 100644 crates/celcpp-sys/vendor/eval/eval/select_step.cc create mode 100644 crates/celcpp-sys/vendor/eval/eval/select_step.h create mode 100644 crates/celcpp-sys/vendor/eval/eval/shadowable_value_step.cc create mode 100644 crates/celcpp-sys/vendor/eval/eval/shadowable_value_step.h create mode 100644 crates/celcpp-sys/vendor/eval/eval/ternary_step.cc create mode 100644 crates/celcpp-sys/vendor/eval/eval/ternary_step.h create mode 100644 crates/celcpp-sys/vendor/eval/eval/trace_step.h create mode 100644 crates/celcpp-sys/vendor/eval/internal/adapter_activation_impl.cc create mode 100644 crates/celcpp-sys/vendor/eval/internal/adapter_activation_impl.h create mode 100644 crates/celcpp-sys/vendor/eval/internal/cel_value_equal.cc create mode 100644 crates/celcpp-sys/vendor/eval/internal/cel_value_equal.h create mode 100644 crates/celcpp-sys/vendor/eval/internal/errors.cc create mode 100644 crates/celcpp-sys/vendor/eval/internal/errors.h create mode 100644 crates/celcpp-sys/vendor/eval/internal/interop.h create mode 100644 crates/celcpp-sys/vendor/eval/public/activation.cc create mode 100644 crates/celcpp-sys/vendor/eval/public/activation.h create mode 100644 crates/celcpp-sys/vendor/eval/public/activation_bind_helper.h create mode 100644 crates/celcpp-sys/vendor/eval/public/ast_rewrite.h create mode 100644 crates/celcpp-sys/vendor/eval/public/ast_traverse.h create mode 100644 crates/celcpp-sys/vendor/eval/public/ast_visitor.h create mode 100644 crates/celcpp-sys/vendor/eval/public/ast_visitor_base.h create mode 100644 crates/celcpp-sys/vendor/eval/public/base_activation.h create mode 100644 crates/celcpp-sys/vendor/eval/public/builtin_func_registrar.cc create mode 100644 crates/celcpp-sys/vendor/eval/public/builtin_func_registrar.h create mode 100644 crates/celcpp-sys/vendor/eval/public/cel_attribute.cc create mode 100644 crates/celcpp-sys/vendor/eval/public/cel_attribute.h create mode 100644 crates/celcpp-sys/vendor/eval/public/cel_builtins.h create mode 100644 crates/celcpp-sys/vendor/eval/public/cel_expr_builder_factory.cc create mode 100644 crates/celcpp-sys/vendor/eval/public/cel_expr_builder_factory.h create mode 100644 crates/celcpp-sys/vendor/eval/public/cel_expression.h create mode 100644 crates/celcpp-sys/vendor/eval/public/cel_function.cc create mode 100644 crates/celcpp-sys/vendor/eval/public/cel_function.h create mode 100644 crates/celcpp-sys/vendor/eval/public/cel_function_adapter.h create mode 100644 crates/celcpp-sys/vendor/eval/public/cel_function_adapter_impl.h create mode 100644 crates/celcpp-sys/vendor/eval/public/cel_function_registry.cc create mode 100644 crates/celcpp-sys/vendor/eval/public/cel_function_registry.h create mode 100644 crates/celcpp-sys/vendor/eval/public/cel_number.cc create mode 100644 crates/celcpp-sys/vendor/eval/public/cel_number.h create mode 100644 crates/celcpp-sys/vendor/eval/public/cel_options.cc create mode 100644 crates/celcpp-sys/vendor/eval/public/cel_options.h create mode 100644 crates/celcpp-sys/vendor/eval/public/cel_type_registry.cc create mode 100644 crates/celcpp-sys/vendor/eval/public/cel_type_registry.h create mode 100644 crates/celcpp-sys/vendor/eval/public/cel_value.cc create mode 100644 crates/celcpp-sys/vendor/eval/public/cel_value.h create mode 100644 crates/celcpp-sys/vendor/eval/public/cel_value_internal.h create mode 100644 crates/celcpp-sys/vendor/eval/public/cel_value_producer.h create mode 100644 crates/celcpp-sys/vendor/eval/public/comparison_functions.h create mode 100644 crates/celcpp-sys/vendor/eval/public/container_function_registrar.h create mode 100644 crates/celcpp-sys/vendor/eval/public/containers/container_backed_list_impl.h create mode 100644 crates/celcpp-sys/vendor/eval/public/containers/container_backed_map_impl.cc create mode 100644 crates/celcpp-sys/vendor/eval/public/containers/container_backed_map_impl.h create mode 100644 crates/celcpp-sys/vendor/eval/public/containers/field_access.cc create mode 100644 crates/celcpp-sys/vendor/eval/public/containers/field_access.h create mode 100644 crates/celcpp-sys/vendor/eval/public/containers/field_backed_list_impl.h create mode 100644 crates/celcpp-sys/vendor/eval/public/containers/field_backed_map_impl.h create mode 100644 crates/celcpp-sys/vendor/eval/public/containers/internal_field_backed_list_impl.cc create mode 100644 crates/celcpp-sys/vendor/eval/public/containers/internal_field_backed_list_impl.h create mode 100644 crates/celcpp-sys/vendor/eval/public/containers/internal_field_backed_map_impl.cc create mode 100644 crates/celcpp-sys/vendor/eval/public/containers/internal_field_backed_map_impl.h create mode 100644 crates/celcpp-sys/vendor/eval/public/equality_function_registrar.h create mode 100644 crates/celcpp-sys/vendor/eval/public/extension_func_registrar.h create mode 100644 crates/celcpp-sys/vendor/eval/public/logical_function_registrar.h create mode 100644 crates/celcpp-sys/vendor/eval/public/message_wrapper.h create mode 100644 crates/celcpp-sys/vendor/eval/public/portable_cel_function_adapter.h create mode 100644 crates/celcpp-sys/vendor/eval/public/set_util.h create mode 100644 crates/celcpp-sys/vendor/eval/public/source_position.h create mode 100644 crates/celcpp-sys/vendor/eval/public/string_extension_func_registrar.cc create mode 100644 crates/celcpp-sys/vendor/eval/public/string_extension_func_registrar.h create mode 100644 crates/celcpp-sys/vendor/eval/public/structs/cel_proto_descriptor_pool_builder.h create mode 100644 crates/celcpp-sys/vendor/eval/public/structs/cel_proto_wrap_util.cc create mode 100644 crates/celcpp-sys/vendor/eval/public/structs/cel_proto_wrap_util.h create mode 100644 crates/celcpp-sys/vendor/eval/public/structs/cel_proto_wrapper.cc create mode 100644 crates/celcpp-sys/vendor/eval/public/structs/cel_proto_wrapper.h create mode 100644 crates/celcpp-sys/vendor/eval/public/structs/field_access_impl.cc create mode 100644 crates/celcpp-sys/vendor/eval/public/structs/field_access_impl.h create mode 100644 crates/celcpp-sys/vendor/eval/public/structs/legacy_type_adapter.h create mode 100644 crates/celcpp-sys/vendor/eval/public/structs/legacy_type_info_apis.h create mode 100644 crates/celcpp-sys/vendor/eval/public/structs/legacy_type_provider.cc create mode 100644 crates/celcpp-sys/vendor/eval/public/structs/legacy_type_provider.h create mode 100644 crates/celcpp-sys/vendor/eval/public/structs/proto_message_type_adapter.cc create mode 100644 crates/celcpp-sys/vendor/eval/public/structs/proto_message_type_adapter.h create mode 100644 crates/celcpp-sys/vendor/eval/public/structs/protobuf_descriptor_type_provider.cc create mode 100644 crates/celcpp-sys/vendor/eval/public/structs/protobuf_descriptor_type_provider.h create mode 100644 crates/celcpp-sys/vendor/eval/public/structs/protobuf_value_factory.h create mode 100644 crates/celcpp-sys/vendor/eval/public/structs/trivial_legacy_type_info.h create mode 100644 crates/celcpp-sys/vendor/eval/public/testing/matchers.h create mode 100644 crates/celcpp-sys/vendor/eval/public/transform_utility.h create mode 100644 crates/celcpp-sys/vendor/eval/public/unknown_attribute_set.h create mode 100644 crates/celcpp-sys/vendor/eval/public/unknown_function_result_set.cc create mode 100644 crates/celcpp-sys/vendor/eval/public/unknown_function_result_set.h create mode 100644 crates/celcpp-sys/vendor/eval/public/unknown_set.h create mode 100644 crates/celcpp-sys/vendor/eval/public/value_export_util.h create mode 100644 crates/celcpp-sys/vendor/eval/tests/mock_cel_expression.h create mode 100644 crates/celcpp-sys/vendor/extensions/bindings_ext.h create mode 100644 crates/celcpp-sys/vendor/extensions/comprehensions_v2.h create mode 100644 crates/celcpp-sys/vendor/extensions/comprehensions_v2_functions.h create mode 100644 crates/celcpp-sys/vendor/extensions/comprehensions_v2_macros.h create mode 100644 crates/celcpp-sys/vendor/extensions/encoders.h create mode 100644 crates/celcpp-sys/vendor/extensions/formatting.cc create mode 100644 crates/celcpp-sys/vendor/extensions/formatting.h create mode 100644 crates/celcpp-sys/vendor/extensions/lists_functions.h create mode 100644 crates/celcpp-sys/vendor/extensions/math_ext.h create mode 100644 crates/celcpp-sys/vendor/extensions/math_ext_decls.h create mode 100644 crates/celcpp-sys/vendor/extensions/math_ext_macros.h create mode 100644 crates/celcpp-sys/vendor/extensions/proto_ext.h create mode 100644 crates/celcpp-sys/vendor/extensions/protobuf/ast_converters.h create mode 100644 crates/celcpp-sys/vendor/extensions/protobuf/bind_proto_to_activation.h create mode 100644 crates/celcpp-sys/vendor/extensions/protobuf/enum_adapter.h create mode 100644 crates/celcpp-sys/vendor/extensions/protobuf/internal/map_reflection.cc create mode 100644 crates/celcpp-sys/vendor/extensions/protobuf/internal/map_reflection.h create mode 100644 crates/celcpp-sys/vendor/extensions/protobuf/internal/qualify.cc create mode 100644 crates/celcpp-sys/vendor/extensions/protobuf/internal/qualify.h create mode 100644 crates/celcpp-sys/vendor/extensions/protobuf/memory_manager.cc create mode 100644 crates/celcpp-sys/vendor/extensions/protobuf/memory_manager.h create mode 100644 crates/celcpp-sys/vendor/extensions/protobuf/runtime_adapter.h create mode 100644 crates/celcpp-sys/vendor/extensions/protobuf/value.h create mode 100644 crates/celcpp-sys/vendor/extensions/protobuf/value_testing.h create mode 100644 crates/celcpp-sys/vendor/extensions/regex_ext.h create mode 100644 crates/celcpp-sys/vendor/extensions/regex_functions.h create mode 100644 crates/celcpp-sys/vendor/extensions/select_optimization.cc create mode 100644 crates/celcpp-sys/vendor/extensions/select_optimization.h create mode 100644 crates/celcpp-sys/vendor/extensions/sets_functions.h create mode 100644 crates/celcpp-sys/vendor/extensions/strings.cc create mode 100644 crates/celcpp-sys/vendor/extensions/strings.h create mode 100644 crates/celcpp-sys/vendor/internal/align.h create mode 100644 crates/celcpp-sys/vendor/internal/benchmark.h create mode 100644 crates/celcpp-sys/vendor/internal/casts.h create mode 100644 crates/celcpp-sys/vendor/internal/empty_descriptor_set_embed.inc create mode 100644 crates/celcpp-sys/vendor/internal/empty_descriptors.cc create mode 100644 crates/celcpp-sys/vendor/internal/empty_descriptors.h create mode 100644 crates/celcpp-sys/vendor/internal/equals_text_proto.h create mode 100644 crates/celcpp-sys/vendor/internal/exceptions.h create mode 100644 crates/celcpp-sys/vendor/internal/json.cc create mode 100644 crates/celcpp-sys/vendor/internal/json.h create mode 100644 crates/celcpp-sys/vendor/internal/lexis.cc create mode 100644 crates/celcpp-sys/vendor/internal/lexis.h create mode 100644 crates/celcpp-sys/vendor/internal/manual.h create mode 100644 crates/celcpp-sys/vendor/internal/message_equality.cc create mode 100644 crates/celcpp-sys/vendor/internal/message_equality.h create mode 100644 crates/celcpp-sys/vendor/internal/message_type_name.h create mode 100644 crates/celcpp-sys/vendor/internal/minimal_descriptor_database.h create mode 100644 crates/celcpp-sys/vendor/internal/minimal_descriptor_pool.h create mode 100644 crates/celcpp-sys/vendor/internal/names.h create mode 100644 crates/celcpp-sys/vendor/internal/new.cc create mode 100644 crates/celcpp-sys/vendor/internal/new.h create mode 100644 crates/celcpp-sys/vendor/internal/noop_delete.h create mode 100644 crates/celcpp-sys/vendor/internal/number.h create mode 100644 crates/celcpp-sys/vendor/internal/overflow.cc create mode 100644 crates/celcpp-sys/vendor/internal/overflow.h create mode 100644 crates/celcpp-sys/vendor/internal/parse_text_proto.h create mode 100644 crates/celcpp-sys/vendor/internal/proto_file_util.h create mode 100644 crates/celcpp-sys/vendor/internal/proto_matchers.h create mode 100644 crates/celcpp-sys/vendor/internal/proto_time_encoding.cc create mode 100644 crates/celcpp-sys/vendor/internal/proto_time_encoding.h create mode 100644 crates/celcpp-sys/vendor/internal/proto_util.h create mode 100644 crates/celcpp-sys/vendor/internal/protobuf_runtime_version.h create mode 100644 crates/celcpp-sys/vendor/internal/re2_options.h create mode 100644 crates/celcpp-sys/vendor/internal/status_builder.h create mode 100644 crates/celcpp-sys/vendor/internal/status_macros.h create mode 100644 crates/celcpp-sys/vendor/internal/string_pool.cc create mode 100644 crates/celcpp-sys/vendor/internal/string_pool.h create mode 100644 crates/celcpp-sys/vendor/internal/strings.cc create mode 100644 crates/celcpp-sys/vendor/internal/strings.h create mode 100644 crates/celcpp-sys/vendor/internal/testing.h create mode 100644 crates/celcpp-sys/vendor/internal/testing_descriptor_pool.h create mode 100644 crates/celcpp-sys/vendor/internal/testing_message_factory.h create mode 100644 crates/celcpp-sys/vendor/internal/time.cc create mode 100644 crates/celcpp-sys/vendor/internal/time.h create mode 100644 crates/celcpp-sys/vendor/internal/to_address.h create mode 100644 crates/celcpp-sys/vendor/internal/unicode.h create mode 100644 crates/celcpp-sys/vendor/internal/utf8.cc create mode 100644 crates/celcpp-sys/vendor/internal/utf8.h create mode 100644 crates/celcpp-sys/vendor/internal/well_known_types.cc create mode 100644 crates/celcpp-sys/vendor/internal/well_known_types.h create mode 100644 crates/celcpp-sys/vendor/parser/internal/CelBaseVisitor.cpp create mode 100644 crates/celcpp-sys/vendor/parser/internal/CelBaseVisitor.h create mode 100644 crates/celcpp-sys/vendor/parser/internal/CelLexer.cpp create mode 100644 crates/celcpp-sys/vendor/parser/internal/CelLexer.h create mode 100644 crates/celcpp-sys/vendor/parser/internal/CelParser.cpp create mode 100644 crates/celcpp-sys/vendor/parser/internal/CelParser.h create mode 100644 crates/celcpp-sys/vendor/parser/internal/CelVisitor.cpp create mode 100644 crates/celcpp-sys/vendor/parser/internal/CelVisitor.h create mode 100644 crates/celcpp-sys/vendor/parser/internal/cel_grammar/external/cel-cpp+/parser/internal/CelBaseVisitor.h create mode 100644 crates/celcpp-sys/vendor/parser/internal/cel_grammar/external/cel-cpp+/parser/internal/CelLexer.h create mode 100644 crates/celcpp-sys/vendor/parser/internal/cel_grammar/external/cel-cpp+/parser/internal/CelParser.h create mode 100644 crates/celcpp-sys/vendor/parser/internal/cel_grammar/external/cel-cpp+/parser/internal/CelVisitor.h create mode 100644 crates/celcpp-sys/vendor/parser/internal/options.h create mode 100644 crates/celcpp-sys/vendor/parser/macro.cc create mode 100644 crates/celcpp-sys/vendor/parser/macro.h create mode 100644 crates/celcpp-sys/vendor/parser/macro_expr_factory.cc create mode 100644 crates/celcpp-sys/vendor/parser/macro_expr_factory.h create mode 100644 crates/celcpp-sys/vendor/parser/macro_registry.cc create mode 100644 crates/celcpp-sys/vendor/parser/macro_registry.h create mode 100644 crates/celcpp-sys/vendor/parser/options.h create mode 100644 crates/celcpp-sys/vendor/parser/parser.cc create mode 100644 crates/celcpp-sys/vendor/parser/parser.h create mode 100644 crates/celcpp-sys/vendor/parser/parser_interface.h create mode 100644 crates/celcpp-sys/vendor/parser/parser_subset_factory.h create mode 100644 crates/celcpp-sys/vendor/parser/source_factory.h create mode 100644 crates/celcpp-sys/vendor/parser/standard_macros.h create mode 100644 crates/celcpp-sys/vendor/runtime/activation.cc create mode 100644 crates/celcpp-sys/vendor/runtime/activation.h create mode 100644 crates/celcpp-sys/vendor/runtime/activation_interface.h create mode 100644 crates/celcpp-sys/vendor/runtime/comprehension_vulnerability_check.h create mode 100644 crates/celcpp-sys/vendor/runtime/constant_folding.h create mode 100644 crates/celcpp-sys/vendor/runtime/embedder_context.h create mode 100644 crates/celcpp-sys/vendor/runtime/function.h create mode 100644 crates/celcpp-sys/vendor/runtime/function_adapter.h create mode 100644 crates/celcpp-sys/vendor/runtime/function_overload_reference.h create mode 100644 crates/celcpp-sys/vendor/runtime/function_provider.h create mode 100644 crates/celcpp-sys/vendor/runtime/function_registry.cc create mode 100644 crates/celcpp-sys/vendor/runtime/function_registry.h create mode 100644 crates/celcpp-sys/vendor/runtime/internal/activation_attribute_matcher_access.cc create mode 100644 crates/celcpp-sys/vendor/runtime/internal/activation_attribute_matcher_access.h create mode 100644 crates/celcpp-sys/vendor/runtime/internal/attribute_matcher.h create mode 100644 crates/celcpp-sys/vendor/runtime/internal/convert_constant.cc create mode 100644 crates/celcpp-sys/vendor/runtime/internal/convert_constant.h create mode 100644 crates/celcpp-sys/vendor/runtime/internal/errors.cc create mode 100644 crates/celcpp-sys/vendor/runtime/internal/errors.h create mode 100644 crates/celcpp-sys/vendor/runtime/internal/function_adapter.h create mode 100644 crates/celcpp-sys/vendor/runtime/internal/issue_collector.h create mode 100644 crates/celcpp-sys/vendor/runtime/internal/legacy_runtime_type_provider.h create mode 100644 crates/celcpp-sys/vendor/runtime/internal/runtime_env.cc create mode 100644 crates/celcpp-sys/vendor/runtime/internal/runtime_env.h create mode 100644 crates/celcpp-sys/vendor/runtime/internal/runtime_env_testing.h create mode 100644 crates/celcpp-sys/vendor/runtime/internal/runtime_friend_access.h create mode 100644 crates/celcpp-sys/vendor/runtime/internal/runtime_impl.cc create mode 100644 crates/celcpp-sys/vendor/runtime/internal/runtime_impl.h create mode 100644 crates/celcpp-sys/vendor/runtime/internal/runtime_type_provider.cc create mode 100644 crates/celcpp-sys/vendor/runtime/internal/runtime_type_provider.h create mode 100644 crates/celcpp-sys/vendor/runtime/optional_types.h create mode 100644 crates/celcpp-sys/vendor/runtime/reference_resolver.h create mode 100644 crates/celcpp-sys/vendor/runtime/regex_precompilation.h create mode 100644 crates/celcpp-sys/vendor/runtime/register_function_helper.h create mode 100644 crates/celcpp-sys/vendor/runtime/runtime.h create mode 100644 crates/celcpp-sys/vendor/runtime/runtime_builder.h create mode 100644 crates/celcpp-sys/vendor/runtime/runtime_builder_factory.h create mode 100644 crates/celcpp-sys/vendor/runtime/runtime_issue.h create mode 100644 crates/celcpp-sys/vendor/runtime/runtime_options.h create mode 100644 crates/celcpp-sys/vendor/runtime/standard/arithmetic_functions.cc create mode 100644 crates/celcpp-sys/vendor/runtime/standard/arithmetic_functions.h create mode 100644 crates/celcpp-sys/vendor/runtime/standard/comparison_functions.cc create mode 100644 crates/celcpp-sys/vendor/runtime/standard/comparison_functions.h create mode 100644 crates/celcpp-sys/vendor/runtime/standard/container_functions.cc create mode 100644 crates/celcpp-sys/vendor/runtime/standard/container_functions.h create mode 100644 crates/celcpp-sys/vendor/runtime/standard/container_membership_functions.cc create mode 100644 crates/celcpp-sys/vendor/runtime/standard/container_membership_functions.h create mode 100644 crates/celcpp-sys/vendor/runtime/standard/equality_functions.cc create mode 100644 crates/celcpp-sys/vendor/runtime/standard/equality_functions.h create mode 100644 crates/celcpp-sys/vendor/runtime/standard/logical_functions.cc create mode 100644 crates/celcpp-sys/vendor/runtime/standard/logical_functions.h create mode 100644 crates/celcpp-sys/vendor/runtime/standard/regex_functions.cc create mode 100644 crates/celcpp-sys/vendor/runtime/standard/regex_functions.h create mode 100644 crates/celcpp-sys/vendor/runtime/standard/string_functions.cc create mode 100644 crates/celcpp-sys/vendor/runtime/standard/string_functions.h create mode 100644 crates/celcpp-sys/vendor/runtime/standard/time_functions.cc create mode 100644 crates/celcpp-sys/vendor/runtime/standard/time_functions.h create mode 100644 crates/celcpp-sys/vendor/runtime/standard/type_conversion_functions.cc create mode 100644 crates/celcpp-sys/vendor/runtime/standard/type_conversion_functions.h create mode 100644 crates/celcpp-sys/vendor/runtime/standard_functions.h create mode 100644 crates/celcpp-sys/vendor/runtime/standard_runtime_builder_factory.h create mode 100644 crates/celcpp-sys/vendor/runtime/type_registry.cc create mode 100644 crates/celcpp-sys/vendor/runtime/type_registry.h create mode 100644 crates/celcpp-sys/vendor/testing/testrunner/cel_expression_source.h create mode 100644 crates/celcpp-sys/vendor/testing/testrunner/cel_test_context.h create mode 100644 crates/celcpp-sys/vendor/testing/testrunner/cel_test_factories.h create mode 100644 crates/celcpp-sys/vendor/testing/testrunner/coverage_index.h create mode 100644 crates/celcpp-sys/vendor/testing/testrunner/coverage_reporting.h create mode 100644 crates/celcpp-sys/vendor/testing/testrunner/runner_lib.h create mode 100644 crates/celcpp-sys/vendor/testutil/baseline_tests.h create mode 100644 crates/celcpp-sys/vendor/testutil/expr_printer.h create mode 100644 crates/celcpp-sys/vendor/testutil/util.h create mode 100644 crates/celcpp-sys/vendor/tools/branch_coverage.h create mode 100644 crates/celcpp-sys/vendor/tools/cel_field_extractor.h create mode 100644 crates/celcpp-sys/vendor/tools/cel_unparser.h create mode 100644 crates/celcpp-sys/vendor/tools/descriptor_pool_builder.h create mode 100644 crates/celcpp-sys/vendor/tools/flatbuffers_backed_impl.h create mode 100644 crates/celcpp-sys/vendor/tools/navigable_ast.h create mode 100644 crates/celcpp-sys/vendor/validator/ast_depth_validator.h create mode 100644 crates/celcpp-sys/vendor/validator/comprehension_nesting_validator.h create mode 100644 crates/celcpp-sys/vendor/validator/homogeneous_literal_validator.h create mode 100644 crates/celcpp-sys/vendor/validator/regex_validator.h create mode 100644 crates/celcpp-sys/vendor/validator/timestamp_literal_validator.h create mode 100644 crates/celcpp-sys/vendor/validator/validator.cc create mode 100644 crates/celcpp-sys/vendor/validator/validator.h create mode 100644 crates/protobuf-sys/Cargo.toml create mode 100644 crates/protobuf-sys/build.rs create mode 100644 crates/protobuf-sys/filelist.txt create mode 100644 crates/protobuf-sys/src/lib.rs create mode 100644 crates/protobuf-sys/vendor/LICENSE create mode 100644 crates/protobuf-sys/vendor/conformance/binary_json_conformance_suite.h create mode 100644 crates/protobuf-sys/vendor/conformance/binary_wireformat.h create mode 100644 crates/protobuf-sys/vendor/conformance/conformance_test.h create mode 100644 crates/protobuf-sys/vendor/conformance/failure_list_trie_node.h create mode 100644 crates/protobuf-sys/vendor/conformance/fork_pipe_runner.h create mode 100644 crates/protobuf-sys/vendor/conformance/naming.h create mode 100644 crates/protobuf-sys/vendor/conformance/test_manager.h create mode 100644 crates/protobuf-sys/vendor/conformance/test_runner.h create mode 100644 crates/protobuf-sys/vendor/conformance/testee.h create mode 100644 crates/protobuf-sys/vendor/conformance/text_format_conformance_suite.h create mode 100644 crates/protobuf-sys/vendor/editions/edition_defaults_test_utils.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/any.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/any.pb.cc create mode 100644 crates/protobuf-sys/vendor/google/protobuf/any.pb.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/api.pb.cc create mode 100644 crates/protobuf-sys/vendor/google/protobuf/api.pb.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/arena.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/arena_align.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/arena_allocation_policy.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/arena_cleanup.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/arenastring.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/arenaz_sampler.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/compiler/importer.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/compiler/parser.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/cpp_edition_defaults.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/cpp_features.pb.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/descriptor.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/descriptor.pb.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/descriptor_database.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/descriptor_legacy.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/descriptor_lite.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/descriptor_visitor.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/duration.pb.cc create mode 100644 crates/protobuf-sys/vendor/google/protobuf/duration.pb.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/dynamic_message.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/empty.pb.cc create mode 100644 crates/protobuf-sys/vendor/google/protobuf/empty.pb.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/endian.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/explicitly_constructed.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/extension_set.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/extension_set_inl.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/feature_resolver.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/field_access_listener.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/field_mask.pb.cc create mode 100644 crates/protobuf-sys/vendor/google/protobuf/field_mask.pb.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/generated_enum_reflection.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/generated_enum_util.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/generated_message_bases.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/generated_message_reflection.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/generated_message_tctable_decl.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/generated_message_tctable_gen.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/generated_message_tctable_impl.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/generated_message_util.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/has_bits.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/implicit_weak_message.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/inlined_string_field.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/internal_feature_helper.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/internal_visibility.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/io/coded_stream.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/io/gzip_stream.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/io/io_win32.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/io/printer.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/io/strtod.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/io/tokenizer.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/io/zero_copy_sink.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/io/zero_copy_stream.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/io/zero_copy_stream_impl.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/io/zero_copy_stream_impl_lite.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/json/internal/descriptor_traits.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/json/internal/lexer.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/json/internal/message_path.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/json/internal/parser.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/json/internal/parser_traits.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/json/internal/unparser.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/json/internal/unparser_traits.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/json/internal/untyped_message.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/json/internal/writer.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/json/internal/zero_copy_buffered_stream.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/json/json.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/map.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/map_entry.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/map_field.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/map_field_lite.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/map_type_handler.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/message.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/message_lite.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/metadata.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/metadata_lite.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/micro_string.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/os_macros_restore.inc create mode 100644 crates/protobuf-sys/vendor/google/protobuf/os_macros_undef.inc create mode 100644 crates/protobuf-sys/vendor/google/protobuf/parse_context.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/port.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/port_def.inc create mode 100644 crates/protobuf-sys/vendor/google/protobuf/port_undef.inc create mode 100644 crates/protobuf-sys/vendor/google/protobuf/raw_ptr.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/reflection.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/reflection_internal.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/reflection_mode.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/reflection_ops.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/reflection_visit_field_info.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/reflection_visit_fields.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/repeated_field.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/repeated_ptr_field.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/runtime_version.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/serial_arena.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/service.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/source_context.pb.cc create mode 100644 crates/protobuf-sys/vendor/google/protobuf/source_context.pb.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/string_block.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/struct.pb.cc create mode 100644 crates/protobuf-sys/vendor/google/protobuf/struct.pb.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/stubs/callback.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/stubs/common.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/stubs/platform_macros.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/stubs/port.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/stubs/status_macros.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/text_format.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/thread_safe_arena.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/timestamp.pb.cc create mode 100644 crates/protobuf-sys/vendor/google/protobuf/timestamp.pb.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/type.pb.cc create mode 100644 crates/protobuf-sys/vendor/google/protobuf/type.pb.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/unknown_field_set.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/util/delimited_message_util.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/util/field_comparator.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/util/field_mask_util.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/util/internal_timeval.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/util/json_util.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/util/message_differencer.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/util/time_util.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/util/type_resolver.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/util/type_resolver_util.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/varint_shuffle.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/wire_format.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/wire_format_lite.h create mode 100644 crates/protobuf-sys/vendor/google/protobuf/wrappers.pb.cc create mode 100644 crates/protobuf-sys/vendor/google/protobuf/wrappers.pb.h create mode 100644 crates/protobuf-sys/vendor/hpb/arena.h create mode 100644 crates/protobuf-sys/vendor/hpb/backend/cpp/cpp.h create mode 100644 crates/protobuf-sys/vendor/hpb/backend/cpp/interop.h create mode 100644 crates/protobuf-sys/vendor/hpb/backend/types.h create mode 100644 crates/protobuf-sys/vendor/hpb/backend/upb/error.h create mode 100644 crates/protobuf-sys/vendor/hpb/backend/upb/extension.h create mode 100644 crates/protobuf-sys/vendor/hpb/backend/upb/interop.h create mode 100644 crates/protobuf-sys/vendor/hpb/backend/upb/repeated_field.h create mode 100644 crates/protobuf-sys/vendor/hpb/backend/upb/repeated_field_iterator.h create mode 100644 crates/protobuf-sys/vendor/hpb/backend/upb/upb.h create mode 100644 crates/protobuf-sys/vendor/hpb/extension.h create mode 100644 crates/protobuf-sys/vendor/hpb/hpb.h create mode 100644 crates/protobuf-sys/vendor/hpb/internal/internal.h create mode 100644 crates/protobuf-sys/vendor/hpb/internal/message_lock.h create mode 100644 crates/protobuf-sys/vendor/hpb/internal/os_macros_restore.inc create mode 100644 crates/protobuf-sys/vendor/hpb/internal/os_macros_undef.inc create mode 100644 crates/protobuf-sys/vendor/hpb/internal/template_help.h create mode 100644 crates/protobuf-sys/vendor/hpb/multibackend.h create mode 100644 crates/protobuf-sys/vendor/hpb/options.h create mode 100644 crates/protobuf-sys/vendor/hpb/ptr.h create mode 100644 crates/protobuf-sys/vendor/hpb/repeated_field.h create mode 100644 crates/protobuf-sys/vendor/hpb/requires.h create mode 100644 crates/protobuf-sys/vendor/hpb/status.h create mode 100644 crates/protobuf-sys/vendor/hpb_generator/context.h create mode 100644 crates/protobuf-sys/vendor/hpb_generator/gen_accessors.h create mode 100644 crates/protobuf-sys/vendor/hpb_generator/gen_enums.h create mode 100644 crates/protobuf-sys/vendor/hpb_generator/gen_extensions.h create mode 100644 crates/protobuf-sys/vendor/hpb_generator/gen_messages.h create mode 100644 crates/protobuf-sys/vendor/hpb_generator/gen_repeated_fields.h create mode 100644 crates/protobuf-sys/vendor/hpb_generator/gen_utils.h create mode 100644 crates/protobuf-sys/vendor/hpb_generator/generator.h create mode 100644 crates/protobuf-sys/vendor/hpb_generator/keywords.h create mode 100644 crates/protobuf-sys/vendor/hpb_generator/names.h create mode 100644 crates/protobuf-sys/vendor/lua/upb.h create mode 100644 crates/protobuf-sys/vendor/objectivec/GPBAny.pbobjc.h create mode 100644 crates/protobuf-sys/vendor/objectivec/GPBApi.pbobjc.h create mode 100644 crates/protobuf-sys/vendor/objectivec/GPBArray.h create mode 100644 crates/protobuf-sys/vendor/objectivec/GPBArray_PackagePrivate.h create mode 100644 crates/protobuf-sys/vendor/objectivec/GPBBootstrap.h create mode 100644 crates/protobuf-sys/vendor/objectivec/GPBCodedInputStream.h create mode 100644 crates/protobuf-sys/vendor/objectivec/GPBCodedInputStream_PackagePrivate.h create mode 100644 crates/protobuf-sys/vendor/objectivec/GPBCodedOutputStream.h create mode 100644 crates/protobuf-sys/vendor/objectivec/GPBCodedOutputStream_PackagePrivate.h create mode 100644 crates/protobuf-sys/vendor/objectivec/GPBDescriptor.h create mode 100644 crates/protobuf-sys/vendor/objectivec/GPBDescriptor_PackagePrivate.h create mode 100644 crates/protobuf-sys/vendor/objectivec/GPBDictionary.h create mode 100644 crates/protobuf-sys/vendor/objectivec/GPBDictionary_PackagePrivate.h create mode 100644 crates/protobuf-sys/vendor/objectivec/GPBDuration.pbobjc.h create mode 100644 crates/protobuf-sys/vendor/objectivec/GPBEmpty.pbobjc.h create mode 100644 crates/protobuf-sys/vendor/objectivec/GPBExtensionInternals.h create mode 100644 crates/protobuf-sys/vendor/objectivec/GPBExtensionRegistry.h create mode 100644 crates/protobuf-sys/vendor/objectivec/GPBFieldMask.pbobjc.h create mode 100644 crates/protobuf-sys/vendor/objectivec/GPBMessage.h create mode 100644 crates/protobuf-sys/vendor/objectivec/GPBMessage_PackagePrivate.h create mode 100644 crates/protobuf-sys/vendor/objectivec/GPBProtocolBuffers.h create mode 100644 crates/protobuf-sys/vendor/objectivec/GPBProtocolBuffers_RuntimeSupport.h create mode 100644 crates/protobuf-sys/vendor/objectivec/GPBRootObject.h create mode 100644 crates/protobuf-sys/vendor/objectivec/GPBRootObject_PackagePrivate.h create mode 100644 crates/protobuf-sys/vendor/objectivec/GPBRuntimeTypes.h create mode 100644 crates/protobuf-sys/vendor/objectivec/GPBSourceContext.pbobjc.h create mode 100644 crates/protobuf-sys/vendor/objectivec/GPBStruct.pbobjc.h create mode 100644 crates/protobuf-sys/vendor/objectivec/GPBTimestamp.pbobjc.h create mode 100644 crates/protobuf-sys/vendor/objectivec/GPBType.pbobjc.h create mode 100644 crates/protobuf-sys/vendor/objectivec/GPBUnknownField.h create mode 100644 crates/protobuf-sys/vendor/objectivec/GPBUnknownField_PackagePrivate.h create mode 100644 crates/protobuf-sys/vendor/objectivec/GPBUnknownFields.h create mode 100644 crates/protobuf-sys/vendor/objectivec/GPBUnknownFields_PackagePrivate.h create mode 100644 crates/protobuf-sys/vendor/objectivec/GPBUtilities.h create mode 100644 crates/protobuf-sys/vendor/objectivec/GPBUtilities_PackagePrivate.h create mode 100644 crates/protobuf-sys/vendor/objectivec/GPBWellKnownTypes.h create mode 100644 crates/protobuf-sys/vendor/objectivec/GPBWireFormat.h create mode 100644 crates/protobuf-sys/vendor/objectivec/GPBWrappers.pbobjc.h create mode 100644 crates/protobuf-sys/vendor/objectivec/Tests/GPBTestUtilities.h create mode 100644 crates/protobuf-sys/vendor/objectivec/Tests/UnitTests-Bridging-Header.h create mode 100644 crates/protobuf-sys/vendor/php/ext/google/protobuf/arena.h create mode 100644 crates/protobuf-sys/vendor/php/ext/google/protobuf/array.h create mode 100644 crates/protobuf-sys/vendor/php/ext/google/protobuf/convert.h create mode 100644 crates/protobuf-sys/vendor/php/ext/google/protobuf/def.h create mode 100644 crates/protobuf-sys/vendor/php/ext/google/protobuf/map.h create mode 100644 crates/protobuf-sys/vendor/php/ext/google/protobuf/message.h create mode 100644 crates/protobuf-sys/vendor/php/ext/google/protobuf/names.h create mode 100644 crates/protobuf-sys/vendor/php/ext/google/protobuf/php-upb.h create mode 100644 crates/protobuf-sys/vendor/php/ext/google/protobuf/php_protobuf.h create mode 100644 crates/protobuf-sys/vendor/php/ext/google/protobuf/print_options.h create mode 100644 crates/protobuf-sys/vendor/php/ext/google/protobuf/protobuf.h create mode 100644 crates/protobuf-sys/vendor/php/ext/google/protobuf/wkt.inc create mode 100644 crates/protobuf-sys/vendor/pkg/test/test_lib.h create mode 100644 crates/protobuf-sys/vendor/python/convert.h create mode 100644 crates/protobuf-sys/vendor/python/descriptor.h create mode 100644 crates/protobuf-sys/vendor/python/descriptor_containers.h create mode 100644 crates/protobuf-sys/vendor/python/descriptor_pool.h create mode 100644 crates/protobuf-sys/vendor/python/extension_dict.h create mode 100644 crates/protobuf-sys/vendor/python/google/protobuf/proto_api.h create mode 100644 crates/protobuf-sys/vendor/python/google/protobuf/pyext/descriptor.h create mode 100644 crates/protobuf-sys/vendor/python/google/protobuf/pyext/descriptor_containers.h create mode 100644 crates/protobuf-sys/vendor/python/google/protobuf/pyext/descriptor_database.h create mode 100644 crates/protobuf-sys/vendor/python/google/protobuf/pyext/descriptor_pool.h create mode 100644 crates/protobuf-sys/vendor/python/google/protobuf/pyext/extension_dict.h create mode 100644 crates/protobuf-sys/vendor/python/google/protobuf/pyext/field.h create mode 100644 crates/protobuf-sys/vendor/python/google/protobuf/pyext/map_container.h create mode 100644 crates/protobuf-sys/vendor/python/google/protobuf/pyext/message.h create mode 100644 crates/protobuf-sys/vendor/python/google/protobuf/pyext/message_factory.h create mode 100644 crates/protobuf-sys/vendor/python/google/protobuf/pyext/repeated_composite_container.h create mode 100644 crates/protobuf-sys/vendor/python/google/protobuf/pyext/repeated_scalar_container.h create mode 100644 crates/protobuf-sys/vendor/python/google/protobuf/pyext/safe_numerics.h create mode 100644 crates/protobuf-sys/vendor/python/google/protobuf/pyext/scoped_pyobject_ptr.h create mode 100644 crates/protobuf-sys/vendor/python/google/protobuf/pyext/unknown_field_set.h create mode 100644 crates/protobuf-sys/vendor/python/google/protobuf/python_protobuf.h create mode 100644 crates/protobuf-sys/vendor/python/map.h create mode 100644 crates/protobuf-sys/vendor/python/message.h create mode 100644 crates/protobuf-sys/vendor/python/protobuf.h create mode 100644 crates/protobuf-sys/vendor/python/python_api.h create mode 100644 crates/protobuf-sys/vendor/python/repeated.h create mode 100644 crates/protobuf-sys/vendor/python/unknown_fields.h create mode 100644 crates/protobuf-sys/vendor/ruby/ext/google/protobuf_c/convert.h create mode 100644 crates/protobuf-sys/vendor/ruby/ext/google/protobuf_c/defs.h create mode 100644 crates/protobuf-sys/vendor/ruby/ext/google/protobuf_c/map.h create mode 100644 crates/protobuf-sys/vendor/ruby/ext/google/protobuf_c/message.h create mode 100644 crates/protobuf-sys/vendor/ruby/ext/google/protobuf_c/protobuf.h create mode 100644 crates/protobuf-sys/vendor/ruby/ext/google/protobuf_c/repeated_field.h create mode 100644 crates/protobuf-sys/vendor/ruby/ext/google/protobuf_c/ruby-upb.h create mode 100644 crates/protobuf-sys/vendor/ruby/ext/google/protobuf_c/shared_convert.h create mode 100644 crates/protobuf-sys/vendor/ruby/ext/google/protobuf_c/shared_message.h create mode 100644 crates/protobuf-sys/vendor/rust/cpp_kernel/compare.h create mode 100644 crates/protobuf-sys/vendor/rust/cpp_kernel/debug.h create mode 100644 crates/protobuf-sys/vendor/rust/cpp_kernel/rust_alloc_for_cpp_api.h create mode 100644 crates/protobuf-sys/vendor/rust/cpp_kernel/serialized_data.h create mode 100644 crates/protobuf-sys/vendor/rust/cpp_kernel/strings.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/any.cc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/any.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/any.pb.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/any_lite.cc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/api.pb.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/arena.cc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/arena.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/arena_align.cc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/arena_align.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/arena_allocation_policy.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/arena_cleanup.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/arena_test_util.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/arenastring.cc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/arenastring.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/arenaz_sampler.cc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/arenaz_sampler.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/annotation_test_util.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/code_generator.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/code_generator_lite.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/command_line_interface.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/command_line_interface_tester.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/cpp/cpp_generator.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/cpp/enum.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/cpp/extension.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/cpp/field.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/cpp/field_chunk.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/cpp/field_generators/generators.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/cpp/file.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/cpp/generator.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/cpp/helpers.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/cpp/ifndef_guard.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/cpp/message.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/cpp/message_layout_helper.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/cpp/names.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/cpp/namespace_printer.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/cpp/options.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/cpp/padding_optimizer.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/cpp/parse_function_generator.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/cpp/service.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/cpp/tools/analyze_profile_proto.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/cpp/tracker.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/cpp/unittest.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/cpp/unittest.inc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/csharp/csharp_doc_comment.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/csharp/csharp_enum.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/csharp/csharp_enum_field.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/csharp/csharp_field_base.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/csharp/csharp_generator.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/csharp/csharp_helpers.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/csharp/csharp_map_field.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/csharp/csharp_message.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/csharp/csharp_message_field.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/csharp/csharp_options.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/csharp/csharp_primitive_field.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/csharp/csharp_reflection_class.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/csharp/csharp_repeated_enum_field.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/csharp/csharp_repeated_message_field.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/csharp/csharp_repeated_primitive_field.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/csharp/csharp_source_generator_base.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/csharp/csharp_wrapper_field.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/csharp/names.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/importer.cc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/importer.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/java/context.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/java/doc_comment.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/java/field_common.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/java/file.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/java/full/enum.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/java/full/enum_field.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/java/full/extension.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/java/full/field_generator.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/java/full/generator_factory.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/java/full/make_field_gens.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/java/full/map_field.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/java/full/message.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/java/full/message_builder.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/java/full/message_field.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/java/full/primitive_field.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/java/full/service.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/java/full/string_field.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/java/generator.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/java/generator_common.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/java/generator_factory.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/java/helpers.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/java/internal_helpers.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/java/java_features.pb.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/java/java_generator.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/java/lite/enum.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/java/lite/enum_field.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/java/lite/extension.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/java/lite/field_generator.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/java/lite/generator_factory.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/java/lite/make_field_gens.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/java/lite/map_field.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/java/lite/message.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/java/lite/message_builder.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/java/lite/message_field.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/java/lite/primitive_field.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/java/lite/string_field.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/java/message_serialization.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/java/name_resolver.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/java/names.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/java/names_internal.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/java/options.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/java/shared_code_generator.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/kotlin/field.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/kotlin/file.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/kotlin/generator.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/kotlin/message.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/mock_code_generator.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/notices.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/objectivec/enum.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/objectivec/enum_field.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/objectivec/extension.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/objectivec/field.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/objectivec/file.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/objectivec/generator.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/objectivec/helpers.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/objectivec/import_writer.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/objectivec/line_consumer.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/objectivec/map_field.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/objectivec/message.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/objectivec/message_field.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/objectivec/names.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/objectivec/nsobject_methods.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/objectivec/oneof.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/objectivec/options.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/objectivec/primitive_field.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/objectivec/tf_decode_data.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/package_info.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/parser.cc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/parser.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/php/names.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/php/php_generator.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/plugin.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/plugin.pb.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/python/generator.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/python/helpers.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/python/pyi_generator.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/python/python_generator.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/retention.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/ruby/ruby_generator.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/rust/accessors/accessor_case.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/rust/accessors/accessors.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/rust/accessors/default_value.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/rust/accessors/generator.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/rust/accessors/with_presence.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/rust/context.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/rust/crate_mapping.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/rust/enum.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/rust/generator.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/rust/message.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/rust/naming.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/rust/oneof.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/rust/relative_path.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/rust/rust_field_type.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/rust/rust_keywords.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/rust/upb_helpers.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/scc.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/subprocess.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/versions.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/compiler/zip_writer.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/cpp_edition_defaults.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/cpp_features.pb.cc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/cpp_features.pb.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/descriptor.cc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/descriptor.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/descriptor.pb.cc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/descriptor.pb.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/descriptor_database.cc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/descriptor_database.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/descriptor_legacy.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/descriptor_lite.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/descriptor_visitor.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/duration.pb.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/dynamic_message.cc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/dynamic_message.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/empty.pb.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/endian.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/explicitly_constructed.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/extension_set.cc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/extension_set.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/extension_set_heavy.cc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/extension_set_inl.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/feature_resolver.cc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/feature_resolver.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/field_access_listener.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/field_mask.pb.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/generated_enum_reflection.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/generated_enum_util.cc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/generated_enum_util.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/generated_message_bases.cc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/generated_message_bases.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/generated_message_reflection.cc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/generated_message_reflection.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/generated_message_tctable_decl.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/generated_message_tctable_full.cc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/generated_message_tctable_gen.cc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/generated_message_tctable_gen.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/generated_message_tctable_impl.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/generated_message_tctable_lite.cc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/generated_message_util.cc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/generated_message_util.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/has_bits.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/implicit_weak_message.cc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/implicit_weak_message.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/inlined_string_field.cc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/inlined_string_field.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/internal_feature_helper.cc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/internal_feature_helper.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/internal_visibility.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/internal_visibility_for_testing.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/io/coded_stream.cc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/io/coded_stream.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/io/gzip_stream.cc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/io/gzip_stream.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/io/io_win32.cc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/io/io_win32.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/io/package_info.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/io/printer.cc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/io/printer.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/io/strtod.cc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/io/strtod.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/io/test_zero_copy_stream.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/io/tokenizer.cc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/io/tokenizer.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/io/zero_copy_sink.cc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/io/zero_copy_sink.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/io/zero_copy_stream.cc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/io/zero_copy_stream.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/io/zero_copy_stream_impl.cc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/io/zero_copy_stream_impl.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/io/zero_copy_stream_impl_lite.cc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/io/zero_copy_stream_impl_lite.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/json/internal/descriptor_traits.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/json/internal/lexer.cc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/json/internal/lexer.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/json/internal/message_path.cc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/json/internal/message_path.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/json/internal/parser.cc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/json/internal/parser.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/json/internal/parser_traits.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/json/internal/unparser.cc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/json/internal/unparser.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/json/internal/unparser_traits.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/json/internal/untyped_message.cc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/json/internal/untyped_message.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/json/internal/writer.cc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/json/internal/writer.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/json/internal/zero_copy_buffered_stream.cc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/json/internal/zero_copy_buffered_stream.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/json/json.cc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/json/json.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/map.cc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/map.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/map_entry.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/map_field.cc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/map_field.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/map_field_lite.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/map_test.inc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/map_test_util.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/map_type_handler.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/message.cc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/message.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/message_lite.cc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/message_lite.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/message_unittest.inc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/message_unittest_legacy_apis.inc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/metadata.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/metadata_lite.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/micro_string.cc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/micro_string.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/os_macros_restore.inc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/os_macros_undef.inc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/package_info.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/parse_context.cc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/parse_context.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/port.cc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/port.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/port_def.inc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/port_undef.inc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/proto3_lite_unittest.inc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/raw_ptr.cc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/raw_ptr.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/reflection.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/reflection_internal.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/reflection_mode.cc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/reflection_mode.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/reflection_ops.cc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/reflection_ops.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/reflection_tester.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/reflection_visit_field_info.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/reflection_visit_fields.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/repeated_field.cc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/repeated_field.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/repeated_field_reflection_unittest.inc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/repeated_ptr_field.cc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/repeated_ptr_field.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/runtime_version.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/serial_arena.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/service.cc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/service.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/source_context.pb.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/string_block.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/string_member_robber.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/struct.pb.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/stubs/callback.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/stubs/common.cc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/stubs/common.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/stubs/platform_macros.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/stubs/port.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/stubs/status_macros.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/test_textproto.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/test_util.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/test_util2.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/test_util_lite.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/testing/file.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/testing/googletest.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/text_format.cc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/text_format.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/thread_safe_arena.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/timestamp.pb.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/type.pb.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/unknown_field_set.cc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/unknown_field_set.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/unredacted_debug_format_for_test.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/util/delimited_message_util.cc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/util/delimited_message_util.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/util/field_comparator.cc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/util/field_comparator.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/util/field_mask_util.cc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/util/field_mask_util.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/util/internal_timeval.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/util/json_util.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/util/message_differencer.cc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/util/message_differencer.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/util/package_info.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/util/python/field_mask_util_clif_aux.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/util/time_util.cc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/util/time_util.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/util/type_resolver.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/util/type_resolver_util.cc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/util/type_resolver_util.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/varint_shuffle.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/wire_format.cc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/wire_format.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/wire_format_lite.cc create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/wire_format_lite.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/wire_format_unittest.h create mode 100644 crates/protobuf-sys/vendor/src/google/protobuf/wrappers.pb.h create mode 100644 crates/protobuf-sys/vendor/third_party/utf8_range/utf8_range.c create mode 100644 crates/protobuf-sys/vendor/third_party/utf8_range/utf8_range.h create mode 100644 crates/protobuf-sys/vendor/third_party/utf8_range/utf8_range_neon.inc create mode 100644 crates/protobuf-sys/vendor/third_party/utf8_range/utf8_range_sse.inc create mode 100644 crates/protobuf-sys/vendor/third_party/utf8_range/utf8_validity.h create mode 100644 crates/protobuf-sys/vendor/upb/base/descriptor_constants.h create mode 100644 crates/protobuf-sys/vendor/upb/base/internal/endian.h create mode 100644 crates/protobuf-sys/vendor/upb/base/internal/log2.h create mode 100644 crates/protobuf-sys/vendor/upb/base/status.h create mode 100644 crates/protobuf-sys/vendor/upb/base/status.hpp create mode 100644 crates/protobuf-sys/vendor/upb/base/string_view.h create mode 100644 crates/protobuf-sys/vendor/upb/base/upcast.h create mode 100644 crates/protobuf-sys/vendor/upb/generated_code_support.h create mode 100644 crates/protobuf-sys/vendor/upb/hash/common.h create mode 100644 crates/protobuf-sys/vendor/upb/hash/int_table.h create mode 100644 crates/protobuf-sys/vendor/upb/hash/str_table.h create mode 100644 crates/protobuf-sys/vendor/upb/io/chunked_input_stream.h create mode 100644 crates/protobuf-sys/vendor/upb/io/chunked_output_stream.h create mode 100644 crates/protobuf-sys/vendor/upb/io/string.h create mode 100644 crates/protobuf-sys/vendor/upb/io/tokenizer.h create mode 100644 crates/protobuf-sys/vendor/upb/io/zero_copy_input_stream.h create mode 100644 crates/protobuf-sys/vendor/upb/io/zero_copy_output_stream.h create mode 100644 crates/protobuf-sys/vendor/upb/json/decode.h create mode 100644 crates/protobuf-sys/vendor/upb/json/encode.h create mode 100644 crates/protobuf-sys/vendor/upb/lex/atoi.h create mode 100644 crates/protobuf-sys/vendor/upb/lex/round_trip.h create mode 100644 crates/protobuf-sys/vendor/upb/lex/strtod.h create mode 100644 crates/protobuf-sys/vendor/upb/lex/unicode.h create mode 100644 crates/protobuf-sys/vendor/upb/mem/alloc.h create mode 100644 crates/protobuf-sys/vendor/upb/mem/arena.h create mode 100644 crates/protobuf-sys/vendor/upb/mem/arena.hpp create mode 100644 crates/protobuf-sys/vendor/upb/mem/internal/arena.h create mode 100644 crates/protobuf-sys/vendor/upb/message/accessors.h create mode 100644 crates/protobuf-sys/vendor/upb/message/accessors.hpp create mode 100644 crates/protobuf-sys/vendor/upb/message/accessors_split64.h create mode 100644 crates/protobuf-sys/vendor/upb/message/array.h create mode 100644 crates/protobuf-sys/vendor/upb/message/compare.h create mode 100644 crates/protobuf-sys/vendor/upb/message/compat.h create mode 100644 crates/protobuf-sys/vendor/upb/message/copy.h create mode 100644 crates/protobuf-sys/vendor/upb/message/internal/accessors.h create mode 100644 crates/protobuf-sys/vendor/upb/message/internal/array.h create mode 100644 crates/protobuf-sys/vendor/upb/message/internal/compare_unknown.h create mode 100644 crates/protobuf-sys/vendor/upb/message/internal/extension.h create mode 100644 crates/protobuf-sys/vendor/upb/message/internal/iterator.h create mode 100644 crates/protobuf-sys/vendor/upb/message/internal/map.h create mode 100644 crates/protobuf-sys/vendor/upb/message/internal/map_entry.h create mode 100644 crates/protobuf-sys/vendor/upb/message/internal/map_sorter.h create mode 100644 crates/protobuf-sys/vendor/upb/message/internal/message.h create mode 100644 crates/protobuf-sys/vendor/upb/message/internal/tagged_ptr.h create mode 100644 crates/protobuf-sys/vendor/upb/message/internal/types.h create mode 100644 crates/protobuf-sys/vendor/upb/message/map.h create mode 100644 crates/protobuf-sys/vendor/upb/message/map_gencode_util.h create mode 100644 crates/protobuf-sys/vendor/upb/message/merge.h create mode 100644 crates/protobuf-sys/vendor/upb/message/message.h create mode 100644 crates/protobuf-sys/vendor/upb/message/promote.h create mode 100644 crates/protobuf-sys/vendor/upb/message/tagged_ptr.h create mode 100644 crates/protobuf-sys/vendor/upb/message/value.h create mode 100644 crates/protobuf-sys/vendor/upb/mini_descriptor/build_enum.h create mode 100644 crates/protobuf-sys/vendor/upb/mini_descriptor/decode.h create mode 100644 crates/protobuf-sys/vendor/upb/mini_descriptor/internal/base92.h create mode 100644 crates/protobuf-sys/vendor/upb/mini_descriptor/internal/decoder.h create mode 100644 crates/protobuf-sys/vendor/upb/mini_descriptor/internal/encode.h create mode 100644 crates/protobuf-sys/vendor/upb/mini_descriptor/internal/encode.hpp create mode 100644 crates/protobuf-sys/vendor/upb/mini_descriptor/internal/modifiers.h create mode 100644 crates/protobuf-sys/vendor/upb/mini_descriptor/internal/wire_constants.h create mode 100644 crates/protobuf-sys/vendor/upb/mini_descriptor/link.h create mode 100644 crates/protobuf-sys/vendor/upb/mini_table/compat.h create mode 100644 crates/protobuf-sys/vendor/upb/mini_table/enum.h create mode 100644 crates/protobuf-sys/vendor/upb/mini_table/extension.h create mode 100644 crates/protobuf-sys/vendor/upb/mini_table/extension_registry.h create mode 100644 crates/protobuf-sys/vendor/upb/mini_table/field.h create mode 100644 crates/protobuf-sys/vendor/upb/mini_table/file.h create mode 100644 crates/protobuf-sys/vendor/upb/mini_table/internal/enum.h create mode 100644 crates/protobuf-sys/vendor/upb/mini_table/internal/extension.h create mode 100644 crates/protobuf-sys/vendor/upb/mini_table/internal/field.h create mode 100644 crates/protobuf-sys/vendor/upb/mini_table/internal/file.h create mode 100644 crates/protobuf-sys/vendor/upb/mini_table/internal/message.h create mode 100644 crates/protobuf-sys/vendor/upb/mini_table/internal/size_log2.h create mode 100644 crates/protobuf-sys/vendor/upb/mini_table/internal/sub.h create mode 100644 crates/protobuf-sys/vendor/upb/mini_table/message.h create mode 100644 crates/protobuf-sys/vendor/upb/mini_table/sub.h create mode 100644 crates/protobuf-sys/vendor/upb/port/atomic.h create mode 100644 crates/protobuf-sys/vendor/upb/port/def.inc create mode 100644 crates/protobuf-sys/vendor/upb/port/sanitizers.h create mode 100644 crates/protobuf-sys/vendor/upb/port/undef.inc create mode 100644 crates/protobuf-sys/vendor/upb/port/vsnprintf_compat.h create mode 100644 crates/protobuf-sys/vendor/upb/reflection/cmake/google/protobuf/descriptor.upb.h create mode 100644 crates/protobuf-sys/vendor/upb/reflection/cmake/google/protobuf/descriptor.upb_minitable.h create mode 100644 crates/protobuf-sys/vendor/upb/reflection/common.h create mode 100644 crates/protobuf-sys/vendor/upb/reflection/def.h create mode 100644 crates/protobuf-sys/vendor/upb/reflection/def.hpp create mode 100644 crates/protobuf-sys/vendor/upb/reflection/def_pool.h create mode 100644 crates/protobuf-sys/vendor/upb/reflection/def_type.h create mode 100644 crates/protobuf-sys/vendor/upb/reflection/descriptor_bootstrap.h create mode 100644 crates/protobuf-sys/vendor/upb/reflection/enum_def.h create mode 100644 crates/protobuf-sys/vendor/upb/reflection/enum_reserved_range.h create mode 100644 crates/protobuf-sys/vendor/upb/reflection/enum_value_def.h create mode 100644 crates/protobuf-sys/vendor/upb/reflection/extension_range.h create mode 100644 crates/protobuf-sys/vendor/upb/reflection/field_def.h create mode 100644 crates/protobuf-sys/vendor/upb/reflection/file_def.h create mode 100644 crates/protobuf-sys/vendor/upb/reflection/internal/def_builder.h create mode 100644 crates/protobuf-sys/vendor/upb/reflection/internal/def_pool.h create mode 100644 crates/protobuf-sys/vendor/upb/reflection/internal/desc_state.h create mode 100644 crates/protobuf-sys/vendor/upb/reflection/internal/enum_def.h create mode 100644 crates/protobuf-sys/vendor/upb/reflection/internal/enum_reserved_range.h create mode 100644 crates/protobuf-sys/vendor/upb/reflection/internal/enum_value_def.h create mode 100644 crates/protobuf-sys/vendor/upb/reflection/internal/extension_range.h create mode 100644 crates/protobuf-sys/vendor/upb/reflection/internal/field_def.h create mode 100644 crates/protobuf-sys/vendor/upb/reflection/internal/file_def.h create mode 100644 crates/protobuf-sys/vendor/upb/reflection/internal/message_def.h create mode 100644 crates/protobuf-sys/vendor/upb/reflection/internal/message_reserved_range.h create mode 100644 crates/protobuf-sys/vendor/upb/reflection/internal/method_def.h create mode 100644 crates/protobuf-sys/vendor/upb/reflection/internal/oneof_def.h create mode 100644 crates/protobuf-sys/vendor/upb/reflection/internal/service_def.h create mode 100644 crates/protobuf-sys/vendor/upb/reflection/internal/strdup2.h create mode 100644 crates/protobuf-sys/vendor/upb/reflection/internal/upb_edition_defaults.h create mode 100644 crates/protobuf-sys/vendor/upb/reflection/message.h create mode 100644 crates/protobuf-sys/vendor/upb/reflection/message.hpp create mode 100644 crates/protobuf-sys/vendor/upb/reflection/message_def.h create mode 100644 crates/protobuf-sys/vendor/upb/reflection/message_reserved_range.h create mode 100644 crates/protobuf-sys/vendor/upb/reflection/method_def.h create mode 100644 crates/protobuf-sys/vendor/upb/reflection/oneof_def.h create mode 100644 crates/protobuf-sys/vendor/upb/reflection/service_def.h create mode 100644 crates/protobuf-sys/vendor/upb/reflection/stage0/google/protobuf/descriptor.upb.h create mode 100644 crates/protobuf-sys/vendor/upb/test/fuzz_util.h create mode 100644 crates/protobuf-sys/vendor/upb/test/parse_text_proto.h create mode 100644 crates/protobuf-sys/vendor/upb/text/debug_string.h create mode 100644 crates/protobuf-sys/vendor/upb/text/encode.h create mode 100644 crates/protobuf-sys/vendor/upb/text/internal/encode.h create mode 100644 crates/protobuf-sys/vendor/upb/text/options.h create mode 100644 crates/protobuf-sys/vendor/upb/util/def_to_proto.h create mode 100644 crates/protobuf-sys/vendor/upb/util/def_to_proto_test.h create mode 100644 crates/protobuf-sys/vendor/upb/util/required_fields.h create mode 100644 crates/protobuf-sys/vendor/upb/wire/byte_size.h create mode 100644 crates/protobuf-sys/vendor/upb/wire/decode.h create mode 100644 crates/protobuf-sys/vendor/upb/wire/decode_fast/cardinality.h create mode 100644 crates/protobuf-sys/vendor/upb/wire/decode_fast/combinations.h create mode 100644 crates/protobuf-sys/vendor/upb/wire/decode_fast/data.h create mode 100644 crates/protobuf-sys/vendor/upb/wire/decode_fast/dispatch.h create mode 100644 crates/protobuf-sys/vendor/upb/wire/decode_fast/field_parsers.h create mode 100644 crates/protobuf-sys/vendor/upb/wire/decode_fast/function_array.h create mode 100644 crates/protobuf-sys/vendor/upb/wire/decode_fast/select.h create mode 100644 crates/protobuf-sys/vendor/upb/wire/encode.h create mode 100644 crates/protobuf-sys/vendor/upb/wire/eps_copy_input_stream.h create mode 100644 crates/protobuf-sys/vendor/upb/wire/internal/constants.h create mode 100644 crates/protobuf-sys/vendor/upb/wire/internal/decoder.h create mode 100644 crates/protobuf-sys/vendor/upb/wire/internal/reader.h create mode 100644 crates/protobuf-sys/vendor/upb/wire/reader.h create mode 100644 crates/protobuf-sys/vendor/upb/wire/test_util/field_types.h create mode 100644 crates/protobuf-sys/vendor/upb/wire/test_util/make_mini_table.h create mode 100644 crates/protobuf-sys/vendor/upb/wire/test_util/wire_message.h create mode 100644 crates/protobuf-sys/vendor/upb/wire/types.h create mode 100644 crates/protobuf-sys/vendor/upb/wire/writer.h create mode 100644 crates/protobuf-sys/vendor/upb_generator/c/names.h create mode 100644 crates/protobuf-sys/vendor/upb_generator/c/names_internal.h create mode 100644 crates/protobuf-sys/vendor/upb_generator/cmake/google/protobuf/compiler/plugin.upb.h create mode 100644 crates/protobuf-sys/vendor/upb_generator/cmake/google/protobuf/compiler/plugin.upb_minitable.h create mode 100644 crates/protobuf-sys/vendor/upb_generator/common.h create mode 100644 crates/protobuf-sys/vendor/upb_generator/common/cpp_to_upb_def.h create mode 100644 crates/protobuf-sys/vendor/upb_generator/common/names.h create mode 100644 crates/protobuf-sys/vendor/upb_generator/file_layout.h create mode 100644 crates/protobuf-sys/vendor/upb_generator/minitable/generator.h create mode 100644 crates/protobuf-sys/vendor/upb_generator/minitable/names.h create mode 100644 crates/protobuf-sys/vendor/upb_generator/minitable/names_internal.h create mode 100644 crates/protobuf-sys/vendor/upb_generator/plugin.h create mode 100644 crates/protobuf-sys/vendor/upb_generator/plugin_bootstrap.h create mode 100644 crates/protobuf-sys/vendor/upb_generator/reflection/context.h create mode 100644 crates/protobuf-sys/vendor/upb_generator/reflection/header.h create mode 100644 crates/protobuf-sys/vendor/upb_generator/reflection/names.h create mode 100644 crates/protobuf-sys/vendor/upb_generator/reflection/source.h create mode 100644 crates/protobuf-sys/vendor/upb_generator/stage0/google/protobuf/compiler/plugin.upb.h create mode 100644 crates/protobuf-sys/vendor/utf8_range.h create mode 100644 crates/protobuf-sys/vendor/utf8_range_neon.inc create mode 100644 crates/protobuf-sys/vendor/utf8_range_sse.inc create mode 100644 crates/protobuf-sys/vendor/utf8_validity.h rename test/test_funcs.py => crates/protovalidate-sys/Cargo.toml (53%) create mode 100644 crates/protovalidate-sys/build.rs create mode 100644 crates/protovalidate-sys/filelist.txt create mode 100644 crates/protovalidate-sys/shim/pv_shim.cc create mode 100644 crates/protovalidate-sys/shim/pv_shim.h create mode 100644 crates/protovalidate-sys/src/lib.rs create mode 100644 crates/protovalidate-sys/vendor/LICENSE create mode 100644 crates/protovalidate-sys/vendor/buf/validate/conformance/runner.h create mode 100644 crates/protovalidate-sys/vendor/buf/validate/internal/cel_rules.h create mode 100644 crates/protovalidate-sys/vendor/buf/validate/internal/cel_validation_rules.cc create mode 100644 crates/protovalidate-sys/vendor/buf/validate/internal/cel_validation_rules.h create mode 100644 crates/protovalidate-sys/vendor/buf/validate/internal/extra_func.cc create mode 100644 crates/protovalidate-sys/vendor/buf/validate/internal/extra_func.h create mode 100644 crates/protovalidate-sys/vendor/buf/validate/internal/field_rules.cc create mode 100644 crates/protovalidate-sys/vendor/buf/validate/internal/field_rules.h create mode 100644 crates/protovalidate-sys/vendor/buf/validate/internal/lib/ipv4.cc create mode 100644 crates/protovalidate-sys/vendor/buf/validate/internal/lib/ipv4.h create mode 100644 crates/protovalidate-sys/vendor/buf/validate/internal/lib/ipv6.cc create mode 100644 crates/protovalidate-sys/vendor/buf/validate/internal/lib/ipv6.h create mode 100644 crates/protovalidate-sys/vendor/buf/validate/internal/lib/parser_common.h create mode 100644 crates/protovalidate-sys/vendor/buf/validate/internal/lib/uri.cc create mode 100644 crates/protovalidate-sys/vendor/buf/validate/internal/lib/uri.h create mode 100644 crates/protovalidate-sys/vendor/buf/validate/internal/message_factory.cc create mode 100644 crates/protovalidate-sys/vendor/buf/validate/internal/message_factory.h create mode 100644 crates/protovalidate-sys/vendor/buf/validate/internal/message_rules.cc create mode 100644 crates/protovalidate-sys/vendor/buf/validate/internal/message_rules.h create mode 100644 crates/protovalidate-sys/vendor/buf/validate/internal/proto_field.h create mode 100644 crates/protovalidate-sys/vendor/buf/validate/internal/rules.cc create mode 100644 crates/protovalidate-sys/vendor/buf/validate/internal/rules.h create mode 100644 crates/protovalidate-sys/vendor/buf/validate/internal/validation_rules.h create mode 100644 crates/protovalidate-sys/vendor/buf/validate/validate.pb.cc create mode 100644 crates/protovalidate-sys/vendor/buf/validate/validate.pb.h create mode 100644 crates/protovalidate-sys/vendor/buf/validate/validator.cc create mode 100644 crates/protovalidate-sys/vendor/buf/validate/validator.h create mode 100644 crates/protovalidate-sys/vendor/pv_extract/pv_shim.h create mode 100644 crates/re2-sys/Cargo.toml create mode 100644 crates/re2-sys/build.rs create mode 100644 crates/re2-sys/filelist.txt create mode 100644 crates/re2-sys/src/lib.rs create mode 100644 crates/re2-sys/vendor/LICENSE create mode 100644 crates/re2-sys/vendor/re2/bitmap256.cc create mode 100644 crates/re2-sys/vendor/re2/bitmap256.h create mode 100644 crates/re2-sys/vendor/re2/bitstate.cc create mode 100644 crates/re2-sys/vendor/re2/compile.cc create mode 100644 crates/re2-sys/vendor/re2/dfa.cc create mode 100644 crates/re2-sys/vendor/re2/filtered_re2.cc create mode 100644 crates/re2-sys/vendor/re2/filtered_re2.h create mode 100644 crates/re2-sys/vendor/re2/mimics_pcre.cc create mode 100644 crates/re2-sys/vendor/re2/nfa.cc create mode 100644 crates/re2-sys/vendor/re2/onepass.cc create mode 100644 crates/re2-sys/vendor/re2/parse.cc create mode 100644 crates/re2-sys/vendor/re2/perl_groups.cc create mode 100644 crates/re2-sys/vendor/re2/pod_array.h create mode 100644 crates/re2-sys/vendor/re2/prefilter.cc create mode 100644 crates/re2-sys/vendor/re2/prefilter.h create mode 100644 crates/re2-sys/vendor/re2/prefilter_tree.cc create mode 100644 crates/re2-sys/vendor/re2/prefilter_tree.h create mode 100644 crates/re2-sys/vendor/re2/prog.cc create mode 100644 crates/re2-sys/vendor/re2/prog.h create mode 100644 crates/re2-sys/vendor/re2/re2.cc create mode 100644 crates/re2-sys/vendor/re2/re2.h create mode 100644 crates/re2-sys/vendor/re2/regexp.cc create mode 100644 crates/re2-sys/vendor/re2/regexp.h create mode 100644 crates/re2-sys/vendor/re2/set.cc create mode 100644 crates/re2-sys/vendor/re2/set.h create mode 100644 crates/re2-sys/vendor/re2/simplify.cc create mode 100644 crates/re2-sys/vendor/re2/sparse_array.h create mode 100644 crates/re2-sys/vendor/re2/sparse_set.h create mode 100644 crates/re2-sys/vendor/re2/stringpiece.h create mode 100644 crates/re2-sys/vendor/re2/testing/exhaustive_tester.h create mode 100644 crates/re2-sys/vendor/re2/testing/regexp_generator.h create mode 100644 crates/re2-sys/vendor/re2/testing/string_generator.h create mode 100644 crates/re2-sys/vendor/re2/testing/tester.h create mode 100644 crates/re2-sys/vendor/re2/tostring.cc create mode 100644 crates/re2-sys/vendor/re2/unicode_casefold.cc create mode 100644 crates/re2-sys/vendor/re2/unicode_casefold.h create mode 100644 crates/re2-sys/vendor/re2/unicode_groups.cc create mode 100644 crates/re2-sys/vendor/re2/unicode_groups.h create mode 100644 crates/re2-sys/vendor/re2/walker-inl.h create mode 100644 crates/re2-sys/vendor/util/malloc_counter.h create mode 100644 crates/re2-sys/vendor/util/pcre.h create mode 100644 crates/re2-sys/vendor/util/rune.cc create mode 100644 crates/re2-sys/vendor/util/strutil.cc create mode 100644 crates/re2-sys/vendor/util/strutil.h create mode 100644 crates/re2-sys/vendor/util/utf.h delete mode 100644 protovalidate/_cel_field_presence.py delete mode 100644 protovalidate/_celexpr/_utils.py delete mode 100644 protovalidate/_celexpr/bridge.py delete mode 100644 protovalidate/_celexpr/extra_func.py delete mode 100644 protovalidate/_celexpr/rules.py delete mode 100644 protovalidate/_core.py create mode 100644 protovalidate/_errors.py delete mode 100644 protovalidate/_extra_func.py delete mode 100644 protovalidate/_funcs.py delete mode 100644 protovalidate/_legacy.py create mode 100644 protovalidate/_protovalidate.pyi delete mode 100644 protovalidate/_rules.py delete mode 100644 protovalidate/_string_format.py delete mode 100644 protovalidate/_validator.py create mode 100644 scripts/extract/versions.json create mode 100755 scripts/extract_native_sources.py create mode 100644 src/constants.rs create mode 100644 src/hints.rs create mode 100644 src/lib.rs create mode 100644 src/proto.rs create mode 100644 src/violation.rs create mode 100644 test/_models.py create mode 100644 test/test_concurrency.py delete mode 100644 test/test_format.py diff --git a/.cargo/config.toml b/.cargo/config.toml new file mode 100644 index 00000000..13803ddc --- /dev/null +++ b/.cargo/config.toml @@ -0,0 +1,5 @@ +# Ensure builds use the same value, in practice it seems generating stubs +# with maturin vs building the project either set or leave this unset and +# can cause build cache thrashing. +[env] +MACOSX_DEPLOYMENT_TARGET = "11.0" diff --git a/.gitattributes b/.gitattributes index f6a7e199..cb00edaf 100644 --- a/.gitattributes +++ b/.gitattributes @@ -3,3 +3,7 @@ test/gen/** linguist-generated=true proto/** linguist-vendored=true test/proto/buf/** linguist-vendored=true + +crates/**/vendor/** linguist-vendored=true linguist-generated=true +crates/*/filelist.txt linguist-generated=true +protovalidate/_protovalidate.pyi linguist-generated=true diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 82353292..b78eca24 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -22,6 +22,9 @@ cd protovalidate-py Next, install dependencies. You will need: * [uv](https://docs.astral.sh/uv/) +* [rust](https://rust-lang.org/tools/install/) +* A C++17 compiler. On macOS and Windows, rustup installation will ensure one is present, + most Linux systems will also have one, but otherwise use e.g., `apt install build-essential` Some tasks require additional non-Python tools: diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 6def40a5..6a7c145e 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -1,23 +1,26 @@ name: CI on: push: - branches: [main] - tags: ["v*"] + branches: + - main pull_request: - branches: [main] - schedule: - - cron: "15 22 * * *" + branches: + - "**" workflow_dispatch: {} # support manual runs permissions: contents: read jobs: ci: name: CI - runs-on: ubuntu-latest + runs-on: ${{ matrix.runner }} strategy: fail-fast: false matrix: - python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"] + runner: + - ubuntu-24.04 + - macos-15 + - windows-2025 + python-version: ["3.10", "3.11", "3.12", "3.13", "3.14", "3.14t"] resolution: ["highest", "lowest-direct"] env: # Shared env variables for all the tests @@ -29,6 +32,20 @@ jobs: go-version: stable # We use this to install certain tools defined in poe tasks cache-dependency-path: poe_tasks.toml + - uses: mozilla-actions/sccache-action@fc920bf0ec8de6ee65d409111f7ec508035751ba # v0.0.11 + - uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 + with: + path: .sccache + key: sccache-${{ runner.os }}-${{ runner.arch }}-${{ github.sha }} + restore-keys: sccache-${{ runner.os }}-${{ runner.arch }}- + - name: Enable sccache + shell: bash + run: | + echo "SCCACHE_DIR=${{ github.workspace }}/.sccache" >> $GITHUB_ENV + echo "SCCACHE_CACHE_SIZE=250M" >> $GITHUB_ENV + echo "RUSTC_WRAPPER=sccache" >> $GITHUB_ENV + - name: Setup rust + run: rustup update - uses: astral-sh/setup-uv@c771a70e6277c0a99b617c7a806ffedaca235ff9 # v9.0.0 with: python-version: ${{ matrix.python-version }} @@ -41,15 +58,37 @@ jobs: uv sync --no-dev uv run --no-dev --group dev-required pytest -k test_conformance + # Confirm the sdist can be built with a default CI environment. + sdist: + # Slow so skip on PR + if: github.event_name != 'pull_request' + runs-on: ${{ matrix.runner }} + strategy: + fail-fast: false + matrix: + runner: + - ubuntu-24.04 + - macos-15 + - macos-15-intel + - windows-2025 + - windows-11-arm + steps: + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + - uses: astral-sh/setup-uv@c771a70e6277c0a99b617c7a806ffedaca235ff9 # v9.0.0 + # uv build first generates the sdist and then builds a wheel from it isolated from the repo. + # So it is enough to verify the sdist is usable. + - run: uv build + lint: - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 + env: + # We don't need the built extension for linting + UV_NO_PROJECT: "true" + PROTOVALIDATE_SKIP_CPP: "true" steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - - uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7.0.0 - with: - go-version: stable - # We use this to install certain tools defined in poe tasks - cache-dependency-path: poe_tasks.toml + - name: Setup rust + run: rustup update - uses: astral-sh/setup-uv@c771a70e6277c0a99b617c7a806ffedaca235ff9 # v9.0.0 with: python-version: ${{ matrix.python-version }} diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index a17ceef5..a590ca91 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -1,53 +1,184 @@ -name: Upload PyPI Release - +name: Release on: - release: - types: [published] + push: + tags: + - "v*" + workflow_dispatch: + pull_request: + paths: + - .github/workflows/release.yaml + +permissions: + id-token: write + attestations: write + contents: write jobs: - build: - name: Build package - runs-on: ubuntu-latest - environment: - name: release + ext-linux: + runs-on: ${{ matrix.platform.runner }} + strategy: + matrix: + platform: + - runner: ubuntu-24.04 + target: x86_64 + - runner: ubuntu-24.04-arm + target: aarch64 + manylinux: + - auto + - musllinux_1_2 steps: - - name: Checkout source - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - with: - fetch-depth: 0 - - name: Set VERSION variable from tag - run: | - VERSION=${{github.head_ref}} - echo "VERSION=${VERSION##*/}" >> $GITHUB_ENV + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + + - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 + with: + python-version: 3.x + - uses: astral-sh/setup-uv@c771a70e6277c0a99b617c7a806ffedaca235ff9 # v9.0.0 - - name: Build release - run: | - uv build - - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 + + - uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 with: - name: package - path: dist/ + path: .sccache + key: sccache-${{ runner.os }}-${{ runner.arch }}-${{ matrix.manylinux }}-${{ github.sha }} + restore-keys: sccache-${{ runner.os }}-${{ runner.arch }}-${{ matrix.manylinux }}- + + - name: Build wheels + uses: PyO3/maturin-action@e83996d129638aa358a18fbd1dfb82f0b0fb5d3b # v1.51.0 + env: + RUSTC_WRAPPER: sccache + SCCACHE_DIR: ${{ github.workspace }}/.sccache + SCCACHE_CACHE_SIZE: 250M + with: + target: ${{ matrix.platform.target }} + args: --release --out dist -i 3.10 -i 3.14t + before-script-linux: uv tool install "sccache>=0.10.0" + manylinux: ${{ matrix.manylinux }} + + # The container runs as root and leaves .sccache unreadable when saving + - name: Fix sccache dir permissions + if: always() + run: test ! -d .sccache || sudo chmod -R a+rX .sccache + + - name: Upload wheels + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 + with: + name: wheels-linux-${{ matrix.platform.target }}-${{ matrix.manylinux }} + path: dist - publish: - name: Publish on PyPI - runs-on: ubuntu-latest - environment: - name: release - permissions: - # IMPORTANT: this permission is mandatory for Trusted Publishing - id-token: write - needs: build + ext-windows: + runs-on: ${{ matrix.platform.runner }} + strategy: + matrix: + platform: + - runner: windows-2025 + target: x86_64 + - runner: windows-11-arm + target: aarch64 steps: - - name: Checkout source - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + + - uses: astral-sh/setup-uv@c771a70e6277c0a99b617c7a806ffedaca235ff9 # v9.0.0 + + - uses: mozilla-actions/sccache-action@fc920bf0ec8de6ee65d409111f7ec508035751ba # v0.0.11 + + - uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 with: - fetch-depth: 0 + path: .sccache + key: sccache-${{ runner.os }}-${{ runner.arch }}-${{ github.sha }} + restore-keys: sccache-${{ runner.os }}-${{ runner.arch }}- - - name: Download built artifact - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 + - name: Build wheels + uses: PyO3/maturin-action@e83996d129638aa358a18fbd1dfb82f0b0fb5d3b # v1.51.0 + env: + RUSTC_WRAPPER: sccache + SCCACHE_DIR: ${{ github.workspace }}/.sccache + SCCACHE_CACHE_SIZE: 250M with: - name: package + args: --release --out dist -i 3.10 -i 3.14t --features pyo3/generate-import-lib + + - name: Upload wheels + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 + with: + name: wheels-windows-${{ matrix.platform.target }} path: dist - - name: Publish on PyPI - uses: pypa/gh-action-pypi-publish@dc37677b2e1c63e2034f94d8a5b11f265b73ba33 # release/v1 + ext-macos: + runs-on: ${{ matrix.platform.runner }} + strategy: + matrix: + platform: + - runner: macos-15 + target: aarch64 + - runner: macos-15-intel + target: x86_64 + steps: + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + + - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 + with: + python-version: | + 3.10 + 3.14t + + - uses: astral-sh/setup-uv@c771a70e6277c0a99b617c7a806ffedaca235ff9 # v9.0.0 + + - uses: mozilla-actions/sccache-action@fc920bf0ec8de6ee65d409111f7ec508035751ba # v0.0.11 + + - uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 + with: + path: .sccache + key: sccache-${{ runner.os }}-${{ runner.arch }}-${{ github.sha }} + restore-keys: sccache-${{ runner.os }}-${{ runner.arch }}- + + - name: Build wheels + uses: PyO3/maturin-action@e83996d129638aa358a18fbd1dfb82f0b0fb5d3b # v1.51.0 + env: + RUSTC_WRAPPER: sccache + SCCACHE_DIR: ${{ github.workspace }}/.sccache + SCCACHE_CACHE_SIZE: 250M + with: + target: ${{ matrix.platform.target }} + args: --release --out dist -i 3.10 -i 3.14t + + - name: Upload wheels + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 + with: + name: wheels-macos-${{ matrix.platform.target }} + path: dist + + ext-sdist: + runs-on: ubuntu-24.04 + steps: + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + + - name: Build sdist + uses: PyO3/maturin-action@e83996d129638aa358a18fbd1dfb82f0b0fb5d3b # v1.51.0 + with: + command: sdist + args: --out dist + + - name: Upload sdist + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 + with: + name: wheels-sdist + path: dist + + release: + runs-on: ubuntu-24.04 + environment: ${{ (github.event_name == 'workflow_dispatch' && 'pypi-test') || (github.event_name == 'push' && github.ref_type == 'tag' && 'pypi-release') || null }} + needs: + - ext-linux + - ext-windows + - ext-macos + - ext-sdist + steps: + - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 + with: + path: dist/ + merge-multiple: true + + - name: publish all packages + if: github.event_name != 'pull_request' + uses: pypa/gh-action-pypi-publish@dc37677b2e1c63e2034f94d8a5b11f265b73ba33 # v1.14.2 + with: + repository-url: ${{ github.event_name == 'workflow_dispatch' && 'https://test.pypi.org/legacy/' || null }} + skip-existing: true diff --git a/.gitignore b/.gitignore index 9063d9f0..3ba47625 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,9 @@ __pycache__ .envrc .benchmarks site + +*.so +target +dist +.tmp +.sccache diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 00000000..a6685546 --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,223 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "absl-sys" +version = "0.0.0" +dependencies = [ + "buildsupport", + "cc", +] + +[[package]] +name = "antlr4rt-sys" +version = "0.0.0" +dependencies = [ + "absl-sys", + "buildsupport", + "cc", +] + +[[package]] +name = "buildsupport" +version = "0.0.0" +dependencies = [ + "cc", +] + +[[package]] +name = "cc" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5add81bb678e6cb321aff7fa0dc7689ad82b112dbc032cea19f91d6b8e3582b9" +dependencies = [ + "find-msvc-tools", + "shlex", +] + +[[package]] +name = "celcpp-sys" +version = "0.0.0" +dependencies = [ + "absl-sys", + "antlr4rt-sys", + "buildsupport", + "cc", + "protobuf-sys", + "re2-sys", +] + +[[package]] +name = "find-msvc-tools" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582" + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "libc" +version = "0.2.189" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3eaf3ede3fee6db1a4c2ee091bf8a8b4dccdc6d17f656fb07896ee72867612f2" + +[[package]] +name = "once_cell" +version = "1.21.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50" + +[[package]] +name = "portable-atomic" +version = "1.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d20d5497ef88037a52ff98267d066e7f11fcc5e99bbfbd58a42336193aacec3" + +[[package]] +name = "proc-macro2" +version = "1.0.107" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "protobuf-sys" +version = "0.0.0" +dependencies = [ + "absl-sys", + "buildsupport", + "cc", +] + +[[package]] +name = "protovalidate" +version = "0.0.0" +dependencies = [ + "protovalidate-sys", + "pyo3", + "pyo3-build-config", +] + +[[package]] +name = "protovalidate-sys" +version = "0.0.0" +dependencies = [ + "absl-sys", + "antlr4rt-sys", + "buildsupport", + "cc", + "celcpp-sys", + "protobuf-sys", + "re2-sys", +] + +[[package]] +name = "pyo3" +version = "0.29.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc153f5fd745cc038b5eed86622125969f8a39834a57bc96beaaf2512b1da729" +dependencies = [ + "libc", + "once_cell", + "portable-atomic", + "pyo3-build-config", + "pyo3-ffi", + "pyo3-macros", +] + +[[package]] +name = "pyo3-build-config" +version = "0.29.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb77d9aa6d647507b55c69ee714d266d84c526c78ff0bc6dd8757f58591e64d1" +dependencies = [ + "target-lexicon", +] + +[[package]] +name = "pyo3-ffi" +version = "0.29.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3160087aa5733bce7d9a729f8c55f85a2a53b74742a09613178eeebff0722253" +dependencies = [ + "libc", + "pyo3-build-config", +] + +[[package]] +name = "pyo3-macros" +version = "0.29.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91f9d455db760a9a0b0ddeaac25f1390b8a36ba73dfbda9f127cac6fc340d4d5" +dependencies = [ + "proc-macro2", + "pyo3-macros-backend", + "quote", + "syn", +] + +[[package]] +name = "pyo3-macros-backend" +version = "0.29.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e343bcec300ff262f5806a33a4e51b6d097a8a46435f512fcb83e95592581625" +dependencies = [ + "heck", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "quote" +version = "1.0.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "re2-sys" +version = "0.0.0" +dependencies = [ + "absl-sys", + "buildsupport", + "cc", +] + +[[package]] +name = "shlex" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba" + +[[package]] +name = "syn" +version = "2.0.119" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "target-lexicon" +version = "0.13.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adb6935a6f5c20170eeceb1a3835a49e12e19d792f6dd344ccc76a985ca5a6ca" + +[[package]] +name = "unicode-ident" +version = "1.0.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 00000000..3018a48b --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,59 @@ +# Copyright (c) 2023-2026 Buf Technologies, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +[package] +name = "protovalidate" +version.workspace = true +edition.workspace = true +publish.workspace = true + +[workspace] +members = ["crates/*"] + +[workspace.package] +version = "0.0.0" +edition = "2024" +publish = false + +[workspace.dependencies] +absl-sys = { path = "crates/absl-sys" } +antlr4rt-sys = { path = "crates/antlr4rt-sys" } +buildsupport = { path = "crates/buildsupport" } +celcpp-sys = { path = "crates/celcpp-sys" } +protobuf-sys = { path = "crates/protobuf-sys" } +protovalidate-sys = { path = "crates/protovalidate-sys" } +re2-sys = { path = "crates/re2-sys" } + +cc = "1" + +[lib] +crate-type = ["cdylib"] +name = "protovalidate" + +[dependencies] +protovalidate-sys.workspace = true +pyo3 = { version = "0.29.1", features = ["experimental-inspect"] } + +[build-dependencies] +pyo3-build-config = { version = "0.29.1", features = ["resolve-config"] } + +# Negative priority lets individual lint entries below override the group. +[lints.clippy] +pedantic = { level = "warn", priority = -1 } + +[profile.release] +debug = 0 +strip = true +lto = true +codegen-units = 1 diff --git a/README.md b/README.md index 5c2bedaa..918b5986 100644 --- a/README.md +++ b/README.md @@ -51,6 +51,10 @@ To install the package, use `pip`: pip install protovalidate ``` +protovalidate is implemented as a Python native extension. We publish wheels for common platforms +and you will usually download a pre-built wheel. For others, ensure you have Rust and a C++ +compiler available, and it will be automatically built during installation. + ## Documentation Comprehensive documentation for Protovalidate is available at [protovalidate.com][protovalidate]. diff --git a/build.rs b/build.rs new file mode 100644 index 00000000..0475124b --- /dev/null +++ b/build.rs @@ -0,0 +1,3 @@ +fn main() { + pyo3_build_config::use_pyo3_cfgs(); +} diff --git a/protovalidate/_celexpr/__init__.py b/crates/absl-sys/Cargo.toml similarity index 70% rename from protovalidate/_celexpr/__init__.py rename to crates/absl-sys/Cargo.toml index 7d4fe781..f11203e5 100644 --- a/protovalidate/_celexpr/__init__.py +++ b/crates/absl-sys/Cargo.toml @@ -12,12 +12,15 @@ # See the License for the specific language governing permissions and # limitations under the License. -"""The cel-expr-python (cel-cpp) validation engine.""" +[package] +name = "absl-sys" +version.workspace = true +edition.workspace = true +links = "absl" +publish.workspace = true -from __future__ import annotations +[dependencies] -from .bridge import GoogleBridge -from .extra_func import make_extension -from .rules import RuleFactory - -__all__ = ["GoogleBridge", "RuleFactory", "make_extension"] +[build-dependencies] +buildsupport.workspace = true +cc.workspace = true diff --git a/crates/absl-sys/build.rs b/crates/absl-sys/build.rs new file mode 100644 index 00000000..41f5a76b --- /dev/null +++ b/crates/absl-sys/build.rs @@ -0,0 +1,12 @@ +fn main() { + let vendor = buildsupport::vendor_dir(); + let mut lib = buildsupport::CxxLib::new("absl"); + lib.include(&vendor) + .define("NOMINMAX", None) + .files_from_filelist(&vendor); + lib.compile(); + lib.export(); + if std::env::var("CARGO_CFG_TARGET_OS").as_deref() == Ok("macos") { + println!("cargo::rustc-link-lib=framework=CoreFoundation"); + } +} diff --git a/crates/absl-sys/filelist.txt b/crates/absl-sys/filelist.txt new file mode 100644 index 00000000..5fd3253c --- /dev/null +++ b/crates/absl-sys/filelist.txt @@ -0,0 +1,134 @@ +# Generated by scripts/extract_native_sources.py -- do not edit. +# Files the extension links. Paths are relative to this crate's vendor/ dir. +# A `windows:`/`linux:`/`macos:` prefix compiles a file on that OS only. +absl/base/casts.cc +absl/base/internal/cycleclock.cc +absl/base/internal/low_level_alloc.cc +absl/base/internal/raw_logging.cc +absl/base/internal/spinlock.cc +absl/base/internal/spinlock_wait.cc +absl/base/internal/strerror.cc +absl/base/internal/sysinfo.cc +absl/base/internal/thread_identity.cc +absl/base/internal/throw_delegate.cc +absl/base/internal/tracing.cc +absl/base/internal/unscaledcycleclock.cc +absl/base/log_severity.cc +absl/container/internal/hashtablez_sampler.cc +absl/container/internal/hashtablez_sampler_force_weak_definition.cc +absl/container/internal/raw_hash_set.cc +absl/crc/crc32c.cc +absl/crc/internal/cpu_detect.cc +absl/crc/internal/crc.cc +absl/crc/internal/crc_cord_state.cc +absl/crc/internal/crc_memcpy_fallback.cc +absl/crc/internal/crc_memcpy_x86_arm_combined.cc +absl/crc/internal/crc_non_temporal_memcpy.cc +absl/crc/internal/crc_x86_arm_combined.cc +absl/debugging/internal/address_is_readable.cc +absl/debugging/internal/borrowed_fixup_buffer.cc +absl/debugging/internal/decode_rust_punycode.cc +absl/debugging/internal/demangle.cc +absl/debugging/internal/demangle_rust.cc +absl/debugging/internal/elf_mem_image.cc +absl/debugging/internal/examine_stack.cc +absl/debugging/internal/utf8_for_code_point.cc +absl/debugging/internal/vdso_support.cc +absl/debugging/leak_check.cc +absl/debugging/stacktrace.cc +absl/debugging/symbolize.cc +absl/flags/commandlineflag.cc +absl/flags/internal/commandlineflag.cc +absl/flags/internal/flag.cc +absl/flags/internal/private_handle_accessor.cc +absl/flags/internal/program_name.cc +absl/flags/marshalling.cc +absl/flags/reflection.cc +absl/flags/usage_config.cc +absl/hash/internal/city.cc +absl/hash/internal/hash.cc +absl/log/die_if_null.cc +absl/log/globals.cc +absl/log/internal/check_op.cc +absl/log/internal/conditions.cc +absl/log/internal/fnmatch.cc +absl/log/internal/globals.cc +absl/log/internal/log_format.cc +absl/log/internal/log_message.cc +absl/log/internal/log_sink_set.cc +absl/log/internal/nullguard.cc +absl/log/internal/proto.cc +absl/log/internal/structured_proto.cc +absl/log/internal/vlog_config.cc +absl/log/log_entry.cc +absl/log/log_sink.cc +absl/numeric/int128.cc +absl/profiling/internal/exponential_biased.cc +absl/status/internal/status_internal.cc +absl/status/status.cc +absl/status/status_payload_printer.cc +absl/status/statusor.cc +absl/strings/ascii.cc +absl/strings/charconv.cc +absl/strings/cord.cc +absl/strings/cord_analysis.cc +absl/strings/escaping.cc +absl/strings/internal/charconv_bigint.cc +absl/strings/internal/charconv_parse.cc +absl/strings/internal/cord_internal.cc +absl/strings/internal/cord_rep_btree.cc +absl/strings/internal/cord_rep_btree_navigator.cc +absl/strings/internal/cord_rep_btree_reader.cc +absl/strings/internal/cord_rep_consume.cc +absl/strings/internal/cord_rep_crc.cc +absl/strings/internal/cordz_functions.cc +absl/strings/internal/cordz_handle.cc +absl/strings/internal/cordz_info.cc +absl/strings/internal/damerau_levenshtein_distance.cc +absl/strings/internal/escaping.cc +absl/strings/internal/memutil.cc +absl/strings/internal/ostringstream.cc +absl/strings/internal/str_format/arg.cc +absl/strings/internal/str_format/bind.cc +absl/strings/internal/str_format/extension.cc +absl/strings/internal/str_format/float_conversion.cc +absl/strings/internal/str_format/output.cc +absl/strings/internal/str_format/parser.cc +absl/strings/internal/stringify_sink.cc +absl/strings/internal/utf8.cc +absl/strings/match.cc +absl/strings/numbers.cc +absl/strings/str_cat.cc +absl/strings/str_replace.cc +absl/strings/str_split.cc +absl/strings/substitute.cc +absl/synchronization/barrier.cc +absl/synchronization/blocking_counter.cc +absl/synchronization/internal/create_thread_identity.cc +absl/synchronization/internal/futex_waiter.cc +absl/synchronization/internal/graphcycles.cc +absl/synchronization/internal/kernel_timeout.cc +absl/synchronization/internal/per_thread_sem.cc +absl/synchronization/internal/pthread_waiter.cc +absl/synchronization/internal/sem_waiter.cc +absl/synchronization/internal/stdcpp_waiter.cc +absl/synchronization/internal/waiter_base.cc +absl/synchronization/internal/win32_waiter.cc +absl/synchronization/mutex.cc +absl/synchronization/notification.cc +absl/time/civil_time.cc +absl/time/clock.cc +absl/time/duration.cc +absl/time/format.cc +absl/time/internal/cctz/src/civil_time_detail.cc +absl/time/internal/cctz/src/time_zone_fixed.cc +absl/time/internal/cctz/src/time_zone_format.cc +absl/time/internal/cctz/src/time_zone_if.cc +absl/time/internal/cctz/src/time_zone_impl.cc +absl/time/internal/cctz/src/time_zone_info.cc +absl/time/internal/cctz/src/time_zone_libc.cc +absl/time/internal/cctz/src/time_zone_lookup.cc +absl/time/internal/cctz/src/time_zone_posix.cc +absl/time/internal/cctz/src/zone_info_source.cc +absl/time/time.cc +windows:absl/time/internal/cctz/src/time_zone_name_win.cc diff --git a/crates/absl-sys/src/lib.rs b/crates/absl-sys/src/lib.rs new file mode 100644 index 00000000..eb03a13c --- /dev/null +++ b/crates/absl-sys/src/lib.rs @@ -0,0 +1 @@ +//! Vendored C++ sources compiled by this crate's build script; no Rust API. diff --git a/crates/absl-sys/vendor/AUTHORS b/crates/absl-sys/vendor/AUTHORS new file mode 100644 index 00000000..976d31de --- /dev/null +++ b/crates/absl-sys/vendor/AUTHORS @@ -0,0 +1,6 @@ +# This is the list of Abseil authors for copyright purposes. +# +# This does not necessarily list everyone who has contributed code, since in +# some cases, their employer may be the copyright holder. To see the full list +# of contributors, see the revision history in source control. +Google Inc. diff --git a/crates/absl-sys/vendor/LICENSE b/crates/absl-sys/vendor/LICENSE new file mode 100644 index 00000000..ccd61dcf --- /dev/null +++ b/crates/absl-sys/vendor/LICENSE @@ -0,0 +1,203 @@ + + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + diff --git a/crates/absl-sys/vendor/absl/algorithm/algorithm.h b/crates/absl-sys/vendor/absl/algorithm/algorithm.h new file mode 100644 index 00000000..48f59504 --- /dev/null +++ b/crates/absl-sys/vendor/absl/algorithm/algorithm.h @@ -0,0 +1,64 @@ +// Copyright 2017 The Abseil Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ----------------------------------------------------------------------------- +// File: algorithm.h +// ----------------------------------------------------------------------------- +// +// This header file contains Google extensions to the standard C++ +// header. + +#ifndef ABSL_ALGORITHM_ALGORITHM_H_ +#define ABSL_ALGORITHM_ALGORITHM_H_ + +#include +#include +#include + +#include "absl/base/config.h" + +namespace absl { +ABSL_NAMESPACE_BEGIN + +// equal() +// rotate() +// +// Historical note: Abseil once provided implementations of these algorithms +// prior to their adoption in C++14. New code should prefer to use the std +// variants. +// +// See the documentation for the STL header for more information: +// https://en.cppreference.com/w/cpp/header/algorithm +using std::equal; +using std::rotate; + +// linear_search() +// +// Performs a linear search for `value` using the iterator `first` up to +// but not including `last`, returning true if [`first`, `last`) contains an +// element equal to `value`. +// +// A linear search is of O(n) complexity which is guaranteed to make at most +// n = (`last` - `first`) comparisons. A linear search over short containers +// may be faster than a binary search, even when the container is sorted. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 bool linear_search( + InputIterator first, InputIterator last, const EqualityComparable& value) { + return std::find(first, last, value) != last; +} + +ABSL_NAMESPACE_END +} // namespace absl + +#endif // ABSL_ALGORITHM_ALGORITHM_H_ diff --git a/crates/absl-sys/vendor/absl/algorithm/container.h b/crates/absl-sys/vendor/absl/algorithm/container.h new file mode 100644 index 00000000..c0b8a10a --- /dev/null +++ b/crates/absl-sys/vendor/absl/algorithm/container.h @@ -0,0 +1,1864 @@ +// Copyright 2017 The Abseil Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ----------------------------------------------------------------------------- +// File: container.h +// ----------------------------------------------------------------------------- +// +// This header file provides Container-based versions of algorithmic functions +// within the C++ standard library. The following standard library sets of +// functions are covered within this file: +// +// * Algorithmic functions +// * Algorithmic functions +// * functions +// +// The standard library functions operate on iterator ranges; the functions +// within this API operate on containers, though many return iterator ranges. +// +// All functions within this API are named with a `c_` prefix. Calls such as +// `absl::c_xx(container, ...) are equivalent to std:: functions such as +// `std::xx(std::begin(cont), std::end(cont), ...)`. Functions that act on +// iterators but not conceptually on iterator ranges (e.g. `std::iter_swap`) +// have no equivalent here. +// +// For template parameter and variable naming, `C` indicates the container type +// to which the function is applied, `Pred` indicates the predicate object type +// to be used by the function and `T` indicates the applicable element type. + +#ifndef ABSL_ALGORITHM_CONTAINER_H_ +#define ABSL_ALGORITHM_CONTAINER_H_ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "absl/algorithm/algorithm.h" +#include "absl/base/config.h" +#include "absl/base/macros.h" +#include "absl/meta/type_traits.h" + +namespace absl { +ABSL_NAMESPACE_BEGIN +namespace container_algorithm_internal { + +// NOTE: it is important to defer to ADL lookup for building with C++ modules, +// especially for headers like which are not visible from this file +// but specialize std::begin and std::end. +using std::begin; +using std::end; + +// The type of the iterator given by begin(c) (possibly std::begin(c)). +// ContainerIter> gives vector::const_iterator, +// while ContainerIter> gives vector::iterator. +template +using ContainerIter = decltype(begin(std::declval())); + +// An MSVC bug involving template parameter substitution requires us to use +// decltype() here instead of just std::pair. +template +using ContainerIterPairType = decltype(std::make_pair( + std::declval>(), std::declval>())); + +template +using ContainerDifferenceType = decltype(std::distance( + std::declval>(), std::declval>())); + +template +using ContainerPointerType = + typename std::iterator_traits>::pointer; + +// container_algorithm_internal::c_begin and +// container_algorithm_internal::c_end are abbreviations for proper ADL +// lookup of std::begin and std::end, i.e. +// using std::begin; +// using std::end; +// std::foo(begin(c), end(c)); +// becomes +// std::foo(container_algorithm_internal::c_begin(c), +// container_algorithm_internal::c_end(c)); +// These are meant for internal use only. + +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX17 ContainerIter c_begin(C& c) { + return begin(c); +} + +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX17 ContainerIter c_end(C& c) { + return end(c); +} + +template +struct IsUnorderedContainer : std::false_type {}; + +template +struct IsUnorderedContainer< + std::unordered_map> : std::true_type {}; + +template +struct IsUnorderedContainer> + : std::true_type {}; + +} // namespace container_algorithm_internal + +// PUBLIC API + +//------------------------------------------------------------------------------ +// Abseil algorithm.h functions +//------------------------------------------------------------------------------ + +// c_linear_search() +// +// Container-based version of absl::linear_search() for performing a linear +// search within a container. +// +// For a generalization that uses a predicate, see absl::c_any_of(). +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 bool c_linear_search( + const C& c, EqualityComparable&& value) { + return absl::linear_search(container_algorithm_internal::c_begin(c), + container_algorithm_internal::c_end(c), + std::forward(value)); +} + +//------------------------------------------------------------------------------ +// algorithms +//------------------------------------------------------------------------------ + +// c_distance() +// +// Container-based version of the `std::distance()` function to +// return the number of elements within a container. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX17 + container_algorithm_internal::ContainerDifferenceType + c_distance(const C& c) { + return std::distance(container_algorithm_internal::c_begin(c), + container_algorithm_internal::c_end(c)); +} + +//------------------------------------------------------------------------------ +// Non-modifying sequence operations +//------------------------------------------------------------------------------ + +// c_all_of() +// +// Container-based version of the `std::all_of()` function to +// test if all elements within a container satisfy a condition. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 bool c_all_of(const C& c, Pred&& pred) { + return std::all_of(container_algorithm_internal::c_begin(c), + container_algorithm_internal::c_end(c), + std::forward(pred)); +} + +// c_any_of() +// +// Container-based version of the `std::any_of()` function to +// test if any element in a container fulfills a condition. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 bool c_any_of(const C& c, Pred&& pred) { + return std::any_of(container_algorithm_internal::c_begin(c), + container_algorithm_internal::c_end(c), + std::forward(pred)); +} + +// c_none_of() +// +// Container-based version of the `std::none_of()` function to +// test if no elements in a container fulfill a condition. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 bool c_none_of(const C& c, Pred&& pred) { + return std::none_of(container_algorithm_internal::c_begin(c), + container_algorithm_internal::c_end(c), + std::forward(pred)); +} + +// c_for_each() +// +// Container-based version of the `std::for_each()` function to +// apply a function to a container's elements. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 decay_t c_for_each(C&& c, + Function&& f) { + return std::for_each(container_algorithm_internal::c_begin(c), + container_algorithm_internal::c_end(c), + std::forward(f)); +} + +// c_find() +// +// Container-based version of the `std::find()` function to find +// the first element containing the passed value within a container value. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 + container_algorithm_internal::ContainerIter + c_find(C& c, T&& value) { + return std::find(container_algorithm_internal::c_begin(c), + container_algorithm_internal::c_end(c), + std::forward(value)); +} + +// c_contains() +// +// Container-based version of the `std::ranges::contains()` C++23 +// function to search a container for a value. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 bool c_contains(const Sequence& sequence, + T&& value) { + return absl::c_find(sequence, std::forward(value)) != + container_algorithm_internal::c_end(sequence); +} + +// c_find_if() +// +// Container-based version of the `std::find_if()` function to find +// the first element in a container matching the given condition. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 + container_algorithm_internal::ContainerIter + c_find_if(C& c, Pred&& pred) { + return std::find_if(container_algorithm_internal::c_begin(c), + container_algorithm_internal::c_end(c), + std::forward(pred)); +} + +// c_find_if_not() +// +// Container-based version of the `std::find_if_not()` function to +// find the first element in a container not matching the given condition. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 + container_algorithm_internal::ContainerIter + c_find_if_not(C& c, Pred&& pred) { + return std::find_if_not(container_algorithm_internal::c_begin(c), + container_algorithm_internal::c_end(c), + std::forward(pred)); +} + +// c_find_end() +// +// Container-based version of the `std::find_end()` function to +// find the last subsequence within a container. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 + container_algorithm_internal::ContainerIter + c_find_end(Sequence1& sequence, Sequence2& subsequence) { + return std::find_end(container_algorithm_internal::c_begin(sequence), + container_algorithm_internal::c_end(sequence), + container_algorithm_internal::c_begin(subsequence), + container_algorithm_internal::c_end(subsequence)); +} + +// Overload of c_find_end() for using a predicate evaluation other than `==` as +// the function's test condition. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 + container_algorithm_internal::ContainerIter + c_find_end(Sequence1& sequence, Sequence2& subsequence, + BinaryPredicate&& pred) { + return std::find_end(container_algorithm_internal::c_begin(sequence), + container_algorithm_internal::c_end(sequence), + container_algorithm_internal::c_begin(subsequence), + container_algorithm_internal::c_end(subsequence), + std::forward(pred)); +} + +// c_find_first_of() +// +// Container-based version of the `std::find_first_of()` function to +// find the first element within the container that is also within the options +// container. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 + container_algorithm_internal::ContainerIter + c_find_first_of(C1& container, const C2& options) { + return std::find_first_of(container_algorithm_internal::c_begin(container), + container_algorithm_internal::c_end(container), + container_algorithm_internal::c_begin(options), + container_algorithm_internal::c_end(options)); +} + +// Overload of c_find_first_of() for using a predicate evaluation other than +// `==` as the function's test condition. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 + container_algorithm_internal::ContainerIter + c_find_first_of(C1& container, const C2& options, BinaryPredicate&& pred) { + return std::find_first_of(container_algorithm_internal::c_begin(container), + container_algorithm_internal::c_end(container), + container_algorithm_internal::c_begin(options), + container_algorithm_internal::c_end(options), + std::forward(pred)); +} + +// c_adjacent_find() +// +// Container-based version of the `std::adjacent_find()` function to +// find equal adjacent elements within a container. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 + container_algorithm_internal::ContainerIter + c_adjacent_find(Sequence& sequence) { + return std::adjacent_find(container_algorithm_internal::c_begin(sequence), + container_algorithm_internal::c_end(sequence)); +} + +// Overload of c_adjacent_find() for using a predicate evaluation other than +// `==` as the function's test condition. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 + container_algorithm_internal::ContainerIter + c_adjacent_find(Sequence& sequence, BinaryPredicate&& pred) { + return std::adjacent_find(container_algorithm_internal::c_begin(sequence), + container_algorithm_internal::c_end(sequence), + std::forward(pred)); +} + +// c_count() +// +// Container-based version of the `std::count()` function to count +// values that match within a container. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 + container_algorithm_internal::ContainerDifferenceType + c_count(const C& c, T&& value) { + return std::count(container_algorithm_internal::c_begin(c), + container_algorithm_internal::c_end(c), + std::forward(value)); +} + +// c_count_if() +// +// Container-based version of the `std::count_if()` function to +// count values matching a condition within a container. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 + container_algorithm_internal::ContainerDifferenceType + c_count_if(const C& c, Pred&& pred) { + return std::count_if(container_algorithm_internal::c_begin(c), + container_algorithm_internal::c_end(c), + std::forward(pred)); +} + +// c_mismatch() +// +// Container-based version of the `std::mismatch()` function to +// return the first element where two ordered containers differ. Applies `==` to +// the first N elements of `c1` and `c2`, where N = min(size(c1), size(c2)). +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 + container_algorithm_internal::ContainerIterPairType + c_mismatch(C1& c1, C2& c2) { + return std::mismatch(container_algorithm_internal::c_begin(c1), + container_algorithm_internal::c_end(c1), + container_algorithm_internal::c_begin(c2), + container_algorithm_internal::c_end(c2)); +} + +// Overload of c_mismatch() for using a predicate evaluation other than `==` as +// the function's test condition. Applies `pred`to the first N elements of `c1` +// and `c2`, where N = min(size(c1), size(c2)). +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 + container_algorithm_internal::ContainerIterPairType + c_mismatch(C1& c1, C2& c2, BinaryPredicate pred) { + return std::mismatch(container_algorithm_internal::c_begin(c1), + container_algorithm_internal::c_end(c1), + container_algorithm_internal::c_begin(c2), + container_algorithm_internal::c_end(c2), pred); +} + +// c_equal() +// +// Container-based version of the `std::equal()` function to +// test whether two containers are equal. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 bool c_equal(const C1& c1, const C2& c2) { + return std::equal(container_algorithm_internal::c_begin(c1), + container_algorithm_internal::c_end(c1), + container_algorithm_internal::c_begin(c2), + container_algorithm_internal::c_end(c2)); +} + +// Overload of c_equal() for using a predicate evaluation other than `==` as +// the function's test condition. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 bool c_equal(const C1& c1, const C2& c2, + BinaryPredicate&& pred) { + return std::equal(container_algorithm_internal::c_begin(c1), + container_algorithm_internal::c_end(c1), + container_algorithm_internal::c_begin(c2), + container_algorithm_internal::c_end(c2), + std::forward(pred)); +} + +// c_is_permutation() +// +// Container-based version of the `std::is_permutation()` function +// to test whether a container is a permutation of another. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 bool c_is_permutation(const C1& c1, + const C2& c2) { + return std::is_permutation(container_algorithm_internal::c_begin(c1), + container_algorithm_internal::c_end(c1), + container_algorithm_internal::c_begin(c2), + container_algorithm_internal::c_end(c2)); +} + +// Overload of c_is_permutation() for using a predicate evaluation other than +// `==` as the function's test condition. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 bool c_is_permutation( + const C1& c1, const C2& c2, BinaryPredicate&& pred) { + return std::is_permutation(container_algorithm_internal::c_begin(c1), + container_algorithm_internal::c_end(c1), + container_algorithm_internal::c_begin(c2), + container_algorithm_internal::c_end(c2), + std::forward(pred)); +} + +// c_search() +// +// Container-based version of the `std::search()` function to search +// a container for a subsequence. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 + container_algorithm_internal::ContainerIter + c_search(Sequence1& sequence, Sequence2& subsequence) { + return std::search(container_algorithm_internal::c_begin(sequence), + container_algorithm_internal::c_end(sequence), + container_algorithm_internal::c_begin(subsequence), + container_algorithm_internal::c_end(subsequence)); +} + +// Overload of c_search() for using a predicate evaluation other than +// `==` as the function's test condition. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 + container_algorithm_internal::ContainerIter + c_search(Sequence1& sequence, Sequence2& subsequence, + BinaryPredicate&& pred) { + return std::search(container_algorithm_internal::c_begin(sequence), + container_algorithm_internal::c_end(sequence), + container_algorithm_internal::c_begin(subsequence), + container_algorithm_internal::c_end(subsequence), + std::forward(pred)); +} + +// c_contains_subrange() +// +// Container-based version of the `std::ranges::contains_subrange()` +// C++23 function to search a container for a subsequence. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 bool c_contains_subrange( + Sequence1& sequence, Sequence2& subsequence) { + return absl::c_search(sequence, subsequence) != + container_algorithm_internal::c_end(sequence); +} + +// Overload of c_contains_subrange() for using a predicate evaluation other than +// `==` as the function's test condition. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 bool c_contains_subrange( + Sequence1& sequence, Sequence2& subsequence, BinaryPredicate&& pred) { + return absl::c_search(sequence, subsequence, + std::forward(pred)) != + container_algorithm_internal::c_end(sequence); +} + +// c_search_n() +// +// Container-based version of the `std::search_n()` function to +// search a container for the first sequence of N elements. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 + container_algorithm_internal::ContainerIter + c_search_n(Sequence& sequence, Size count, T&& value) { + return std::search_n(container_algorithm_internal::c_begin(sequence), + container_algorithm_internal::c_end(sequence), count, + std::forward(value)); +} + +// Overload of c_search_n() for using a predicate evaluation other than +// `==` as the function's test condition. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 + container_algorithm_internal::ContainerIter + c_search_n(Sequence& sequence, Size count, T&& value, + BinaryPredicate&& pred) { + return std::search_n(container_algorithm_internal::c_begin(sequence), + container_algorithm_internal::c_end(sequence), count, + std::forward(value), + std::forward(pred)); +} + +//------------------------------------------------------------------------------ +// Modifying sequence operations +//------------------------------------------------------------------------------ + +// c_copy() +// +// Container-based version of the `std::copy()` function to copy a +// container's elements into an iterator. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 OutputIterator +c_copy(const InputSequence& input, OutputIterator output) { + return std::copy(container_algorithm_internal::c_begin(input), + container_algorithm_internal::c_end(input), output); +} + +// c_copy_n() +// +// Container-based version of the `std::copy_n()` function to copy a +// container's first N elements into an iterator. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 OutputIterator +c_copy_n(const C& input, Size n, OutputIterator output) { + return std::copy_n(container_algorithm_internal::c_begin(input), n, output); +} + +// c_copy_if() +// +// Container-based version of the `std::copy_if()` function to copy +// a container's elements satisfying some condition into an iterator. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 OutputIterator +c_copy_if(const InputSequence& input, OutputIterator output, Pred&& pred) { + return std::copy_if(container_algorithm_internal::c_begin(input), + container_algorithm_internal::c_end(input), output, + std::forward(pred)); +} + +// c_copy_backward() +// +// Container-based version of the `std::copy_backward()` function to +// copy a container's elements in reverse order into an iterator. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 BidirectionalIterator +c_copy_backward(const C& src, BidirectionalIterator dest) { + return std::copy_backward(container_algorithm_internal::c_begin(src), + container_algorithm_internal::c_end(src), dest); +} + +// c_move() +// +// Container-based version of the `std::move()` function to move +// a container's elements into an iterator. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 OutputIterator c_move(C&& src, + OutputIterator dest) { + return std::move(container_algorithm_internal::c_begin(src), + container_algorithm_internal::c_end(src), dest); +} + +// c_move_backward() +// +// Container-based version of the `std::move_backward()` function to +// move a container's elements into an iterator in reverse order. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 BidirectionalIterator +c_move_backward(C&& src, BidirectionalIterator dest) { + return std::move_backward(container_algorithm_internal::c_begin(src), + container_algorithm_internal::c_end(src), dest); +} + +// c_swap_ranges() +// +// Container-based version of the `std::swap_ranges()` function to +// swap a container's elements with another container's elements. Swaps the +// first N elements of `c1` and `c2`, where N = min(size(c1), size(c2)). +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 + container_algorithm_internal::ContainerIter + c_swap_ranges(C1& c1, C2& c2) { + auto first1 = container_algorithm_internal::c_begin(c1); + auto last1 = container_algorithm_internal::c_end(c1); + auto first2 = container_algorithm_internal::c_begin(c2); + auto last2 = container_algorithm_internal::c_end(c2); + + using std::swap; + for (; first1 != last1 && first2 != last2; ++first1, (void)++first2) { + swap(*first1, *first2); + } + return first2; +} + +// c_transform() +// +// Container-based version of the `std::transform()` function to +// transform a container's elements using the unary operation, storing the +// result in an iterator pointing to the last transformed element in the output +// range. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 OutputIterator c_transform( + const InputSequence& input, OutputIterator output, UnaryOp&& unary_op) { + return std::transform(container_algorithm_internal::c_begin(input), + container_algorithm_internal::c_end(input), output, + std::forward(unary_op)); +} + +// Overload of c_transform() for performing a transformation using a binary +// predicate. Applies `binary_op` to the first N elements of `c1` and `c2`, +// where N = min(size(c1), size(c2)). +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 OutputIterator +c_transform(const InputSequence1& input1, const InputSequence2& input2, + OutputIterator output, BinaryOp&& binary_op) { + auto first1 = container_algorithm_internal::c_begin(input1); + auto last1 = container_algorithm_internal::c_end(input1); + auto first2 = container_algorithm_internal::c_begin(input2); + auto last2 = container_algorithm_internal::c_end(input2); + for (; first1 != last1 && first2 != last2; + ++first1, (void)++first2, ++output) { + *output = binary_op(*first1, *first2); + } + + return output; +} + +// c_replace() +// +// Container-based version of the `std::replace()` function to +// replace a container's elements of some value with a new value. The container +// is modified in place. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 void c_replace(Sequence& sequence, + const T& old_value, + const T& new_value) { + std::replace(container_algorithm_internal::c_begin(sequence), + container_algorithm_internal::c_end(sequence), old_value, + new_value); +} + +// c_replace_if() +// +// Container-based version of the `std::replace_if()` function to +// replace a container's elements of some value with a new value based on some +// condition. The container is modified in place. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 void c_replace_if(C& c, Pred&& pred, + T&& new_value) { + std::replace_if(container_algorithm_internal::c_begin(c), + container_algorithm_internal::c_end(c), + std::forward(pred), std::forward(new_value)); +} + +// c_replace_copy() +// +// Container-based version of the `std::replace_copy()` function to +// replace a container's elements of some value with a new value and return the +// results within an iterator. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 OutputIterator c_replace_copy( + const C& c, OutputIterator result, T&& old_value, T&& new_value) { + return std::replace_copy(container_algorithm_internal::c_begin(c), + container_algorithm_internal::c_end(c), result, + std::forward(old_value), + std::forward(new_value)); +} + +// c_replace_copy_if() +// +// Container-based version of the `std::replace_copy_if()` function +// to replace a container's elements of some value with a new value based on +// some condition, and return the results within an iterator. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 OutputIterator c_replace_copy_if( + const C& c, OutputIterator result, Pred&& pred, const T& new_value) { + return std::replace_copy_if(container_algorithm_internal::c_begin(c), + container_algorithm_internal::c_end(c), result, + std::forward(pred), new_value); +} + +// c_fill() +// +// Container-based version of the `std::fill()` function to fill a +// container with some value. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 void c_fill(C& c, const T& value) { + std::fill(container_algorithm_internal::c_begin(c), + container_algorithm_internal::c_end(c), value); +} + +// c_fill_n() +// +// Container-based version of the `std::fill_n()` function to fill +// the first N elements in a container with some value. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 void c_fill_n(C& c, Size n, + const T& value) { + std::fill_n(container_algorithm_internal::c_begin(c), n, value); +} + +// c_generate() +// +// Container-based version of the `std::generate()` function to +// assign a container's elements to the values provided by the given generator. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 void c_generate(C& c, Generator&& gen) { + std::generate(container_algorithm_internal::c_begin(c), + container_algorithm_internal::c_end(c), + std::forward(gen)); +} + +// c_generate_n() +// +// Container-based version of the `std::generate_n()` function to +// assign a container's first N elements to the values provided by the given +// generator. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 + container_algorithm_internal::ContainerIter + c_generate_n(C& c, Size n, Generator&& gen) { + return std::generate_n(container_algorithm_internal::c_begin(c), n, + std::forward(gen)); +} + +// Note: `c_xx()` container versions for `remove()`, `remove_if()`, +// and `unique()` are omitted, because it's not clear whether or not such +// functions should call erase on their supplied sequences afterwards. Either +// behavior would be surprising for a different set of users. + +// c_remove_copy() +// +// Container-based version of the `std::remove_copy()` function to +// copy a container's elements while removing any elements matching the given +// `value`. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 OutputIterator +c_remove_copy(const C& c, OutputIterator result, const T& value) { + return std::remove_copy(container_algorithm_internal::c_begin(c), + container_algorithm_internal::c_end(c), result, + value); +} + +// c_remove_copy_if() +// +// Container-based version of the `std::remove_copy_if()` function +// to copy a container's elements while removing any elements matching the given +// condition. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 OutputIterator +c_remove_copy_if(const C& c, OutputIterator result, Pred&& pred) { + return std::remove_copy_if(container_algorithm_internal::c_begin(c), + container_algorithm_internal::c_end(c), result, + std::forward(pred)); +} + +// c_unique_copy() +// +// Container-based version of the `std::unique_copy()` function to +// copy a container's elements while removing any elements containing duplicate +// values. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 OutputIterator +c_unique_copy(const C& c, OutputIterator result) { + return std::unique_copy(container_algorithm_internal::c_begin(c), + container_algorithm_internal::c_end(c), result); +} + +// Overload of c_unique_copy() for using a predicate evaluation other than +// `==` for comparing uniqueness of the element values. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 OutputIterator +c_unique_copy(const C& c, OutputIterator result, BinaryPredicate&& pred) { + return std::unique_copy(container_algorithm_internal::c_begin(c), + container_algorithm_internal::c_end(c), result, + std::forward(pred)); +} + +// c_reverse() +// +// Container-based version of the `std::reverse()` function to +// reverse a container's elements. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 void c_reverse(Sequence& sequence) { + std::reverse(container_algorithm_internal::c_begin(sequence), + container_algorithm_internal::c_end(sequence)); +} + +// c_reverse_copy() +// +// Container-based version of the `std::reverse()` function to +// reverse a container's elements and write them to an iterator range. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 OutputIterator +c_reverse_copy(const C& sequence, OutputIterator result) { + return std::reverse_copy(container_algorithm_internal::c_begin(sequence), + container_algorithm_internal::c_end(sequence), + result); +} + +// c_rotate() +// +// Container-based version of the `std::rotate()` function to +// shift a container's elements leftward such that the `middle` element becomes +// the first element in the container. +template > +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 Iterator c_rotate(C& sequence, + Iterator middle) { + return absl::rotate(container_algorithm_internal::c_begin(sequence), middle, + container_algorithm_internal::c_end(sequence)); +} + +// c_rotate_copy() +// +// Container-based version of the `std::rotate_copy()` function to +// shift a container's elements leftward such that the `middle` element becomes +// the first element in a new iterator range. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 OutputIterator +c_rotate_copy(const C& sequence, + container_algorithm_internal::ContainerIter middle, + OutputIterator result) { + return std::rotate_copy(container_algorithm_internal::c_begin(sequence), + middle, container_algorithm_internal::c_end(sequence), + result); +} + +// c_shuffle() +// +// Container-based version of the `std::shuffle()` function to +// randomly shuffle elements within the container using a `gen()` uniform random +// number generator. +template +void c_shuffle(RandomAccessContainer& c, UniformRandomBitGenerator&& gen) { + std::shuffle(container_algorithm_internal::c_begin(c), + container_algorithm_internal::c_end(c), + std::forward(gen)); +} + +// c_sample() +// +// Container-based version of the `std::sample()` function to +// randomly sample elements from the container without replacement using a +// `gen()` uniform random number generator and write them to an iterator range. +template +OutputIterator c_sample(const C& c, OutputIterator result, Distance n, + UniformRandomBitGenerator&& gen) { + return std::sample(container_algorithm_internal::c_begin(c), + container_algorithm_internal::c_end(c), result, n, + std::forward(gen)); +} + +//------------------------------------------------------------------------------ +// Partition functions +//------------------------------------------------------------------------------ + +// c_is_partitioned() +// +// Container-based version of the `std::is_partitioned()` function +// to test whether all elements in the container for which `pred` returns `true` +// precede those for which `pred` is `false`. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 bool c_is_partitioned(const C& c, + Pred&& pred) { + return std::is_partitioned(container_algorithm_internal::c_begin(c), + container_algorithm_internal::c_end(c), + std::forward(pred)); +} + +// c_partition() +// +// Container-based version of the `std::partition()` function +// to rearrange all elements in a container in such a way that all elements for +// which `pred` returns `true` precede all those for which it returns `false`, +// returning an iterator to the first element of the second group. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 + container_algorithm_internal::ContainerIter + c_partition(C& c, Pred&& pred) { + return std::partition(container_algorithm_internal::c_begin(c), + container_algorithm_internal::c_end(c), + std::forward(pred)); +} + +// c_stable_partition() +// +// Container-based version of the `std::stable_partition()` function +// to rearrange all elements in a container in such a way that all elements for +// which `pred` returns `true` precede all those for which it returns `false`, +// preserving the relative ordering between the two groups. The function returns +// an iterator to the first element of the second group. +template +container_algorithm_internal::ContainerIter c_stable_partition(C& c, + Pred&& pred) { + return std::stable_partition(container_algorithm_internal::c_begin(c), + container_algorithm_internal::c_end(c), + std::forward(pred)); +} + +// c_partition_copy() +// +// Container-based version of the `std::partition_copy()` function +// to partition a container's elements and return them into two iterators: one +// for which `pred` returns `true`, and one for which `pred` returns `false.` + +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 std::pair +c_partition_copy(const C& c, OutputIterator1 out_true, + OutputIterator2 out_false, Pred&& pred) { + return std::partition_copy(container_algorithm_internal::c_begin(c), + container_algorithm_internal::c_end(c), out_true, + out_false, std::forward(pred)); +} + +// c_partition_point() +// +// Container-based version of the `std::partition_point()` function +// to return the first element of an already partitioned container for which +// the given `pred` is not `true`. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 + container_algorithm_internal::ContainerIter + c_partition_point(C& c, Pred&& pred) { + return std::partition_point(container_algorithm_internal::c_begin(c), + container_algorithm_internal::c_end(c), + std::forward(pred)); +} + +//------------------------------------------------------------------------------ +// Sorting functions +//------------------------------------------------------------------------------ + +// c_sort() +// +// Container-based version of the `std::sort()` function +// to sort elements in ascending order of their values. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 void c_sort(C& c) { + std::sort(container_algorithm_internal::c_begin(c), + container_algorithm_internal::c_end(c)); +} + +// Overload of c_sort() for performing a `comp` comparison other than the +// default `operator<`. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 void c_sort(C& c, LessThan&& comp) { + std::sort(container_algorithm_internal::c_begin(c), + container_algorithm_internal::c_end(c), + std::forward(comp)); +} + +// c_stable_sort() +// +// Container-based version of the `std::stable_sort()` function +// to sort elements in ascending order of their values, preserving the order +// of equivalents. +template +void c_stable_sort(C& c) { + std::stable_sort(container_algorithm_internal::c_begin(c), + container_algorithm_internal::c_end(c)); +} + +// Overload of c_stable_sort() for performing a `comp` comparison other than the +// default `operator<`. +template +void c_stable_sort(C& c, LessThan&& comp) { + std::stable_sort(container_algorithm_internal::c_begin(c), + container_algorithm_internal::c_end(c), + std::forward(comp)); +} + +// c_is_sorted() +// +// Container-based version of the `std::is_sorted()` function +// to evaluate whether the given container is sorted in ascending order. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 bool c_is_sorted(const C& c) { + return std::is_sorted(container_algorithm_internal::c_begin(c), + container_algorithm_internal::c_end(c)); +} + +// c_is_sorted() overload for performing a `comp` comparison other than the +// default `operator<`. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 bool c_is_sorted(const C& c, + LessThan&& comp) { + return std::is_sorted(container_algorithm_internal::c_begin(c), + container_algorithm_internal::c_end(c), + std::forward(comp)); +} + +// c_partial_sort() +// +// Container-based version of the `std::partial_sort()` function +// to rearrange elements within a container such that elements before `middle` +// are sorted in ascending order. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 void c_partial_sort( + RandomAccessContainer& sequence, + container_algorithm_internal::ContainerIter middle) { + std::partial_sort(container_algorithm_internal::c_begin(sequence), middle, + container_algorithm_internal::c_end(sequence)); +} + +// Overload of c_partial_sort() for performing a `comp` comparison other than +// the default `operator<`. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 void c_partial_sort( + RandomAccessContainer& sequence, + container_algorithm_internal::ContainerIter middle, + LessThan&& comp) { + std::partial_sort(container_algorithm_internal::c_begin(sequence), middle, + container_algorithm_internal::c_end(sequence), + std::forward(comp)); +} + +// c_partial_sort_copy() +// +// Container-based version of the `std::partial_sort_copy()` +// function to sort the elements in the given range `result` within the larger +// `sequence` in ascending order (and using `result` as the output parameter). +// At most min(result.last - result.first, sequence.last - sequence.first) +// elements from the sequence will be stored in the result. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 + container_algorithm_internal::ContainerIter + c_partial_sort_copy(const C& sequence, RandomAccessContainer& result) { + return std::partial_sort_copy(container_algorithm_internal::c_begin(sequence), + container_algorithm_internal::c_end(sequence), + container_algorithm_internal::c_begin(result), + container_algorithm_internal::c_end(result)); +} + +// Overload of c_partial_sort_copy() for performing a `comp` comparison other +// than the default `operator<`. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 + container_algorithm_internal::ContainerIter + c_partial_sort_copy(const C& sequence, RandomAccessContainer& result, + LessThan&& comp) { + return std::partial_sort_copy(container_algorithm_internal::c_begin(sequence), + container_algorithm_internal::c_end(sequence), + container_algorithm_internal::c_begin(result), + container_algorithm_internal::c_end(result), + std::forward(comp)); +} + +// c_is_sorted_until() +// +// Container-based version of the `std::is_sorted_until()` function +// to return the first element within a container that is not sorted in +// ascending order as an iterator. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 + container_algorithm_internal::ContainerIter + c_is_sorted_until(C& c) { + return std::is_sorted_until(container_algorithm_internal::c_begin(c), + container_algorithm_internal::c_end(c)); +} + +// Overload of c_is_sorted_until() for performing a `comp` comparison other than +// the default `operator<`. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 + container_algorithm_internal::ContainerIter + c_is_sorted_until(C& c, LessThan&& comp) { + return std::is_sorted_until(container_algorithm_internal::c_begin(c), + container_algorithm_internal::c_end(c), + std::forward(comp)); +} + +// c_nth_element() +// +// Container-based version of the `std::nth_element()` function +// to rearrange the elements within a container such that the `nth` element +// would be in that position in an ordered sequence; other elements may be in +// any order, except that all preceding `nth` will be less than that element, +// and all following `nth` will be greater than that element. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 void c_nth_element( + RandomAccessContainer& sequence, + container_algorithm_internal::ContainerIter nth) { + std::nth_element(container_algorithm_internal::c_begin(sequence), nth, + container_algorithm_internal::c_end(sequence)); +} + +// Overload of c_nth_element() for performing a `comp` comparison other than +// the default `operator<`. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 void c_nth_element( + RandomAccessContainer& sequence, + container_algorithm_internal::ContainerIter nth, + LessThan&& comp) { + std::nth_element(container_algorithm_internal::c_begin(sequence), nth, + container_algorithm_internal::c_end(sequence), + std::forward(comp)); +} + +//------------------------------------------------------------------------------ +// Binary Search +//------------------------------------------------------------------------------ + +// c_lower_bound() +// +// Container-based version of the `std::lower_bound()` function +// to return an iterator pointing to the first element in a sorted container +// which does not compare less than `value`. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 + container_algorithm_internal::ContainerIter + c_lower_bound(Sequence& sequence, const T& value) { + return std::lower_bound(container_algorithm_internal::c_begin(sequence), + container_algorithm_internal::c_end(sequence), value); +} + +// Overload of c_lower_bound() for performing a `comp` comparison other than +// the default `operator<`. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 + container_algorithm_internal::ContainerIter + c_lower_bound(Sequence& sequence, const T& value, LessThan&& comp) { + return std::lower_bound(container_algorithm_internal::c_begin(sequence), + container_algorithm_internal::c_end(sequence), value, + std::forward(comp)); +} + +// c_upper_bound() +// +// Container-based version of the `std::upper_bound()` function +// to return an iterator pointing to the first element in a sorted container +// which is greater than `value`. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 + container_algorithm_internal::ContainerIter + c_upper_bound(Sequence& sequence, const T& value) { + return std::upper_bound(container_algorithm_internal::c_begin(sequence), + container_algorithm_internal::c_end(sequence), value); +} + +// Overload of c_upper_bound() for performing a `comp` comparison other than +// the default `operator<`. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 + container_algorithm_internal::ContainerIter + c_upper_bound(Sequence& sequence, const T& value, LessThan&& comp) { + return std::upper_bound(container_algorithm_internal::c_begin(sequence), + container_algorithm_internal::c_end(sequence), value, + std::forward(comp)); +} + +// c_equal_range() +// +// Container-based version of the `std::equal_range()` function +// to return an iterator pair pointing to the first and last elements in a +// sorted container which compare equal to `value`. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 + container_algorithm_internal::ContainerIterPairType + c_equal_range(Sequence& sequence, const T& value) { + return std::equal_range(container_algorithm_internal::c_begin(sequence), + container_algorithm_internal::c_end(sequence), value); +} + +// Overload of c_equal_range() for performing a `comp` comparison other than +// the default `operator<`. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 + container_algorithm_internal::ContainerIterPairType + c_equal_range(Sequence& sequence, const T& value, LessThan&& comp) { + return std::equal_range(container_algorithm_internal::c_begin(sequence), + container_algorithm_internal::c_end(sequence), value, + std::forward(comp)); +} + +// c_binary_search() +// +// Container-based version of the `std::binary_search()` function +// to test if any element in the sorted container contains a value equivalent to +// 'value'. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 bool c_binary_search( + const Sequence& sequence, const T& value) { + return std::binary_search(container_algorithm_internal::c_begin(sequence), + container_algorithm_internal::c_end(sequence), + value); +} + +// Overload of c_binary_search() for performing a `comp` comparison other than +// the default `operator<`. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 bool c_binary_search( + const Sequence& sequence, const T& value, LessThan&& comp) { + return std::binary_search(container_algorithm_internal::c_begin(sequence), + container_algorithm_internal::c_end(sequence), + value, std::forward(comp)); +} + +//------------------------------------------------------------------------------ +// Merge functions +//------------------------------------------------------------------------------ + +// c_merge() +// +// Container-based version of the `std::merge()` function +// to merge two sorted containers into a single sorted iterator. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 OutputIterator +c_merge(const C1& c1, const C2& c2, OutputIterator result) { + return std::merge(container_algorithm_internal::c_begin(c1), + container_algorithm_internal::c_end(c1), + container_algorithm_internal::c_begin(c2), + container_algorithm_internal::c_end(c2), result); +} + +// Overload of c_merge() for performing a `comp` comparison other than +// the default `operator<`. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 OutputIterator +c_merge(const C1& c1, const C2& c2, OutputIterator result, LessThan&& comp) { + return std::merge(container_algorithm_internal::c_begin(c1), + container_algorithm_internal::c_end(c1), + container_algorithm_internal::c_begin(c2), + container_algorithm_internal::c_end(c2), result, + std::forward(comp)); +} + +// c_inplace_merge() +// +// Container-based version of the `std::inplace_merge()` function +// to merge a supplied iterator `middle` into a container. +template +void c_inplace_merge(C& c, + container_algorithm_internal::ContainerIter middle) { + std::inplace_merge(container_algorithm_internal::c_begin(c), middle, + container_algorithm_internal::c_end(c)); +} + +// Overload of c_inplace_merge() for performing a merge using a `comp` other +// than `operator<`. +template +void c_inplace_merge(C& c, + container_algorithm_internal::ContainerIter middle, + LessThan&& comp) { + std::inplace_merge(container_algorithm_internal::c_begin(c), middle, + container_algorithm_internal::c_end(c), + std::forward(comp)); +} + +// c_includes() +// +// Container-based version of the `std::includes()` function +// to test whether a sorted container `c1` entirely contains another sorted +// container `c2`. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 bool c_includes(const C1& c1, + const C2& c2) { + return std::includes(container_algorithm_internal::c_begin(c1), + container_algorithm_internal::c_end(c1), + container_algorithm_internal::c_begin(c2), + container_algorithm_internal::c_end(c2)); +} + +// Overload of c_includes() for performing a merge using a `comp` other than +// `operator<`. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 bool c_includes(const C1& c1, const C2& c2, + LessThan&& comp) { + return std::includes(container_algorithm_internal::c_begin(c1), + container_algorithm_internal::c_end(c1), + container_algorithm_internal::c_begin(c2), + container_algorithm_internal::c_end(c2), + std::forward(comp)); +} + +// c_set_union() +// +// Container-based version of the `std::set_union()` function +// to return an iterator containing the union of two containers; duplicate +// values are not copied into the output. +template ::value, + void>::type, + typename = typename std::enable_if< + !container_algorithm_internal::IsUnorderedContainer::value, + void>::type> +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 OutputIterator +c_set_union(const C1& c1, const C2& c2, OutputIterator output) { + return std::set_union(container_algorithm_internal::c_begin(c1), + container_algorithm_internal::c_end(c1), + container_algorithm_internal::c_begin(c2), + container_algorithm_internal::c_end(c2), output); +} + +// Overload of c_set_union() for performing a merge using a `comp` other than +// `operator<`. +template ::value, + void>::type, + typename = typename std::enable_if< + !container_algorithm_internal::IsUnorderedContainer::value, + void>::type> +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 OutputIterator c_set_union( + const C1& c1, const C2& c2, OutputIterator output, LessThan&& comp) { + return std::set_union(container_algorithm_internal::c_begin(c1), + container_algorithm_internal::c_end(c1), + container_algorithm_internal::c_begin(c2), + container_algorithm_internal::c_end(c2), output, + std::forward(comp)); +} + +// c_set_intersection() +// +// Container-based version of the `std::set_intersection()` function +// to return an iterator containing the intersection of two sorted containers. +template ::value, + void>::type, + typename = typename std::enable_if< + !container_algorithm_internal::IsUnorderedContainer::value, + void>::type> +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 OutputIterator +c_set_intersection(const C1& c1, const C2& c2, OutputIterator output) { + // In debug builds, ensure that both containers are sorted with respect to the + // default comparator. std::set_intersection requires the containers be sorted + // using operator<. + ABSL_ASSERT(absl::c_is_sorted(c1)); + ABSL_ASSERT(absl::c_is_sorted(c2)); + return std::set_intersection(container_algorithm_internal::c_begin(c1), + container_algorithm_internal::c_end(c1), + container_algorithm_internal::c_begin(c2), + container_algorithm_internal::c_end(c2), output); +} + +// Overload of c_set_intersection() for performing a merge using a `comp` other +// than `operator<`. +template ::value, + void>::type, + typename = typename std::enable_if< + !container_algorithm_internal::IsUnorderedContainer::value, + void>::type> +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 OutputIterator c_set_intersection( + const C1& c1, const C2& c2, OutputIterator output, LessThan&& comp) { + // In debug builds, ensure that both containers are sorted with respect to the + // default comparator. std::set_intersection requires the containers be sorted + // using the same comparator. + ABSL_ASSERT(absl::c_is_sorted(c1, comp)); + ABSL_ASSERT(absl::c_is_sorted(c2, comp)); + return std::set_intersection(container_algorithm_internal::c_begin(c1), + container_algorithm_internal::c_end(c1), + container_algorithm_internal::c_begin(c2), + container_algorithm_internal::c_end(c2), output, + std::forward(comp)); +} + +// c_set_difference() +// +// Container-based version of the `std::set_difference()` function +// to return an iterator containing elements present in the first container but +// not in the second. +template ::value, + void>::type, + typename = typename std::enable_if< + !container_algorithm_internal::IsUnorderedContainer::value, + void>::type> +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 OutputIterator +c_set_difference(const C1& c1, const C2& c2, OutputIterator output) { + return std::set_difference(container_algorithm_internal::c_begin(c1), + container_algorithm_internal::c_end(c1), + container_algorithm_internal::c_begin(c2), + container_algorithm_internal::c_end(c2), output); +} + +// Overload of c_set_difference() for performing a merge using a `comp` other +// than `operator<`. +template ::value, + void>::type, + typename = typename std::enable_if< + !container_algorithm_internal::IsUnorderedContainer::value, + void>::type> +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 OutputIterator c_set_difference( + const C1& c1, const C2& c2, OutputIterator output, LessThan&& comp) { + return std::set_difference(container_algorithm_internal::c_begin(c1), + container_algorithm_internal::c_end(c1), + container_algorithm_internal::c_begin(c2), + container_algorithm_internal::c_end(c2), output, + std::forward(comp)); +} + +// c_set_symmetric_difference() +// +// Container-based version of the `std::set_symmetric_difference()` +// function to return an iterator containing elements present in either one +// container or the other, but not both. +template ::value, + void>::type, + typename = typename std::enable_if< + !container_algorithm_internal::IsUnorderedContainer::value, + void>::type> +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 OutputIterator +c_set_symmetric_difference(const C1& c1, const C2& c2, OutputIterator output) { + return std::set_symmetric_difference( + container_algorithm_internal::c_begin(c1), + container_algorithm_internal::c_end(c1), + container_algorithm_internal::c_begin(c2), + container_algorithm_internal::c_end(c2), output); +} + +// Overload of c_set_symmetric_difference() for performing a merge using a +// `comp` other than `operator<`. +template ::value, + void>::type, + typename = typename std::enable_if< + !container_algorithm_internal::IsUnorderedContainer::value, + void>::type> +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 OutputIterator c_set_symmetric_difference( + const C1& c1, const C2& c2, OutputIterator output, LessThan&& comp) { + return std::set_symmetric_difference( + container_algorithm_internal::c_begin(c1), + container_algorithm_internal::c_end(c1), + container_algorithm_internal::c_begin(c2), + container_algorithm_internal::c_end(c2), output, + std::forward(comp)); +} + +//------------------------------------------------------------------------------ +// Heap functions +//------------------------------------------------------------------------------ + +// c_push_heap() +// +// Container-based version of the `std::push_heap()` function +// to push a value onto a container heap. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 void c_push_heap( + RandomAccessContainer& sequence) { + std::push_heap(container_algorithm_internal::c_begin(sequence), + container_algorithm_internal::c_end(sequence)); +} + +// Overload of c_push_heap() for performing a push operation on a heap using a +// `comp` other than `operator<`. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 void c_push_heap( + RandomAccessContainer& sequence, LessThan&& comp) { + std::push_heap(container_algorithm_internal::c_begin(sequence), + container_algorithm_internal::c_end(sequence), + std::forward(comp)); +} + +// c_pop_heap() +// +// Container-based version of the `std::pop_heap()` function +// to pop a value from a heap container. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 void c_pop_heap( + RandomAccessContainer& sequence) { + std::pop_heap(container_algorithm_internal::c_begin(sequence), + container_algorithm_internal::c_end(sequence)); +} + +// Overload of c_pop_heap() for performing a pop operation on a heap using a +// `comp` other than `operator<`. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 void c_pop_heap( + RandomAccessContainer& sequence, LessThan&& comp) { + std::pop_heap(container_algorithm_internal::c_begin(sequence), + container_algorithm_internal::c_end(sequence), + std::forward(comp)); +} + +// c_make_heap() +// +// Container-based version of the `std::make_heap()` function +// to make a container a heap. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 void c_make_heap( + RandomAccessContainer& sequence) { + std::make_heap(container_algorithm_internal::c_begin(sequence), + container_algorithm_internal::c_end(sequence)); +} + +// Overload of c_make_heap() for performing heap comparisons using a +// `comp` other than `operator<` +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 void c_make_heap( + RandomAccessContainer& sequence, LessThan&& comp) { + std::make_heap(container_algorithm_internal::c_begin(sequence), + container_algorithm_internal::c_end(sequence), + std::forward(comp)); +} + +// c_sort_heap() +// +// Container-based version of the `std::sort_heap()` function +// to sort a heap into ascending order (after which it is no longer a heap). +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 void c_sort_heap( + RandomAccessContainer& sequence) { + std::sort_heap(container_algorithm_internal::c_begin(sequence), + container_algorithm_internal::c_end(sequence)); +} + +// Overload of c_sort_heap() for performing heap comparisons using a +// `comp` other than `operator<` +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 void c_sort_heap( + RandomAccessContainer& sequence, LessThan&& comp) { + std::sort_heap(container_algorithm_internal::c_begin(sequence), + container_algorithm_internal::c_end(sequence), + std::forward(comp)); +} + +// c_is_heap() +// +// Container-based version of the `std::is_heap()` function +// to check whether the given container is a heap. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 bool c_is_heap( + const RandomAccessContainer& sequence) { + return std::is_heap(container_algorithm_internal::c_begin(sequence), + container_algorithm_internal::c_end(sequence)); +} + +// Overload of c_is_heap() for performing heap comparisons using a +// `comp` other than `operator<` +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 bool c_is_heap( + const RandomAccessContainer& sequence, LessThan&& comp) { + return std::is_heap(container_algorithm_internal::c_begin(sequence), + container_algorithm_internal::c_end(sequence), + std::forward(comp)); +} + +// c_is_heap_until() +// +// Container-based version of the `std::is_heap_until()` function +// to find the first element in a given container which is not in heap order. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 + container_algorithm_internal::ContainerIter + c_is_heap_until(RandomAccessContainer& sequence) { + return std::is_heap_until(container_algorithm_internal::c_begin(sequence), + container_algorithm_internal::c_end(sequence)); +} + +// Overload of c_is_heap_until() for performing heap comparisons using a +// `comp` other than `operator<` +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 + container_algorithm_internal::ContainerIter + c_is_heap_until(RandomAccessContainer& sequence, LessThan&& comp) { + return std::is_heap_until(container_algorithm_internal::c_begin(sequence), + container_algorithm_internal::c_end(sequence), + std::forward(comp)); +} + +//------------------------------------------------------------------------------ +// Min/max +//------------------------------------------------------------------------------ + +// c_min_element() +// +// Container-based version of the `std::min_element()` function +// to return an iterator pointing to the element with the smallest value, using +// `operator<` to make the comparisons. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX17 + container_algorithm_internal::ContainerIter + c_min_element(Sequence& sequence) { + return std::min_element(container_algorithm_internal::c_begin(sequence), + container_algorithm_internal::c_end(sequence)); +} + +// Overload of c_min_element() for performing a `comp` comparison other than +// `operator<`. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX17 + container_algorithm_internal::ContainerIter + c_min_element(Sequence& sequence, LessThan&& comp) { + return std::min_element(container_algorithm_internal::c_begin(sequence), + container_algorithm_internal::c_end(sequence), + std::forward(comp)); +} + +// c_max_element() +// +// Container-based version of the `std::max_element()` function +// to return an iterator pointing to the element with the largest value, using +// `operator<` to make the comparisons. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX17 + container_algorithm_internal::ContainerIter + c_max_element(Sequence& sequence) { + return std::max_element(container_algorithm_internal::c_begin(sequence), + container_algorithm_internal::c_end(sequence)); +} + +// Overload of c_max_element() for performing a `comp` comparison other than +// `operator<`. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX17 + container_algorithm_internal::ContainerIter + c_max_element(Sequence& sequence, LessThan&& comp) { + return std::max_element(container_algorithm_internal::c_begin(sequence), + container_algorithm_internal::c_end(sequence), + std::forward(comp)); +} + +// c_minmax_element() +// +// Container-based version of the `std::minmax_element()` function +// to return a pair of iterators pointing to the elements containing the +// smallest and largest values, respectively, using `operator<` to make the +// comparisons. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX17 + container_algorithm_internal::ContainerIterPairType + c_minmax_element(C& c) { + return std::minmax_element(container_algorithm_internal::c_begin(c), + container_algorithm_internal::c_end(c)); +} + +// Overload of c_minmax_element() for performing `comp` comparisons other than +// `operator<`. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX17 + container_algorithm_internal::ContainerIterPairType + c_minmax_element(C& c, LessThan&& comp) { + return std::minmax_element(container_algorithm_internal::c_begin(c), + container_algorithm_internal::c_end(c), + std::forward(comp)); +} + +//------------------------------------------------------------------------------ +// Lexicographical Comparisons +//------------------------------------------------------------------------------ + +// c_lexicographical_compare() +// +// Container-based version of the `std::lexicographical_compare()` +// function to lexicographically compare (e.g. sort words alphabetically) two +// container sequences. The comparison is performed using `operator<`. Note +// that capital letters ("A-Z") have ASCII values less than lowercase letters +// ("a-z"). +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 bool c_lexicographical_compare( + const Sequence1& sequence1, const Sequence2& sequence2) { + return std::lexicographical_compare( + container_algorithm_internal::c_begin(sequence1), + container_algorithm_internal::c_end(sequence1), + container_algorithm_internal::c_begin(sequence2), + container_algorithm_internal::c_end(sequence2)); +} + +// Overload of c_lexicographical_compare() for performing a lexicographical +// comparison using a `comp` operator instead of `operator<`. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 bool c_lexicographical_compare( + const Sequence1& sequence1, const Sequence2& sequence2, LessThan&& comp) { + return std::lexicographical_compare( + container_algorithm_internal::c_begin(sequence1), + container_algorithm_internal::c_end(sequence1), + container_algorithm_internal::c_begin(sequence2), + container_algorithm_internal::c_end(sequence2), + std::forward(comp)); +} + +// c_next_permutation() +// +// Container-based version of the `std::next_permutation()` function +// to rearrange a container's elements into the next lexicographically greater +// permutation. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 bool c_next_permutation(C& c) { + return std::next_permutation(container_algorithm_internal::c_begin(c), + container_algorithm_internal::c_end(c)); +} + +// Overload of c_next_permutation() for performing a lexicographical +// comparison using a `comp` operator instead of `operator<`. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 bool c_next_permutation(C& c, + LessThan&& comp) { + return std::next_permutation(container_algorithm_internal::c_begin(c), + container_algorithm_internal::c_end(c), + std::forward(comp)); +} + +// c_prev_permutation() +// +// Container-based version of the `std::prev_permutation()` function +// to rearrange a container's elements into the next lexicographically lesser +// permutation. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 bool c_prev_permutation(C& c) { + return std::prev_permutation(container_algorithm_internal::c_begin(c), + container_algorithm_internal::c_end(c)); +} + +// Overload of c_prev_permutation() for performing a lexicographical +// comparison using a `comp` operator instead of `operator<`. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 bool c_prev_permutation(C& c, + LessThan&& comp) { + return std::prev_permutation(container_algorithm_internal::c_begin(c), + container_algorithm_internal::c_end(c), + std::forward(comp)); +} + +//------------------------------------------------------------------------------ +// algorithms +//------------------------------------------------------------------------------ + +// c_iota() +// +// Container-based version of the `std::iota()` function +// to compute successive values of `value`, as if incremented with `++value` +// after each element is written, and write them to the container. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 void c_iota(Sequence& sequence, + const T& value) { + std::iota(container_algorithm_internal::c_begin(sequence), + container_algorithm_internal::c_end(sequence), value); +} + +// c_accumulate() +// +// Container-based version of the `std::accumulate()` function +// to accumulate the element values of a container to `init` and return that +// accumulation by value. +// +// Note: Due to a language technicality this function has return type +// absl::decay_t. As a user of this function you can casually read +// this as "returns T by value" and assume it does the right thing. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 decay_t c_accumulate( + const Sequence& sequence, T&& init) { + return std::accumulate(container_algorithm_internal::c_begin(sequence), + container_algorithm_internal::c_end(sequence), + std::forward(init)); +} + +// Overload of c_accumulate() for using a binary operations other than +// addition for computing the accumulation. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 decay_t c_accumulate( + const Sequence& sequence, T&& init, BinaryOp&& binary_op) { + return std::accumulate(container_algorithm_internal::c_begin(sequence), + container_algorithm_internal::c_end(sequence), + std::forward(init), + std::forward(binary_op)); +} + +// c_inner_product() +// +// Container-based version of the `std::inner_product()` function +// to compute the cumulative inner product of container element pairs. +// +// Note: Due to a language technicality this function has return type +// absl::decay_t. As a user of this function you can casually read +// this as "returns T by value" and assume it does the right thing. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 decay_t c_inner_product( + const Sequence1& factors1, const Sequence2& factors2, T&& sum) { + return std::inner_product(container_algorithm_internal::c_begin(factors1), + container_algorithm_internal::c_end(factors1), + container_algorithm_internal::c_begin(factors2), + std::forward(sum)); +} + +// Overload of c_inner_product() for using binary operations other than +// `operator+` (for computing the accumulation) and `operator*` (for computing +// the product between the two container's element pair). +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 decay_t c_inner_product( + const Sequence1& factors1, const Sequence2& factors2, T&& sum, + BinaryOp1&& op1, BinaryOp2&& op2) { + return std::inner_product(container_algorithm_internal::c_begin(factors1), + container_algorithm_internal::c_end(factors1), + container_algorithm_internal::c_begin(factors2), + std::forward(sum), std::forward(op1), + std::forward(op2)); +} + +// c_adjacent_difference() +// +// Container-based version of the `std::adjacent_difference()` +// function to compute the difference between each element and the one preceding +// it and write it to an iterator. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 OutputIt +c_adjacent_difference(const InputSequence& input, OutputIt output_first) { + return std::adjacent_difference(container_algorithm_internal::c_begin(input), + container_algorithm_internal::c_end(input), + output_first); +} + +// Overload of c_adjacent_difference() for using a binary operation other than +// subtraction to compute the adjacent difference. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 OutputIt c_adjacent_difference( + const InputSequence& input, OutputIt output_first, BinaryOp&& op) { + return std::adjacent_difference(container_algorithm_internal::c_begin(input), + container_algorithm_internal::c_end(input), + output_first, std::forward(op)); +} + +// c_partial_sum() +// +// Container-based version of the `std::partial_sum()` function +// to compute the partial sum of the elements in a sequence and write them +// to an iterator. The partial sum is the sum of all element values so far in +// the sequence. +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 OutputIt +c_partial_sum(const InputSequence& input, OutputIt output_first) { + return std::partial_sum(container_algorithm_internal::c_begin(input), + container_algorithm_internal::c_end(input), + output_first); +} + +// Overload of c_partial_sum() for using a binary operation other than addition +// to compute the "partial sum". +template +ABSL_INTERNAL_CONSTEXPR_SINCE_CXX20 OutputIt c_partial_sum( + const InputSequence& input, OutputIt output_first, BinaryOp&& op) { + return std::partial_sum(container_algorithm_internal::c_begin(input), + container_algorithm_internal::c_end(input), + output_first, std::forward(op)); +} + +ABSL_NAMESPACE_END +} // namespace absl + +#endif // ABSL_ALGORITHM_CONTAINER_H_ diff --git a/crates/absl-sys/vendor/absl/base/attributes.h b/crates/absl-sys/vendor/absl/base/attributes.h new file mode 100644 index 00000000..77482e5f --- /dev/null +++ b/crates/absl-sys/vendor/absl/base/attributes.h @@ -0,0 +1,1081 @@ +// Copyright 2017 The Abseil Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// This header file defines macros for declaring attributes for functions, +// types, and variables. +// +// These macros are used within Abseil and allow the compiler to optimize, where +// applicable, certain function calls. +// +// Most macros here are exposing GCC or Clang features, and are stubbed out for +// other compilers. +// +// GCC attributes documentation: +// https://gcc.gnu.org/onlinedocs/gcc-4.7.0/gcc/Function-Attributes.html +// https://gcc.gnu.org/onlinedocs/gcc-4.7.0/gcc/Variable-Attributes.html +// https://gcc.gnu.org/onlinedocs/gcc-4.7.0/gcc/Type-Attributes.html +// +// Most attributes in this file are already supported by GCC 4.7. However, some +// of them are not supported in older version of Clang. Thus, we check +// `__has_attribute()` first. If the check fails, we check if we are on GCC and +// assume the attribute exists on GCC (which is verified on GCC 4.7). + +// SKIP_ABSL_INLINE_NAMESPACE_CHECK + +#ifndef ABSL_BASE_ATTRIBUTES_H_ +#define ABSL_BASE_ATTRIBUTES_H_ + +#include "absl/base/config.h" + +// ABSL_HAVE_ATTRIBUTE +// +// A function-like feature checking macro that is a wrapper around +// `__has_attribute`, which is defined by GCC 5+ and Clang and evaluates to a +// nonzero constant integer if the attribute is supported or 0 if not. +// +// It evaluates to zero if `__has_attribute` is not defined by the compiler. +// +// GCC: https://gcc.gnu.org/gcc-5/changes.html +// Clang: https://clang.llvm.org/docs/LanguageExtensions.html +#ifdef __has_attribute +#define ABSL_HAVE_ATTRIBUTE(x) __has_attribute(x) +#else +#define ABSL_HAVE_ATTRIBUTE(x) 0 +#endif + +// ABSL_HAVE_CPP_ATTRIBUTE +// +// A function-like feature checking macro that accepts C++11 style attributes. +// It's a wrapper around `__has_cpp_attribute`, defined by ISO C++ SD-6 +// (https://en.cppreference.com/w/cpp/experimental/feature_test). If we don't +// find `__has_cpp_attribute`, will evaluate to 0. +#if defined(__cplusplus) && defined(__has_cpp_attribute) +// NOTE: requiring __cplusplus above should not be necessary, but +// works around https://bugs.llvm.org/show_bug.cgi?id=23435. +#define ABSL_HAVE_CPP_ATTRIBUTE(x) __has_cpp_attribute(x) +#else +#define ABSL_HAVE_CPP_ATTRIBUTE(x) 0 +#endif + +// ----------------------------------------------------------------------------- +// Function Attributes +// ----------------------------------------------------------------------------- +// +// GCC: https://gcc.gnu.org/onlinedocs/gcc/Function-Attributes.html +// Clang: https://clang.llvm.org/docs/AttributeReference.html + +// ABSL_PRINTF_ATTRIBUTE +// ABSL_SCANF_ATTRIBUTE +// +// Tells the compiler to perform `printf` format string checking if the +// compiler supports it; see the 'format' attribute in +// . +// +// Note: As the GCC manual states, "[s]ince non-static C++ methods +// have an implicit 'this' argument, the arguments of such methods +// should be counted from two, not one." +#if ABSL_HAVE_ATTRIBUTE(format) || (defined(__GNUC__) && !defined(__clang__)) +#define ABSL_PRINTF_ATTRIBUTE(string_index, first_to_check) \ + __attribute__((__format__(__printf__, string_index, first_to_check))) +#define ABSL_SCANF_ATTRIBUTE(string_index, first_to_check) \ + __attribute__((__format__(__scanf__, string_index, first_to_check))) +#else +#define ABSL_PRINTF_ATTRIBUTE(string_index, first_to_check) +#define ABSL_SCANF_ATTRIBUTE(string_index, first_to_check) +#endif + +// ABSL_ATTRIBUTE_ALWAYS_INLINE +// ABSL_ATTRIBUTE_NOINLINE +// +// Forces functions to either inline or not inline. Introduced in gcc 3.1. +#if ABSL_HAVE_ATTRIBUTE(always_inline) || \ + (defined(__GNUC__) && !defined(__clang__)) +#define ABSL_ATTRIBUTE_ALWAYS_INLINE __attribute__((always_inline)) +#define ABSL_HAVE_ATTRIBUTE_ALWAYS_INLINE 1 +#else +#define ABSL_ATTRIBUTE_ALWAYS_INLINE +#endif + +#if ABSL_HAVE_ATTRIBUTE(noinline) || (defined(__GNUC__) && !defined(__clang__)) +#define ABSL_ATTRIBUTE_NOINLINE __attribute__((noinline)) +#define ABSL_HAVE_ATTRIBUTE_NOINLINE 1 +#else +#define ABSL_ATTRIBUTE_NOINLINE +#endif + +// ABSL_ATTRIBUTE_NO_TAIL_CALL +// +// Prevents the compiler from optimizing away stack frames for functions which +// end in a call to another function. +#if ABSL_HAVE_ATTRIBUTE(disable_tail_calls) +#define ABSL_HAVE_ATTRIBUTE_NO_TAIL_CALL 1 +#define ABSL_ATTRIBUTE_NO_TAIL_CALL __attribute__((disable_tail_calls)) +#elif defined(__GNUC__) && !defined(__clang__) && !defined(__e2k__) +#define ABSL_HAVE_ATTRIBUTE_NO_TAIL_CALL 1 +#define ABSL_ATTRIBUTE_NO_TAIL_CALL \ + __attribute__((optimize("no-optimize-sibling-calls"))) +#else +#define ABSL_ATTRIBUTE_NO_TAIL_CALL +#define ABSL_HAVE_ATTRIBUTE_NO_TAIL_CALL 0 +#endif + +// ABSL_ATTRIBUTE_WEAK +// +// Tags a function as weak for the purposes of compilation and linking. +// Weak attributes did not work properly in LLVM's Windows backend before +// 9.0.0, so disable them there. See https://bugs.llvm.org/show_bug.cgi?id=37598 +// for further information. Weak attributes do not work across DLL boundary. +// The MinGW compiler doesn't complain about the weak attribute until the link +// step, presumably because Windows doesn't use ELF binaries. +#if (ABSL_HAVE_ATTRIBUTE(weak) || \ + (defined(__GNUC__) && !defined(__clang__))) && \ + (!defined(_WIN32) || \ + (defined(__clang__) && __clang_major__ >= 9 && \ + !defined(ABSL_BUILD_DLL) && !defined(ABSL_CONSUME_DLL))) && \ + !defined(__MINGW32__) +#undef ABSL_ATTRIBUTE_WEAK +#define ABSL_ATTRIBUTE_WEAK __attribute__((weak)) +#define ABSL_HAVE_ATTRIBUTE_WEAK 1 +#else +#define ABSL_ATTRIBUTE_WEAK +#define ABSL_HAVE_ATTRIBUTE_WEAK 0 +#endif + +// ABSL_ATTRIBUTE_NONNULL +// +// Tells the compiler either (a) that a particular function parameter +// should be a non-null pointer, or (b) that all pointer arguments should +// be non-null. +// +// Note: As the GCC manual states, "[s]ince non-static C++ methods +// have an implicit 'this' argument, the arguments of such methods +// should be counted from two, not one." +// +// Args are indexed starting at 1. +// +// For non-static class member functions, the implicit `this` argument +// is arg 1, and the first explicit argument is arg 2. For static class member +// functions, there is no implicit `this`, and the first explicit argument is +// arg 1. +// +// Example: +// +// /* arg_a cannot be null, but arg_b can */ +// void Function(void* arg_a, void* arg_b) ABSL_ATTRIBUTE_NONNULL(1); +// +// class C { +// /* arg_a cannot be null, but arg_b can */ +// void Method(void* arg_a, void* arg_b) ABSL_ATTRIBUTE_NONNULL(2); +// +// /* arg_a cannot be null, but arg_b can */ +// static void StaticMethod(void* arg_a, void* arg_b) +// ABSL_ATTRIBUTE_NONNULL(1); +// }; +// +// If no arguments are provided, then all pointer arguments should be non-null. +// +// /* No pointer arguments may be null. */ +// void Function(void* arg_a, void* arg_b, int arg_c) ABSL_ATTRIBUTE_NONNULL(); +// +// NOTE: The GCC nonnull attribute actually accepts a list of arguments, but +// ABSL_ATTRIBUTE_NONNULL does not. +#if ABSL_HAVE_ATTRIBUTE(nonnull) || (defined(__GNUC__) && !defined(__clang__)) +#define ABSL_ATTRIBUTE_NONNULL(arg_index) __attribute__((nonnull(arg_index))) +#else +#define ABSL_ATTRIBUTE_NONNULL(...) +#endif + +// ABSL_ATTRIBUTE_NORETURN +// +// Tells the compiler that a given function never returns. +// +// Deprecated: Prefer the `[[noreturn]]` attribute standardized by C++11 over +// this macro. +#if ABSL_HAVE_ATTRIBUTE(noreturn) || (defined(__GNUC__) && !defined(__clang__)) +#define ABSL_ATTRIBUTE_NORETURN __attribute__((noreturn)) +#elif defined(_MSC_VER) +#define ABSL_ATTRIBUTE_NORETURN __declspec(noreturn) +#else +#define ABSL_ATTRIBUTE_NORETURN +#endif + +// ABSL_ATTRIBUTE_NO_SANITIZE_ADDRESS +// +// Tells the AddressSanitizer (or other memory testing tools) to ignore a given +// function. Useful for cases when a function reads random locations on stack, +// calls _exit from a cloned subprocess, deliberately accesses buffer +// out of bounds or does other scary things with memory. +// NOTE: GCC supports AddressSanitizer(asan) since 4.8. +// https://gcc.gnu.org/gcc-4.8/changes.html +#if defined(ABSL_HAVE_ADDRESS_SANITIZER) && \ + ABSL_HAVE_ATTRIBUTE(no_sanitize_address) +#define ABSL_ATTRIBUTE_NO_SANITIZE_ADDRESS __attribute__((no_sanitize_address)) +#elif defined(ABSL_HAVE_ADDRESS_SANITIZER) && defined(_MSC_VER) && \ + _MSC_VER >= 1928 +// https://docs.microsoft.com/en-us/cpp/cpp/no-sanitize-address +#define ABSL_ATTRIBUTE_NO_SANITIZE_ADDRESS __declspec(no_sanitize_address) +#elif defined(ABSL_HAVE_HWADDRESS_SANITIZER) && ABSL_HAVE_ATTRIBUTE(no_sanitize) +// HWAddressSanitizer is a sanitizer similar to AddressSanitizer, which uses CPU +// features to detect similar bugs with less CPU and memory overhead. +// NOTE: GCC supports HWAddressSanitizer(hwasan) since 11. +// https://gcc.gnu.org/gcc-11/changes.html +#define ABSL_ATTRIBUTE_NO_SANITIZE_ADDRESS \ + __attribute__((no_sanitize("hwaddress"))) +#else +#define ABSL_ATTRIBUTE_NO_SANITIZE_ADDRESS +#endif + +// ABSL_ATTRIBUTE_NO_SANITIZE_MEMORY +// +// Tells the MemorySanitizer to relax the handling of a given function. All "Use +// of uninitialized value" warnings from such functions will be suppressed, and +// all values loaded from memory will be considered fully initialized. This +// attribute is similar to the ABSL_ATTRIBUTE_NO_SANITIZE_ADDRESS attribute +// above, but deals with initialized-ness rather than addressability issues. +// NOTE: MemorySanitizer(msan) is supported by Clang but not GCC. +#if ABSL_HAVE_ATTRIBUTE(no_sanitize_memory) +#define ABSL_ATTRIBUTE_NO_SANITIZE_MEMORY __attribute__((no_sanitize_memory)) +#else +#define ABSL_ATTRIBUTE_NO_SANITIZE_MEMORY +#endif + +// ABSL_ATTRIBUTE_NO_SANITIZE_THREAD +// +// Tells the ThreadSanitizer to not instrument a given function. +// NOTE: GCC supports ThreadSanitizer(tsan) since 4.8. +// https://gcc.gnu.org/gcc-4.8/changes.html +#if ABSL_HAVE_ATTRIBUTE(no_sanitize_thread) +#define ABSL_ATTRIBUTE_NO_SANITIZE_THREAD __attribute__((no_sanitize_thread)) +#else +#define ABSL_ATTRIBUTE_NO_SANITIZE_THREAD +#endif + +// ABSL_ATTRIBUTE_NO_SANITIZE_UNDEFINED +// +// Tells the UndefinedSanitizer to ignore a given function. Useful for cases +// where certain behavior (eg. division by zero) is being used intentionally. +// NOTE: GCC supports UndefinedBehaviorSanitizer(ubsan) since 4.9. +// https://gcc.gnu.org/gcc-4.9/changes.html +#if ABSL_HAVE_ATTRIBUTE(no_sanitize_undefined) +#define ABSL_ATTRIBUTE_NO_SANITIZE_UNDEFINED \ + __attribute__((no_sanitize_undefined)) +#elif ABSL_HAVE_ATTRIBUTE(no_sanitize) +#define ABSL_ATTRIBUTE_NO_SANITIZE_UNDEFINED \ + __attribute__((no_sanitize("undefined"))) +#else +#define ABSL_ATTRIBUTE_NO_SANITIZE_UNDEFINED +#endif + +// ABSL_ATTRIBUTE_NO_SANITIZE_CFI +// +// Tells the ControlFlowIntegrity sanitizer to not instrument a given function. +// See https://clang.llvm.org/docs/ControlFlowIntegrity.html for details. +#if ABSL_HAVE_ATTRIBUTE(no_sanitize) && defined(__llvm__) +#define ABSL_ATTRIBUTE_NO_SANITIZE_CFI __attribute__((no_sanitize("cfi"))) +#else +#define ABSL_ATTRIBUTE_NO_SANITIZE_CFI +#endif + +// ABSL_ATTRIBUTE_NO_SANITIZE_SAFESTACK +// +// Tells the SafeStack to not instrument a given function. +// See https://clang.llvm.org/docs/SafeStack.html for details. +#if ABSL_HAVE_ATTRIBUTE(no_sanitize) +#define ABSL_ATTRIBUTE_NO_SANITIZE_SAFESTACK \ + __attribute__((no_sanitize("safe-stack"))) +#else +#define ABSL_ATTRIBUTE_NO_SANITIZE_SAFESTACK +#endif + +// ABSL_ATTRIBUTE_RETURNS_NONNULL +// +// Tells the compiler that a particular function never returns a null pointer. +#if ABSL_HAVE_ATTRIBUTE(returns_nonnull) +#define ABSL_ATTRIBUTE_RETURNS_NONNULL __attribute__((returns_nonnull)) +#else +#define ABSL_ATTRIBUTE_RETURNS_NONNULL +#endif + +// ABSL_HAVE_ATTRIBUTE_SECTION +// +// Indicates whether labeled sections are supported. Weak symbol support is +// a prerequisite. Labeled sections are not supported on Darwin/iOS. +#ifdef ABSL_HAVE_ATTRIBUTE_SECTION +#error ABSL_HAVE_ATTRIBUTE_SECTION cannot be directly set +#elif (ABSL_HAVE_ATTRIBUTE(section) || \ + (defined(__GNUC__) && !defined(__clang__))) && \ + !defined(__APPLE__) && ABSL_HAVE_ATTRIBUTE_WEAK +#define ABSL_HAVE_ATTRIBUTE_SECTION 1 + +// ABSL_ATTRIBUTE_SECTION +// +// Tells the compiler/linker to put a given function into a section and define +// `__start_ ## name` and `__stop_ ## name` symbols to bracket the section. +// This functionality is supported by GNU linker. Any function annotated with +// `ABSL_ATTRIBUTE_SECTION` must not be inlined, or it will be placed into +// whatever section its caller is placed into. +// +#ifndef ABSL_ATTRIBUTE_SECTION +#define ABSL_ATTRIBUTE_SECTION(name) \ + __attribute__((section(#name))) __attribute__((noinline)) +#endif + +// ABSL_ATTRIBUTE_SECTION_VARIABLE +// +// Tells the compiler/linker to put a given variable into a section and define +// `__start_ ## name` and `__stop_ ## name` symbols to bracket the section. +// This functionality is supported by GNU linker. +#ifndef ABSL_ATTRIBUTE_SECTION_VARIABLE +#ifdef _AIX +// __attribute__((section(#name))) on AIX is achieved by using the `.csect` +// pseudo op which includes an additional integer as part of its syntax +// indicating alignment. If data fall under different alignments then you might +// get a compilation error indicating a `Section type conflict`. +#define ABSL_ATTRIBUTE_SECTION_VARIABLE(name) +#else +#define ABSL_ATTRIBUTE_SECTION_VARIABLE(name) __attribute__((section(#name))) +#endif +#endif + +// ABSL_DECLARE_ATTRIBUTE_SECTION_VARS +// +// A weak section declaration to be used as a global declaration +// for ABSL_ATTRIBUTE_SECTION_START|STOP(name) to compile and link +// even without functions with ABSL_ATTRIBUTE_SECTION(name). +// ABSL_DEFINE_ATTRIBUTE_SECTION should be in the exactly one file; it's +// a no-op on ELF but not on Mach-O. +// +#ifndef ABSL_DECLARE_ATTRIBUTE_SECTION_VARS +#define ABSL_DECLARE_ATTRIBUTE_SECTION_VARS(name) \ + extern char __start_##name[] ABSL_ATTRIBUTE_WEAK; \ + extern char __stop_##name[] ABSL_ATTRIBUTE_WEAK +#endif +#ifndef ABSL_DEFINE_ATTRIBUTE_SECTION_VARS +#define ABSL_INIT_ATTRIBUTE_SECTION_VARS(name) +#define ABSL_DEFINE_ATTRIBUTE_SECTION_VARS(name) +#endif + +// ABSL_ATTRIBUTE_SECTION_START +// +// Returns `void*` pointers to start/end of a section of code with +// functions having ABSL_ATTRIBUTE_SECTION(name). +// Returns 0 if no such functions exist. +// One must ABSL_DECLARE_ATTRIBUTE_SECTION_VARS(name) for this to compile and +// link. +// +#define ABSL_ATTRIBUTE_SECTION_START(name) \ + (reinterpret_cast(__start_##name)) +#define ABSL_ATTRIBUTE_SECTION_STOP(name) \ + (reinterpret_cast(__stop_##name)) + +#else // !ABSL_HAVE_ATTRIBUTE_SECTION + +#define ABSL_HAVE_ATTRIBUTE_SECTION 0 + +// provide dummy definitions +#define ABSL_ATTRIBUTE_SECTION(name) +#define ABSL_ATTRIBUTE_SECTION_VARIABLE(name) +#define ABSL_INIT_ATTRIBUTE_SECTION_VARS(name) +#define ABSL_DEFINE_ATTRIBUTE_SECTION_VARS(name) +#define ABSL_DECLARE_ATTRIBUTE_SECTION_VARS(name) +#define ABSL_ATTRIBUTE_SECTION_START(name) (reinterpret_cast(0)) +#define ABSL_ATTRIBUTE_SECTION_STOP(name) (reinterpret_cast(0)) + +#endif // ABSL_ATTRIBUTE_SECTION + +// ABSL_ATTRIBUTE_STACK_ALIGN_FOR_OLD_LIBC +// +// Support for aligning the stack on 32-bit x86. +#if ABSL_HAVE_ATTRIBUTE(force_align_arg_pointer) || \ + (defined(__GNUC__) && !defined(__clang__)) +#if defined(__i386__) +#define ABSL_ATTRIBUTE_STACK_ALIGN_FOR_OLD_LIBC \ + __attribute__((force_align_arg_pointer)) +#define ABSL_REQUIRE_STACK_ALIGN_TRAMPOLINE (0) +#elif defined(__x86_64__) +#define ABSL_REQUIRE_STACK_ALIGN_TRAMPOLINE (1) +#define ABSL_ATTRIBUTE_STACK_ALIGN_FOR_OLD_LIBC +#else // !__i386__ && !__x86_64 +#define ABSL_REQUIRE_STACK_ALIGN_TRAMPOLINE (0) +#define ABSL_ATTRIBUTE_STACK_ALIGN_FOR_OLD_LIBC +#endif // __i386__ +#else +#define ABSL_ATTRIBUTE_STACK_ALIGN_FOR_OLD_LIBC +#define ABSL_REQUIRE_STACK_ALIGN_TRAMPOLINE (0) +#endif + +// ABSL_MUST_USE_RESULT +// +// Tells the compiler to warn about unused results. +// +// For code or headers that are assured to only build with C++17 and up, prefer +// just using the standard `[[nodiscard]]` directly over this macro. +// +// When annotating a function, it must appear as the first part of the +// declaration or definition. The compiler will warn if the return value from +// such a function is unused: +// +// ABSL_MUST_USE_RESULT Sprocket* AllocateSprocket(); +// AllocateSprocket(); // Triggers a warning. +// +// When annotating a class, it is equivalent to annotating every function which +// returns an instance. +// +// class ABSL_MUST_USE_RESULT Sprocket {}; +// Sprocket(); // Triggers a warning. +// +// Sprocket MakeSprocket(); +// MakeSprocket(); // Triggers a warning. +// +// Note that references and pointers are not instances: +// +// Sprocket* SprocketPointer(); +// SprocketPointer(); // Does *not* trigger a warning. +// +// ABSL_MUST_USE_RESULT allows using cast-to-void to suppress the unused result +// warning. For that, warn_unused_result is used only for clang but not for gcc. +// https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66425 +// +// Note: past advice was to place the macro after the argument list. +// +// TODO(b/176172494): Use ABSL_HAVE_CPP_ATTRIBUTE(nodiscard) when all code is +// compliant with the stricter [[nodiscard]]. +#if defined(__clang__) && ABSL_HAVE_ATTRIBUTE(warn_unused_result) +#define ABSL_MUST_USE_RESULT __attribute__((warn_unused_result)) +#else +#define ABSL_MUST_USE_RESULT +#endif + +// ABSL_ATTRIBUTE_HOT, ABSL_ATTRIBUTE_COLD +// +// Tells GCC that a function is hot or cold. GCC can use this information to +// improve static analysis, i.e. a conditional branch to a cold function +// is likely to be not-taken. +// This annotation is used for function declarations. +// +// Example: +// +// int foo() ABSL_ATTRIBUTE_HOT; +#if ABSL_HAVE_ATTRIBUTE(hot) || (defined(__GNUC__) && !defined(__clang__)) +#define ABSL_ATTRIBUTE_HOT __attribute__((hot)) +#else +#define ABSL_ATTRIBUTE_HOT +#endif + +#if ABSL_HAVE_ATTRIBUTE(cold) || (defined(__GNUC__) && !defined(__clang__)) +#define ABSL_ATTRIBUTE_COLD __attribute__((cold)) +#else +#define ABSL_ATTRIBUTE_COLD +#endif + +// ABSL_XRAY_ALWAYS_INSTRUMENT, ABSL_XRAY_NEVER_INSTRUMENT, ABSL_XRAY_LOG_ARGS +// +// We define the ABSL_XRAY_ALWAYS_INSTRUMENT and ABSL_XRAY_NEVER_INSTRUMENT +// macro used as an attribute to mark functions that must always or never be +// instrumented by XRay. Currently, this is only supported in Clang/LLVM. +// +// For reference on the LLVM XRay instrumentation, see +// http://llvm.org/docs/XRay.html. +// +// A function with the XRAY_ALWAYS_INSTRUMENT macro attribute in its declaration +// will always get the XRay instrumentation sleds. These sleds may introduce +// some binary size and runtime overhead and must be used sparingly. +// +// These attributes only take effect when the following conditions are met: +// +// * The file/target is built in at least C++11 mode, with a Clang compiler +// that supports XRay attributes. +// * The file/target is built with the -fxray-instrument flag set for the +// Clang/LLVM compiler. +// * The function is defined in the translation unit (the compiler honors the +// attribute in either the definition or the declaration, and must match). +// +// There are cases when, even when building with XRay instrumentation, users +// might want to control specifically which functions are instrumented for a +// particular build using special-case lists provided to the compiler. These +// special case lists are provided to Clang via the +// -fxray-always-instrument=... and -fxray-never-instrument=... flags. The +// attributes in source take precedence over these special-case lists. +// +// To disable the XRay attributes at build-time, users may define +// ABSL_NO_XRAY_ATTRIBUTES. Do NOT define ABSL_NO_XRAY_ATTRIBUTES on specific +// packages/targets, as this may lead to conflicting definitions of functions at +// link-time. +// +// XRay isn't currently supported on Android: +// https://github.com/android/ndk/issues/368 +#if ABSL_HAVE_CPP_ATTRIBUTE(clang::xray_always_instrument) && \ + !defined(ABSL_NO_XRAY_ATTRIBUTES) && !defined(__ANDROID__) +#define ABSL_XRAY_ALWAYS_INSTRUMENT [[clang::xray_always_instrument]] +#define ABSL_XRAY_NEVER_INSTRUMENT [[clang::xray_never_instrument]] +#if ABSL_HAVE_CPP_ATTRIBUTE(clang::xray_log_args) +#define ABSL_XRAY_LOG_ARGS(N) \ + [[clang::xray_always_instrument, clang::xray_log_args(N)]] +#else +#define ABSL_XRAY_LOG_ARGS(N) [[clang::xray_always_instrument]] +#endif +#else +#define ABSL_XRAY_ALWAYS_INSTRUMENT +#define ABSL_XRAY_NEVER_INSTRUMENT +#define ABSL_XRAY_LOG_ARGS(N) +#endif + +// ABSL_ATTRIBUTE_REINITIALIZES +// +// Indicates that a member function reinitializes the entire object to a known +// state, independent of the previous state of the object. +// +// The clang-tidy check bugprone-use-after-move allows member functions marked +// with this attribute to be called on objects that have been moved from; +// without the attribute, this would result in a use-after-move warning. +#if ABSL_HAVE_CPP_ATTRIBUTE(clang::reinitializes) +#define ABSL_ATTRIBUTE_REINITIALIZES [[clang::reinitializes]] +#else +#define ABSL_ATTRIBUTE_REINITIALIZES +#endif + +// ----------------------------------------------------------------------------- +// Variable Attributes +// ----------------------------------------------------------------------------- + +// ABSL_ATTRIBUTE_UNUSED +// +// Prevents the compiler from complaining about variables that appear unused. +// +// Deprecated: Use the standard C++17 `[[maybe_unused]]` instead. +// +// Due to differences in positioning requirements between the old, compiler +// specific __attribute__ syntax and the now standard `[[maybe_unused]]`, this +// macro does not attempt to take advantage of `[[maybe_unused]]`. +#if ABSL_HAVE_ATTRIBUTE(unused) || (defined(__GNUC__) && !defined(__clang__)) +#undef ABSL_ATTRIBUTE_UNUSED +#define ABSL_ATTRIBUTE_UNUSED __attribute__((__unused__)) +#else +#define ABSL_ATTRIBUTE_UNUSED +#endif + +// ABSL_ATTRIBUTE_INITIAL_EXEC +// +// Tells the compiler to use "initial-exec" mode for a thread-local variable. +// See http://people.redhat.com/drepper/tls.pdf for the gory details. +#if ABSL_HAVE_ATTRIBUTE(tls_model) || (defined(__GNUC__) && !defined(__clang__)) +#define ABSL_ATTRIBUTE_INITIAL_EXEC __attribute__((tls_model("initial-exec"))) +#else +#define ABSL_ATTRIBUTE_INITIAL_EXEC +#endif + +// ABSL_ATTRIBUTE_PACKED +// +// Instructs the compiler not to use natural alignment for a tagged data +// structure, but instead to reduce its alignment to 1. +// +// Use of this attribute is HIGHLY DISCOURAGED. Taking the address of or +// binding a reference to any unaligned member is UB, and it is very easy to +// do so unintentionally when passing such members as function arguments. +// +// DO NOT APPLY THIS ATTRIBUTE TO STRUCTS CONTAINING ATOMICS. Doing +// so can cause atomic variables to be mis-aligned and silently violate +// atomicity on x86. +// +// This attribute can either be applied to members of a structure or to a +// structure in its entirety. Applying this attribute (judiciously) to a +// structure in its entirety to optimize the memory footprint of very +// commonly-used structs is fine. Do not apply this attribute to a structure in +// its entirety if the purpose is to control the offsets of the members in the +// structure. Instead, apply this attribute only to structure members that need +// it. +// +// When applying ABSL_ATTRIBUTE_PACKED only to specific structure members the +// natural alignment of structure members not annotated is preserved. Aligned +// member accesses are faster than non-aligned member accesses even if the +// targeted microprocessor supports non-aligned accesses. +#if ABSL_HAVE_ATTRIBUTE(packed) || (defined(__GNUC__) && !defined(__clang__)) +#define ABSL_ATTRIBUTE_PACKED __attribute__((__packed__)) +#else +#define ABSL_ATTRIBUTE_PACKED +#endif + +// ABSL_ATTRIBUTE_FUNC_ALIGN +// +// Tells the compiler to align the function start at least to certain +// alignment boundary +#if ABSL_HAVE_ATTRIBUTE(aligned) || (defined(__GNUC__) && !defined(__clang__)) +#define ABSL_ATTRIBUTE_FUNC_ALIGN(bytes) __attribute__((aligned(bytes))) +#else +#define ABSL_ATTRIBUTE_FUNC_ALIGN(bytes) +#endif + +// ABSL_FALLTHROUGH_INTENDED +// +// Annotates implicit fall-through between switch labels, allowing a case to +// indicate intentional fallthrough and turn off warnings about any lack of a +// `break` statement. The ABSL_FALLTHROUGH_INTENDED macro should be followed by +// a semicolon and can be used in most places where `break` can, provided that +// no statements exist between it and the next switch label. +// +// Example: +// +// switch (x) { +// case 40: +// case 41: +// if (truth_is_out_there) { +// ++x; +// ABSL_FALLTHROUGH_INTENDED; // Use instead of/along with annotations +// // in comments +// } else { +// return x; +// } +// case 42: +// ... +// +// Notes: When supported, GCC and Clang can issue a warning on switch labels +// with unannotated fallthrough using the warning `-Wimplicit-fallthrough`. See +// clang documentation on language extensions for details: +// https://clang.llvm.org/docs/AttributeReference.html#fallthrough-clang-fallthrough +// +// When used with unsupported compilers, the ABSL_FALLTHROUGH_INTENDED macro has +// no effect on diagnostics. In any case this macro has no effect on runtime +// behavior and performance of code. + +#ifdef ABSL_FALLTHROUGH_INTENDED +#error "ABSL_FALLTHROUGH_INTENDED should not be defined." +#elif ABSL_HAVE_CPP_ATTRIBUTE(fallthrough) +#define ABSL_FALLTHROUGH_INTENDED [[fallthrough]] +#elif ABSL_HAVE_CPP_ATTRIBUTE(clang::fallthrough) +#define ABSL_FALLTHROUGH_INTENDED [[clang::fallthrough]] +#elif ABSL_HAVE_CPP_ATTRIBUTE(gnu::fallthrough) +#define ABSL_FALLTHROUGH_INTENDED [[gnu::fallthrough]] +#else +#define ABSL_FALLTHROUGH_INTENDED \ + do { \ + } while (0) +#endif + +// ABSL_DEPRECATED() +// +// Marks a deprecated class, struct, enum, function, method and variable +// declarations. The macro argument is used as a custom diagnostic message (e.g. +// suggestion of a better alternative). +// +// For code or headers that are assured to only build with C++14 and up, prefer +// just using the standard `[[deprecated("message")]]` directly over this macro. +// +// Examples: +// +// class ABSL_DEPRECATED("Use Bar instead") Foo {...}; +// +// ABSL_DEPRECATED("Use Baz() instead") void Bar() {...} +// +// template +// ABSL_DEPRECATED("Use DoThat() instead") +// void DoThis(); +// +// enum FooEnum { +// kBar ABSL_DEPRECATED("Use kBaz instead"), +// }; +// +// Every usage of a deprecated entity will trigger a warning when compiled with +// GCC/Clang's `-Wdeprecated-declarations` option. Google's production toolchain +// turns this warning off by default, instead relying on clang-tidy to report +// new uses of deprecated code. +#if ABSL_HAVE_ATTRIBUTE(deprecated) +#define ABSL_DEPRECATED(message) __attribute__((deprecated(message))) +#else +#define ABSL_DEPRECATED(message) +#endif + +// When deprecating Abseil code, it is sometimes necessary to turn off the +// warning within Abseil, until the deprecated code is actually removed. The +// deprecated code can be surrounded with these directives to achieve that +// result. +// +// class ABSL_DEPRECATED("Use Bar instead") Foo; +// +// ABSL_INTERNAL_DISABLE_DEPRECATED_DECLARATION_WARNING +// Baz ComputeBazFromFoo(Foo f); +// ABSL_INTERNAL_RESTORE_DEPRECATED_DECLARATION_WARNING +#if defined(__GNUC__) || defined(__clang__) +// Clang also supports these GCC pragmas. +#define ABSL_INTERNAL_DISABLE_DEPRECATED_DECLARATION_WARNING \ + _Pragma("GCC diagnostic push") \ + _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"") +#define ABSL_INTERNAL_RESTORE_DEPRECATED_DECLARATION_WARNING \ + _Pragma("GCC diagnostic pop") +#elif defined(_MSC_VER) +#define ABSL_INTERNAL_DISABLE_DEPRECATED_DECLARATION_WARNING \ + _Pragma("warning(push)") _Pragma("warning(disable: 4996)") +#define ABSL_INTERNAL_RESTORE_DEPRECATED_DECLARATION_WARNING \ + _Pragma("warning(pop)") +#else +#define ABSL_INTERNAL_DISABLE_DEPRECATED_DECLARATION_WARNING +#define ABSL_INTERNAL_RESTORE_DEPRECATED_DECLARATION_WARNING +#endif // defined(__GNUC__) || defined(__clang__) + +// ABSL_CONST_INIT +// +// A variable declaration annotated with the `ABSL_CONST_INIT` attribute will +// not compile (on supported platforms) unless the variable has a constant +// initializer. This is useful for variables with static and thread storage +// duration, because it guarantees that they will not suffer from the so-called +// "static init order fiasco". +// +// This attribute must be placed on the initializing declaration of the +// variable. Some compilers will give a -Wmissing-constinit warning when this +// attribute is placed on some other declaration but missing from the +// initializing declaration. +// +// In some cases (notably with thread_local variables), `ABSL_CONST_INIT` can +// also be used in a non-initializing declaration to tell the compiler that a +// variable is already initialized, reducing overhead that would otherwise be +// incurred by a hidden guard variable. Thus annotating all declarations with +// this attribute is recommended to potentially enhance optimization. +// +// Example: +// +// class MyClass { +// public: +// ABSL_CONST_INIT static MyType my_var; +// }; +// +// ABSL_CONST_INIT MyType MyClass::my_var = MakeMyType(...); +// +// For code or headers that are assured to only build with C++20 and up, prefer +// just using the standard `constinit` keyword directly over this macro. +// +// Note that this attribute is redundant if the variable is declared constexpr. +#if defined(__cpp_constinit) && __cpp_constinit >= 201907L +#define ABSL_CONST_INIT constinit +#elif ABSL_HAVE_CPP_ATTRIBUTE(clang::require_constant_initialization) +#define ABSL_CONST_INIT [[clang::require_constant_initialization]] +#else +#define ABSL_CONST_INIT +#endif + +// ABSL_REQUIRE_EXPLICIT_INIT +// +// ABSL_REQUIRE_EXPLICIT_INIT is placed *after* the data members of an aggregate +// type to indicate that the annotated member must be explicitly initialized by +// the user whenever the aggregate is constructed. For example: +// +// struct Coord { +// int x ABSL_REQUIRE_EXPLICIT_INIT; +// int y ABSL_REQUIRE_EXPLICIT_INIT; +// }; +// Coord coord = {1}; // warning: field 'y' is not explicitly initialized +// +// Note that usage on C arrays is not supported in C++. +// Use a struct (such as std::array) to wrap the array member instead. +// +// Avoid applying this attribute to the members of non-aggregate types. +// The behavior within non-aggregates is unspecified and subject to change. +// +// Do NOT attempt to suppress or demote the error generated by this attribute. +// Just like with a missing function argument, it is a hard error by design. +// +// See the upstream documentation for more details: +// https://clang.llvm.org/docs/AttributeReference.html#require-explicit-initialization +#ifdef __cplusplus +#if ABSL_HAVE_CPP_ATTRIBUTE(clang::require_explicit_initialization) +// clang-format off +#define ABSL_REQUIRE_EXPLICIT_INIT \ + [[clang::require_explicit_initialization]] = \ + AbslInternal_YouForgotToExplicitlyInitializeAField::v +#else +#define ABSL_REQUIRE_EXPLICIT_INIT \ + = AbslInternal_YouForgotToExplicitlyInitializeAField::v +#endif +// clang-format on +#else +// clang-format off +#if ABSL_HAVE_ATTRIBUTE(require_explicit_initialization) +#define ABSL_REQUIRE_EXPLICIT_INIT \ + __attribute__((require_explicit_initialization)) +#else +#define ABSL_REQUIRE_EXPLICIT_INIT \ + /* No portable fallback for C is available */ +#endif +// clang-format on +#endif + +#ifdef __cplusplus +struct AbslInternal_YouForgotToExplicitlyInitializeAField { + // A portable version of [[clang::require_explicit_initialization]] that + // never builds, as a last resort for all toolchains. + // The error messages are poor, so we don't rely on this unless we have to. + template +#if !defined(SWIG) + constexpr +#endif + operator T() const /* NOLINT */ { + const void *volatile deliberately_volatile_ptr = nullptr; + // Infinite loop to prevent constexpr compilation + for (;;) { + // This assignment ensures the 'this' pointer is not optimized away, so + // that linking always fails. + deliberately_volatile_ptr = this; // Deliberately not constexpr + (void)deliberately_volatile_ptr; + } + } + // This is deliberately left undefined to prevent linking + static AbslInternal_YouForgotToExplicitlyInitializeAField v; +}; +#endif + +// ABSL_ATTRIBUTE_PURE_FUNCTION +// +// ABSL_ATTRIBUTE_PURE_FUNCTION is used to annotate declarations of "pure" +// functions. A function is pure if its return value is only a function of its +// arguments. The pure attribute prohibits a function from modifying the state +// of the program that is observable by means other than inspecting the +// function's return value. Declaring such functions with the pure attribute +// allows the compiler to avoid emitting some calls in repeated invocations of +// the function with the same argument values. +// +// Example: +// +// ABSL_ATTRIBUTE_PURE_FUNCTION std::string FormatTime(Time t); +#if ABSL_HAVE_CPP_ATTRIBUTE(gnu::pure) +#define ABSL_ATTRIBUTE_PURE_FUNCTION [[gnu::pure]] +#elif ABSL_HAVE_ATTRIBUTE(pure) +#define ABSL_ATTRIBUTE_PURE_FUNCTION __attribute__((pure)) +#else +// If the attribute isn't defined, we'll fallback to ABSL_MUST_USE_RESULT since +// pure functions are useless if its return is ignored. +#define ABSL_ATTRIBUTE_PURE_FUNCTION ABSL_MUST_USE_RESULT +#endif + +// ABSL_ATTRIBUTE_CONST_FUNCTION +// +// ABSL_ATTRIBUTE_CONST_FUNCTION is used to annotate declarations of "const" +// functions. A const function is similar to a pure function, with one +// exception: Pure functions may return value that depend on a non-volatile +// object that isn't provided as a function argument, while the const function +// is guaranteed to return the same result given the same arguments. +// +// Example: +// +// ABSL_ATTRIBUTE_CONST_FUNCTION int64_t ToInt64Milliseconds(Duration d); +#if defined(_MSC_VER) && !defined(__clang__) +// Put the MSVC case first since MSVC seems to parse const as a C++ keyword. +#define ABSL_ATTRIBUTE_CONST_FUNCTION ABSL_ATTRIBUTE_PURE_FUNCTION +#elif ABSL_HAVE_CPP_ATTRIBUTE(gnu::const) +#define ABSL_ATTRIBUTE_CONST_FUNCTION [[gnu::const]] +#elif ABSL_HAVE_ATTRIBUTE(const) +#define ABSL_ATTRIBUTE_CONST_FUNCTION __attribute__((const)) +#else +// Since const functions are more restrictive pure function, we'll fallback to a +// pure function if the const attribute is not handled. +#define ABSL_ATTRIBUTE_CONST_FUNCTION ABSL_ATTRIBUTE_PURE_FUNCTION +#endif + +// ABSL_ATTRIBUTE_LIFETIME_BOUND indicates that a resource owned by a function +// parameter or implicit object parameter is retained by the return value of the +// annotated function (or, for a parameter of a constructor, in the value of the +// constructed object). This attribute causes warnings to be produced if a +// temporary object does not live long enough. +// +// When applied to a reference parameter, the referenced object is assumed to be +// retained by the return value of the function. When applied to a non-reference +// parameter (for example, a pointer or a class type), all temporaries +// referenced by the parameter are assumed to be retained by the return value of +// the function. +// +// See also the upstream documentation: +// https://clang.llvm.org/docs/AttributeReference.html#lifetimebound +// https://learn.microsoft.com/en-us/cpp/code-quality/c26816?view=msvc-170 +#if ABSL_HAVE_CPP_ATTRIBUTE(clang::lifetimebound) +#define ABSL_ATTRIBUTE_LIFETIME_BOUND [[clang::lifetimebound]] +#elif ABSL_HAVE_CPP_ATTRIBUTE(msvc::lifetimebound) +#define ABSL_ATTRIBUTE_LIFETIME_BOUND [[msvc::lifetimebound]] +#elif ABSL_HAVE_ATTRIBUTE(lifetimebound) +#define ABSL_ATTRIBUTE_LIFETIME_BOUND __attribute__((lifetimebound)) +#else +#define ABSL_ATTRIBUTE_LIFETIME_BOUND +#endif + +// Internal attribute; name and documentation TBD. +// +// See the upstream documentation: +// https://clang.llvm.org/docs/AttributeReference.html#lifetime_capture_by +#if ABSL_HAVE_CPP_ATTRIBUTE(clang::lifetime_capture_by) +#define ABSL_INTERNAL_ATTRIBUTE_CAPTURED_BY(Owner) \ + [[clang::lifetime_capture_by(Owner)]] +#else +#define ABSL_INTERNAL_ATTRIBUTE_CAPTURED_BY(Owner) +#endif + +// ABSL_ATTRIBUTE_VIEW indicates that a type is solely a "view" of data that it +// points to, similarly to a span, string_view, or other non-owning reference +// type. +// This enables diagnosing certain lifetime issues similar to those enabled by +// ABSL_ATTRIBUTE_LIFETIME_BOUND, such as: +// +// struct ABSL_ATTRIBUTE_VIEW StringView { +// template +// StringView(const R&); +// }; +// +// StringView f(std::string s) { +// return s; // warning: address of stack memory returned +// } +// +// We disable this on Clang versions < 13 because of the following +// false-positive: +// +// absl::string_view f(absl::optional sv) { return *sv; } +// +// See the following links for details: +// https://reviews.llvm.org/D64448 +// https://lists.llvm.org/pipermail/cfe-dev/2018-November/060355.html +#if ABSL_HAVE_CPP_ATTRIBUTE(gsl::Pointer) && \ + (!defined(__clang_major__) || __clang_major__ >= 13) +#define ABSL_ATTRIBUTE_VIEW [[gsl::Pointer]] +#else +#define ABSL_ATTRIBUTE_VIEW +#endif + +// ABSL_ATTRIBUTE_OWNER indicates that a type is a container, smart pointer, or +// similar class that owns all the data that it points to. +// This enables diagnosing certain lifetime issues similar to those enabled by +// ABSL_ATTRIBUTE_LIFETIME_BOUND, such as: +// +// struct ABSL_ATTRIBUTE_VIEW StringView { +// template +// StringView(const R&); +// }; +// +// struct ABSL_ATTRIBUTE_OWNER String {}; +// +// StringView f(String s) { +// return s; // warning: address of stack memory returned +// } +// +// We disable this on Clang versions < 13 because of the following +// false-positive: +// +// absl::string_view f(absl::optional sv) { return *sv; } +// +// See the following links for details: +// https://reviews.llvm.org/D64448 +// https://lists.llvm.org/pipermail/cfe-dev/2018-November/060355.html +#if ABSL_HAVE_CPP_ATTRIBUTE(gsl::Owner) && \ + (!defined(__clang_major__) || __clang_major__ >= 13) +#define ABSL_ATTRIBUTE_OWNER [[gsl::Owner]] +#else +#define ABSL_ATTRIBUTE_OWNER +#endif + +// ABSL_ATTRIBUTE_TRIVIAL_ABI +// Indicates that a type is "trivially relocatable" -- meaning it can be +// relocated without invoking the constructor/destructor, using a form of move +// elision. +// +// From a memory safety point of view, putting aside destructor ordering, it's +// safe to apply ABSL_ATTRIBUTE_TRIVIAL_ABI if an object's location +// can change over the course of its lifetime: if a constructor can be run one +// place, and then the object magically teleports to another place where some +// methods are run, and then the object teleports to yet another place where it +// is destroyed. This is notably not true for self-referential types, where the +// move-constructor must keep the self-reference up to date. If the type changed +// location without invoking the move constructor, it would have a dangling +// self-reference. +// +// The use of this teleporting machinery means that the number of paired +// move/destroy operations can change, and so it is a bad idea to apply this to +// a type meant to count the number of moves. +// +// Warning: applying this can, rarely, break callers. Objects passed by value +// will be destroyed at the end of the call, instead of the end of the +// full-expression containing the call. In addition, it changes the ABI +// of functions accepting this type by value (e.g. to pass in registers). +// +// See also the upstream documentation: +// https://clang.llvm.org/docs/AttributeReference.html#trivial-abi +// +// b/321691395 - This is currently disabled in open-source builds since +// compiler support differs. If system libraries compiled with GCC are mixed +// with libraries compiled with Clang, types will have different ideas about +// their ABI, leading to hard to debug crashes. +#define ABSL_ATTRIBUTE_TRIVIAL_ABI + +// ABSL_ATTRIBUTE_NO_UNIQUE_ADDRESS +// +// Indicates a data member can be optimized to occupy no space (if it is empty) +// and/or its tail padding can be used for other members. +// +// For code that is assured to only build with C++20 or later, prefer using +// the standard attribute `[[no_unique_address]]` directly instead of this +// macro. +// +// https://devblogs.microsoft.com/cppblog/msvc-cpp20-and-the-std-cpp20-switch/#c20-no_unique_address +// Current versions of MSVC have disabled `[[no_unique_address]]` since it +// breaks ABI compatibility, but offers `[[msvc::no_unique_address]]` for +// situations when it can be assured that it is desired. Since Abseil does not +// claim ABI compatibility in mixed builds, we can offer it unconditionally. +#if defined(_MSC_VER) && _MSC_VER >= 1929 +#define ABSL_ATTRIBUTE_NO_UNIQUE_ADDRESS [[msvc::no_unique_address]] +#elif ABSL_HAVE_CPP_ATTRIBUTE(no_unique_address) +#define ABSL_ATTRIBUTE_NO_UNIQUE_ADDRESS [[no_unique_address]] +#else +#define ABSL_ATTRIBUTE_NO_UNIQUE_ADDRESS +#endif + +// ABSL_ATTRIBUTE_UNINITIALIZED +// +// GCC and Clang support a flag `-ftrivial-auto-var-init=