From 97eab1b172ff5fc534e70093fa0e3886f6671ac9 Mon Sep 17 00:00:00 2001 From: Vertexwahn Date: Mon, 1 Jan 2024 21:44:50 +0100 Subject: [PATCH] Sync update to public --- .editorconfig | 1 + .github/workflows/spelling.yml | 2 +- README.md | 6 +- azure-pipelines.yml | 29 +- devertexwahn/.bazelrc | 88 +- devertexwahn/.bazelversion | 2 +- devertexwahn/MODULE.bazel | 176 + devertexwahn/WORKSPACE.bazel | 59 +- devertexwahn/WORKSPACE.bzlmod | 42 + devertexwahn/ci/macOS-11-apple-clang13.yaml | 61 - devertexwahn/ci/macOS-12-apple-clang14.yaml | 12 +- devertexwahn/ci/macOS-13-apple-clang14.yaml | 12 +- devertexwahn/ci/ubuntu-20.04-clang14.yaml | 23 +- devertexwahn/ci/ubuntu-20.04-gcc9-dbg.yaml | 46 +- .../ci/ubuntu-20.04-gcc9-fast-opt.yaml | 40 - devertexwahn/ci/ubuntu-22.04-clang14.yaml | 25 +- devertexwahn/ci/ubuntu-22.04-gcc11-dbg.yaml | 12 + .../ci/ubuntu-22.04-gcc11-fast-opt.yaml | 16 +- devertexwahn/core/BUILD.bazel | 18 +- devertexwahn/core/object_factory.h | 1 + devertexwahn/core/object_factory_test.cpp | 4 +- devertexwahn/core/property_set.h | 3 + devertexwahn/core/reference_counted_test.cpp | 5 +- .../core/tests/third_party/BUILD.bazel | 4 +- devertexwahn/coverage.sh | 2 +- devertexwahn/flatland/docs/example_scenes.md | 5 + devertexwahn/flatland/docs/user_manual.md | 2 +- devertexwahn/flatland/rendering/BUILD.bazel | 28 +- .../flatland/rendering/bsdf/BUILD.bazel | 4 +- devertexwahn/flatland/rendering/bsdf/bsdf.h | 71 +- .../flatland/rendering/bsdf/bsdf_test.cpp | 12 +- .../flatland/rendering/bsdf/svg_material.h | 40 +- .../flatland/rendering/canvas/BUILD.bazel | 2 +- .../flatland/rendering/canvas/svg_canvas.h | 2 +- devertexwahn/flatland/rendering/fresnel.h | 43 + .../flatland/rendering/fresnel_test.cpp | 51 + .../flatland/rendering/integrator/BUILD.bazel | 6 +- .../rendering/integrator/ambient_occlusion.h | 28 +- .../integrator/ambient_occlusion_test.cpp | 2 +- .../rendering/integrator/integrator.h | 32 +- .../integrator/path_mirror_reflection.h | 17 +- .../integrator/path_specular_transmission.h | 4 +- .../rendering/intersector/BUILD.bazel | 2 +- .../intersector/brute_force_intersector.h | 18 +- .../rendering/intersector/intersector.h | 14 +- .../intersector/quadtree_intersector.h | 8 +- devertexwahn/flatland/rendering/sampler.h | 10 + .../flatland/rendering/scene/BUILD.bazel | 2 +- .../flatland/rendering/scene/load_scene.cpp | 67 +- devertexwahn/flatland/rendering/scene/scene.h | 21 +- .../rendering/scene/shape/BUILD.bazel | 12 +- .../rendering/scene/shape/disk_test.cpp | 20 +- .../flatland/rendering/scene/shape/emitter.h | 4 +- .../rendering/scene/shape/emitter_test.cpp | 8 +- .../rendering/scene/shape/polygon_test.cpp | 19 +- .../flatland/rendering/scene/shape/shape.h | 58 +- .../rendering/scene/shape/triangle_mesh.h | 4 +- .../flatland/rendering/sensor/BUILD.bazel | 2 +- .../flatland/rendering/sensor/sensor.h | 28 +- .../flatland/tests/third_party/BUILD.bazel | 12 +- devertexwahn/imaging/BUILD.bazel | 25 +- devertexwahn/imaging/color.h | 82 +- devertexwahn/imaging/color_converter.h | 257 + devertexwahn/imaging/color_converter_test.cpp | 27 + devertexwahn/imaging/image.cpp | 117 - devertexwahn/imaging/image.h | 239 +- devertexwahn/imaging/image_test.cpp | 95 +- devertexwahn/imaging/io/BUILD.bazel | 24 +- devertexwahn/imaging/io/io.cpp | 52 +- devertexwahn/imaging/io/io.h | 6 +- devertexwahn/imaging/io/io_jpeg.cpp | 9 +- devertexwahn/imaging/io/io_openexr.cpp | 22 +- devertexwahn/imaging/io/io_png.cpp | 204 +- devertexwahn/imaging/io/io_png.h | 3 + devertexwahn/imaging/io/io_png_test.cpp | 65 +- devertexwahn/imaging/io/io_ppm_test.cpp | 2 +- devertexwahn/imaging/io/io_test.cpp | 87 +- devertexwahn/imaging/io/io_webp.cpp | 11 +- devertexwahn/imaging/io/io_webp_test.cpp | 9 + devertexwahn/imaging/iqa/iqa.cpp | 18 +- devertexwahn/imaging/iqa/iqa.h | 4 +- devertexwahn/imaging/iqa/iqa_test.cpp | 9 + devertexwahn/imaging/tests/data/BUILD.bazel | 2 + devertexwahn/imaging/tests/data/RGBA.png | Bin 0 -> 36823 bytes devertexwahn/imaging/tests/data/bay.png | Bin 0 -> 170 bytes .../imaging/tests/third_party/BUILD.bazel | 12 +- .../tests/third_party/libjpeg_turbo_test.cpp | 2 +- .../imaging/tests/third_party/libpng_test.cpp | 2 +- .../tests/third_party/libwebp_test.cpp | 2 +- .../tests/third_party/openexr_test.cpp | 2 +- .../imaging/tests/third_party/zlib_test.cpp | 4 +- devertexwahn/math/BUILD.bazel | 52 +- devertexwahn/math/axis_aligned_bounding_box.h | 24 +- devertexwahn/math/frame.h | 34 +- devertexwahn/math/frame_test.cpp | 5 + devertexwahn/math/intersection.h | 16 +- devertexwahn/math/matrix.h | 204 +- devertexwahn/math/matrix_test.cpp | 21 + devertexwahn/math/normal.h | 6 +- devertexwahn/math/point.h | 16 +- devertexwahn/math/quaternion.h | 22 + devertexwahn/math/quaternion_test.cpp | 16 + devertexwahn/math/ray.h | 12 +- devertexwahn/math/refract.cpp | 2 +- devertexwahn/math/refract.h | 2 +- .../math/tests/third_party/BUILD.bazel | 14 +- .../math/tests/third_party/eigen_test.cpp | 18 + .../math/tests/third_party/xtensor_test.cpp | 2 +- devertexwahn/math/transform.h | 73 +- devertexwahn/math/vector.h | 8 +- devertexwahn/okapi/third_party/libpng.BUILD | 55 - devertexwahn/okapi/third_party/okapi_deps.bzl | 238 +- devertexwahn/okapi/third_party/xtl.BUILD | 33 +- devertexwahn/okapi/third_party/zlib.BUILD | 98 - third_party/Catch2/.bazelrc | 1 + .../.github/workflows/linux-bazel-builds.yml | 2 +- .../.github/workflows/linux-meson-builds.yml | 6 +- .../.github/workflows/linux-other-builds.yml | 6 +- .../.github/workflows/linux-simple-builds.yml | 6 +- .../Catch2/.github/workflows/mac-builds.yml | 7 +- .../workflows/validate-header-guards.yml | 2 +- .../workflows/windows-simple-builds.yml | 2 +- .../Catch2/CMake/CatchConfigOptions.cmake | 4 + .../Catch2/CMake/CatchMiscFunctions.cmake | 1 - third_party/Catch2/CMakeLists.txt | 3 +- third_party/Catch2/Doxyfile | 308 +- third_party/Catch2/MODULE.bazel | 3 + third_party/Catch2/WORKSPACE.bazel | 6 +- third_party/Catch2/appveyor.yml | 11 - third_party/Catch2/docs/benchmarks.md | 2 +- third_party/Catch2/docs/ci-and-misc.md | 2 +- third_party/Catch2/docs/cmake-integration.md | 4 +- third_party/Catch2/docs/command-line.md | 109 +- third_party/Catch2/docs/faq.md | 25 +- third_party/Catch2/docs/generators.md | 25 + third_party/Catch2/docs/limitations.md | 10 - third_party/Catch2/docs/matchers.md | 44 +- third_party/Catch2/docs/release-notes.md | 51 +- .../Catch2/docs/skipping-passing-failing.md | 2 +- .../Catch2/docs/test-cases-and-sections.md | 2 +- third_party/Catch2/docs/tostring.md | 2 +- third_party/Catch2/docs/tutorial.md | 9 +- third_party/Catch2/docs/why-catch.md | 6 +- third_party/Catch2/examples/010-TestCase.cpp | 8 + .../Catch2/examples/020-TestCase-1.cpp | 8 + .../Catch2/examples/020-TestCase-2.cpp | 8 + .../Catch2/examples/030-Asn-Require-Check.cpp | 8 + .../Catch2/examples/100-Fix-Section.cpp | 8 + .../Catch2/examples/110-Fix-ClassFixture.cpp | 8 + .../120-Bdd-ScenarioGivenWhenThen.cpp | 8 + .../examples/210-Evt-EventListeners.cpp | 8 + .../Catch2/examples/231-Cfg-OutputStreams.cpp | 8 + .../Catch2/examples/300-Gen-OwnGenerator.cpp | 8 + .../examples/301-Gen-MapTypeConversion.cpp | 8 + third_party/Catch2/examples/302-Gen-Table.cpp | 8 + .../310-Gen-VariablesInGenerators.cpp | 8 + .../Catch2/examples/311-Gen-CustomCapture.cpp | 8 + third_party/Catch2/examples/CMakeLists.txt | 2 +- third_party/Catch2/extras/Catch.cmake | 31 +- third_party/Catch2/extras/CatchAddTests.cmake | 6 +- .../Catch2/extras/catch_amalgamated.cpp | 1026 +- .../Catch2/extras/catch_amalgamated.hpp | 1673 +- third_party/Catch2/fuzzing/NullOStream.cpp | 8 + third_party/Catch2/fuzzing/NullOStream.h | 8 + .../Catch2/fuzzing/fuzz_TestSpecParser.cpp | 8 +- third_party/Catch2/fuzzing/fuzz_XmlWriter.cpp | 8 +- third_party/Catch2/fuzzing/fuzz_textflow.cpp | 8 +- third_party/Catch2/meson.build | 2 +- third_party/Catch2/src/CMakeLists.txt | 17 +- .../src/catch2/benchmark/catch_benchmark.hpp | 14 +- .../catch2/benchmark/catch_chronometer.hpp | 5 +- .../src/catch2/benchmark/catch_clock.hpp | 16 +- .../catch2/benchmark/catch_environment.hpp | 14 +- .../src/catch2/benchmark/catch_estimate.hpp | 13 +- .../catch2/benchmark/catch_execution_plan.hpp | 24 +- .../src/catch2/benchmark/catch_optimizer.hpp | 2 +- .../benchmark/catch_sample_analysis.hpp | 25 +- .../catch2/benchmark/detail/catch_analyse.cpp | 85 + .../catch2/benchmark/detail/catch_analyse.hpp | 63 +- .../detail/catch_benchmark_stats.hpp | 28 +- .../detail/catch_benchmark_stats_fwd.hpp | 4 +- .../benchmark/detail/catch_estimate_clock.hpp | 26 +- .../catch2/benchmark/detail/catch_measure.hpp | 2 +- .../detail/catch_run_for_at_least.hpp | 8 +- .../catch2/benchmark/detail/catch_stats.cpp | 145 +- .../catch2/benchmark/detail/catch_stats.hpp | 99 +- .../catch2/benchmark/detail/catch_timing.hpp | 8 +- third_party/Catch2/src/catch2/catch_all.hpp | 5 + .../Catch2/src/catch2/catch_approx.cpp | 4 +- .../Catch2/src/catch2/catch_message.hpp | 1 + .../src/catch2/catch_test_case_info.cpp | 1 + .../src/catch2/catch_test_case_info.hpp | 3 +- .../Catch2/src/catch2/catch_tostring.hpp | 6 + .../Catch2/src/catch2/catch_version.cpp | 2 +- .../src/catch2/catch_version_macros.hpp | 4 +- .../generators/catch_generators_random.cpp | 32 +- .../generators/catch_generators_random.hpp | 35 +- .../generators/catch_generators_range.hpp | 9 +- .../interfaces/catch_interfaces_reporter.cpp | 8 - .../interfaces/catch_interfaces_reporter.hpp | 1 - .../internal/catch_assertion_handler.cpp | 2 - .../src/catch2/internal/catch_clara.cpp | 122 +- .../src/catch2/internal/catch_clara.hpp | 132 +- .../src/catch2/internal/catch_commandline.cpp | 5 +- .../internal/catch_compiler_capabilities.hpp | 4 +- .../catch_fatal_condition_handler.cpp | 1 + .../catch_fatal_condition_handler.hpp | 3 - .../internal/catch_floating_point_helpers.cpp | 11 + .../internal/catch_floating_point_helpers.hpp | 5 + .../src/catch2/internal/catch_jsonwriter.cpp | 148 + .../src/catch2/internal/catch_jsonwriter.hpp | 120 + .../Catch2/src/catch2/internal/catch_list.cpp | 3 - .../src/catch2/internal/catch_polyfills.cpp | 8 + .../src/catch2/internal/catch_polyfills.hpp | 5 + .../catch_random_floating_point_helpers.hpp | 94 + .../internal/catch_random_integer_helpers.hpp | 202 + .../internal/catch_random_seed_generation.cpp | 9 +- .../internal/catch_reporter_registry.cpp | 5 +- .../internal/catch_reporter_spec_parser.hpp | 2 +- .../src/catch2/internal/catch_run_context.cpp | 12 +- .../src/catch2/internal/catch_section.cpp | 2 +- .../src/catch2/internal/catch_section.hpp | 4 +- .../src/catch2/internal/catch_sharding.hpp | 3 +- .../src/catch2/internal/catch_stringref.hpp | 4 +- .../internal/catch_tag_alias_registry.cpp | 1 - .../catch_test_case_registry_impl.cpp | 4 - .../catch2/internal/catch_test_macro_impl.hpp | 2 +- .../catch2/internal/catch_test_registry.hpp | 2 +- .../src/catch2/internal/catch_textflow.cpp | 33 +- .../src/catch2/internal/catch_textflow.hpp | 36 +- .../internal/catch_uncaught_exceptions.cpp | 1 - ...ch_uniform_floating_point_distribution.hpp | 131 + .../catch_uniform_integer_distribution.hpp | 124 + .../catch_matchers_floating_point.cpp | 15 - third_party/Catch2/src/catch2/meson.build | 22 + .../reporters/catch_reporter_console.cpp | 24 +- .../catch2/reporters/catch_reporter_json.cpp | 372 + .../catch2/reporters/catch_reporter_json.hpp | 95 + .../catch2/reporters/catch_reporter_xml.cpp | 9 +- .../catch2/reporters/catch_reporters_all.hpp | 1 + third_party/Catch2/tests/CMakeLists.txt | 8 +- .../Baselines/automake.sw.approved.txt | 8 + .../Baselines/automake.sw.multi.approved.txt | 8 + .../Baselines/compact.sw.approved.txt | 157 +- .../Baselines/compact.sw.multi.approved.txt | 157 +- .../Baselines/console.std.approved.txt | 49 +- .../Baselines/console.sw.approved.txt | 529 +- .../Baselines/console.sw.multi.approved.txt | 529 +- .../SelfTest/Baselines/junit.sw.approved.txt | 61 +- .../Baselines/junit.sw.multi.approved.txt | 61 +- .../Baselines/sonarqube.sw.approved.txt | 60 + .../Baselines/sonarqube.sw.multi.approved.txt | 60 + .../SelfTest/Baselines/tap.sw.approved.txt | 76 +- .../Baselines/tap.sw.multi.approved.txt | 76 +- .../Baselines/teamcity.sw.approved.txt | 20 + .../Baselines/teamcity.sw.multi.approved.txt | 20 + .../SelfTest/Baselines/xml.sw.approved.txt | 521 +- .../Baselines/xml.sw.multi.approved.txt | 521 +- .../AssertionHandler.tests.cpp | 17 + .../FloatingPoint.tests.cpp | 59 + .../GeneratorsImpl.tests.cpp | 29 + .../IntrospectiveTests/Integer.tests.cpp | 150 + .../InternalBenchmark.tests.cpp | 54 +- .../IntrospectiveTests/Json.tests.cpp | 152 + .../RandomNumberGeneration.tests.cpp | 528 + .../IntrospectiveTests/Reporters.tests.cpp | 4 +- .../IntrospectiveTests/String.tests.cpp | 2 +- .../SelfTest/UsageTests/Generators.tests.cpp | 12 +- .../SelfTest/UsageTests/Message.tests.cpp | 31 +- .../tests/SelfTest/UsageTests/Misc.tests.cpp | 12 + .../UsageTests/ToStringOptional.tests.cpp | 4 + third_party/Catch2/tests/meson.build | 1 + .../Catch2/tools/scripts/checkLicense.py | 3 +- .../tools/scripts/generateAmalgamatedFiles.py | 10 + .../Catch2/tools/scripts/releaseCommon.py | 4 +- third_party/abseil-cpp/CMake/AbseilDll.cmake | 27 +- third_party/abseil-cpp/CMakeLists.txt | 5 + third_party/abseil-cpp/WORKSPACE | 11 +- .../abseil-cpp/absl/algorithm/BUILD.bazel | 26 +- .../abseil-cpp/absl/algorithm/CMakeLists.txt | 1 + .../abseil-cpp/absl/algorithm/algorithm.h | 111 +- .../absl/algorithm/algorithm_test.cc | 141 - .../abseil-cpp/absl/algorithm/container.h | 128 +- .../absl/algorithm/container_test.cc | 22 +- .../absl/algorithm/equal_benchmark.cc | 126 - third_party/abseil-cpp/absl/base/BUILD.bazel | 83 +- .../abseil-cpp/absl/base/CMakeLists.txt | 32 +- third_party/abseil-cpp/absl/base/attributes.h | 51 +- third_party/abseil-cpp/absl/base/call_once.h | 24 +- third_party/abseil-cpp/absl/base/casts.h | 2 +- third_party/abseil-cpp/absl/base/config.h | 113 +- .../abseil-cpp/absl/base/internal/endian.h | 25 +- .../abseil-cpp/absl/base/internal/identity.h | 6 +- .../absl/base/internal/inline_variable.h | 37 +- .../absl/base/internal/low_level_alloc.cc | 2 +- .../abseil-cpp/absl/base/internal/prefetch.h | 137 - .../absl/base/internal/prefetch_test.cc | 43 - .../absl/base/internal/raw_logging.cc | 20 +- .../absl/base/internal/raw_logging.h | 2 + .../abseil-cpp/absl/base/internal/spinlock.h | 21 +- .../absl/base/internal/spinlock_benchmark.cc | 34 +- .../abseil-cpp/absl/base/internal/sysinfo.cc | 20 + .../absl/base/internal/thread_annotations.h | 280 - .../absl/base/internal/thread_identity.cc | 14 +- .../absl/base/internal/unaligned_access.h | 19 +- .../abseil-cpp/absl/base/log_severity.h | 21 +- .../abseil-cpp/absl/base/log_severity_test.cc | 10 +- third_party/abseil-cpp/absl/base/macros.h | 12 + .../abseil-cpp/absl/base/no_destructor.h | 217 + .../absl/base/no_destructor_benchmark.cc | 165 + .../absl/base/no_destructor_test.cc | 209 + .../abseil-cpp/absl/base/optimization.h | 1 + third_party/abseil-cpp/absl/base/options.h | 26 + third_party/abseil-cpp/absl/base/prefetch.h | 39 +- .../absl/base/spinlock_test_common.cc | 13 + .../abseil-cpp/absl/base/thread_annotations.h | 2 - .../abseil-cpp/absl/cleanup/BUILD.bazel | 10 +- .../abseil-cpp/absl/container/BUILD.bazel | 70 +- .../abseil-cpp/absl/container/CMakeLists.txt | 32 +- .../abseil-cpp/absl/container/btree_map.h | 4 +- .../abseil-cpp/absl/container/btree_test.cc | 206 +- .../absl/container/fixed_array_test.cc | 2 +- .../abseil-cpp/absl/container/flat_hash_map.h | 6 +- .../absl/container/flat_hash_map_test.cc | 38 +- .../abseil-cpp/absl/container/flat_hash_set.h | 2 +- .../absl/container/flat_hash_set_test.cc | 65 + .../absl/container/inlined_vector_test.cc | 2 +- .../absl/container/internal/btree.h | 45 +- .../container/internal/common_policy_traits.h | 6 +- .../internal/common_policy_traits_test.cc | 18 +- .../container/internal/container_memory.h | 22 +- .../internal/container_memory_test.cc | 35 +- .../container/internal/counting_allocator.h | 122 - .../internal/hash_generator_testing.cc | 12 +- .../absl/container/internal/hashtable_debug.h | 8 - .../absl/container/internal/inlined_vector.h | 13 +- .../absl/container/internal/layout.h | 27 +- .../absl/container/internal/layout_test.cc | 7 +- .../container/internal/node_slot_policy.h | 5 +- .../internal/node_slot_policy_test.cc | 2 + .../absl/container/internal/raw_hash_map.h | 2 + .../absl/container/internal/raw_hash_set.cc | 172 +- .../absl/container/internal/raw_hash_set.h | 864 +- .../internal/raw_hash_set_allocator_test.cc | 119 +- .../internal/raw_hash_set_benchmark.cc | 56 +- .../internal/raw_hash_set_probe_benchmark.cc | 16 +- .../container/internal/raw_hash_set_test.cc | 341 +- .../absl/container/internal/test_allocator.h | 387 + third_party/abseil-cpp/absl/crc/BUILD.bazel | 18 +- .../abseil-cpp/absl/crc/CMakeLists.txt | 5 +- .../absl/crc/internal/cpu_detect.cc | 28 +- .../abseil-cpp/absl/crc/internal/cpu_detect.h | 6 + .../internal/crc32_x86_arm_combined_simd.h | 39 +- .../abseil-cpp/absl/crc/internal/crc_memcpy.h | 9 +- .../absl/crc/internal/crc_memcpy_fallback.cc | 6 +- .../absl/crc/internal/crc_memcpy_test.cc | 28 +- ...6_64.cc => crc_memcpy_x86_arm_combined.cc} | 112 +- .../absl/crc/internal/crc_x86_arm_combined.cc | 12 +- .../abseil-cpp/absl/debugging/BUILD.bazel | 15 +- .../absl/debugging/failure_signal_handler.cc | 2 +- .../debugging/internal/address_is_readable.cc | 6 +- .../absl/debugging/internal/demangle.cc | 24 + .../absl/debugging/internal/demangle.h | 68 +- .../absl/debugging/internal/demangle_test.cc | 30 +- .../internal/stacktrace_aarch64-inl.inc | 58 +- .../absl/debugging/symbolize_elf.inc | 152 +- third_party/abseil-cpp/absl/flags/BUILD.bazel | 22 +- .../abseil-cpp/absl/flags/CMakeLists.txt | 2 +- .../abseil-cpp/absl/flags/internal/usage.cc | 5 + .../abseil-cpp/absl/flags/marshalling.cc | 11 +- .../abseil-cpp/absl/flags/reflection.cc | 3 +- .../abseil-cpp/absl/functional/BUILD.bazel | 40 +- .../abseil-cpp/absl/functional/CMakeLists.txt | 24 + .../abseil-cpp/absl/functional/function_ref.h | 8 + .../absl/functional/function_ref_test.cc | 5 + .../absl/functional/internal/any_invocable.h | 4 +- .../abseil-cpp/absl/functional/overload.h | 75 + .../absl/functional/overload_test.cc | 130 + third_party/abseil-cpp/absl/hash/BUILD.bazel | 17 +- .../abseil-cpp/absl/hash/CMakeLists.txt | 18 +- .../abseil-cpp/absl/hash/hash_benchmark.cc | 14 +- third_party/abseil-cpp/absl/hash/hash_test.cc | 65 +- .../abseil-cpp/absl/hash/internal/hash.h | 51 +- third_party/abseil-cpp/absl/log/BUILD.bazel | 83 +- .../abseil-cpp/absl/log/CMakeLists.txt | 150 +- third_party/abseil-cpp/absl/log/absl_log.h | 12 + .../abseil-cpp/absl/log/absl_vlog_is_on.h | 115 + third_party/abseil-cpp/absl/log/check.h | 2 +- third_party/abseil-cpp/absl/log/flags.cc | 23 + third_party/abseil-cpp/absl/log/initialize.cc | 8 +- .../abseil-cpp/absl/log/internal/BUILD.bazel | 94 +- .../abseil-cpp/absl/log/internal/check_op.h | 60 +- .../abseil-cpp/absl/log/internal/conditions.h | 42 +- .../abseil-cpp/absl/log/internal/flags.h | 8 +- .../abseil-cpp/absl/log/internal/fnmatch.cc | 73 + .../abseil-cpp/absl/log/internal/fnmatch.h | 35 + .../absl/log/internal/fnmatch_benchmark.cc | 29 + .../absl/log/internal/fnmatch_test.cc | 59 + .../abseil-cpp/absl/log/internal/log_impl.h | 66 + .../absl/log/internal/log_message.h | 16 +- .../absl/log/internal/log_sink_set.cc | 16 +- .../abseil-cpp/absl/log/internal/strip.h | 7 +- .../absl/log/internal/vlog_config.cc | 340 + .../absl/log/internal/vlog_config.h | 163 + .../log/internal/vlog_config_benchmark.cc | 187 + third_party/abseil-cpp/absl/log/log.h | 39 + .../absl/log/log_basic_test_impl.inc | 90 + third_party/abseil-cpp/absl/log/log_entry.h | 3 +- .../abseil-cpp/absl/log/stripping_test.cc | 85 + third_party/abseil-cpp/absl/log/vlog_is_on.h | 70 + .../abseil-cpp/absl/log/vlog_is_on_test.cc | 175 + .../abseil-cpp/absl/memory/BUILD.bazel | 10 +- third_party/abseil-cpp/absl/meta/BUILD.bazel | 10 +- .../abseil-cpp/absl/numeric/BUILD.bazel | 13 +- third_party/abseil-cpp/absl/numeric/bits.h | 55 +- .../abseil-cpp/absl/profiling/BUILD.bazel | 13 +- .../abseil-cpp/absl/random/BUILD.bazel | 26 +- .../abseil-cpp/absl/random/distributions.h | 2 +- .../absl/random/internal/BUILD.bazel | 27 +- .../abseil-cpp/absl/status/BUILD.bazel | 24 +- .../abseil-cpp/absl/status/CMakeLists.txt | 17 +- .../absl/status/internal/status_internal.cc | 248 + .../absl/status/internal/status_internal.h | 69 +- .../absl/status/internal/statusor_internal.h | 55 +- third_party/abseil-cpp/absl/status/status.cc | 274 +- third_party/abseil-cpp/absl/status/status.h | 148 +- .../absl/status/status_payload_printer.cc | 4 +- .../absl/status/status_payload_printer.h | 5 +- .../abseil-cpp/absl/status/status_test.cc | 73 +- .../abseil-cpp/absl/status/statusor.cc | 7 +- third_party/abseil-cpp/absl/status/statusor.h | 46 +- .../abseil-cpp/absl/status/statusor_test.cc | 41 + .../abseil-cpp/absl/strings/BUILD.bazel | 237 +- .../abseil-cpp/absl/strings/CMakeLists.txt | 139 +- third_party/abseil-cpp/absl/strings/ascii.cc | 96 +- third_party/abseil-cpp/absl/strings/ascii.h | 14 +- .../absl/strings/ascii_benchmark.cc | 20 +- .../abseil-cpp/absl/strings/ascii_test.cc | 2 +- .../abseil-cpp/absl/strings/charconv.cc | 31 +- .../abseil-cpp/absl/strings/charconv.h | 9 +- .../abseil-cpp/absl/strings/charconv_test.cc | 7 +- third_party/abseil-cpp/absl/strings/charset.h | 164 + ..._map_benchmark.cc => charset_benchmark.cc} | 24 +- .../abseil-cpp/absl/strings/charset_test.cc | 181 + third_party/abseil-cpp/absl/strings/cord.cc | 335 +- third_party/abseil-cpp/absl/strings/cord.h | 230 +- .../abseil-cpp/absl/strings/cord_analysis.cc | 52 +- .../abseil-cpp/absl/strings/cord_analysis.h | 7 +- .../absl/strings/cord_buffer_test.cc | 4 +- .../absl/strings/cord_ring_reader_test.cc | 180 - .../abseil-cpp/absl/strings/cord_ring_test.cc | 1454 -- .../abseil-cpp/absl/strings/cord_test.cc | 125 +- .../abseil-cpp/absl/strings/cordz_test.cc | 10 +- .../absl/strings/cordz_test_helpers.h | 10 +- .../abseil-cpp/absl/strings/escaping.cc | 9 +- .../absl/strings/escaping_benchmark.cc | 4 + .../abseil-cpp/absl/strings/escaping_test.cc | 7 +- .../{internal => }/has_absl_stringify.h | 20 +- .../absl/strings/has_absl_stringify_test.cc | 40 + .../absl/strings/has_ostream_operator.h | 42 + .../absl/strings/has_ostream_operator_test.cc | 41 + .../absl/strings/internal/char_map.h | 158 - .../absl/strings/internal/char_map_test.cc | 172 - .../absl/strings/internal/cord_internal.cc | 6 - .../absl/strings/internal/cord_internal.h | 64 +- .../absl/strings/internal/cord_rep_ring.cc | 773 - .../absl/strings/internal/cord_rep_ring.h | 607 - .../strings/internal/cord_rep_ring_reader.h | 118 - .../absl/strings/internal/cordz_info.cc | 51 +- .../internal/cordz_info_statistics_test.cc | 103 +- .../absl/strings/internal/memutil.cc | 16 +- .../absl/strings/internal/str_format/arg.cc | 153 +- .../absl/strings/internal/str_format/arg.h | 96 +- .../strings/internal/str_format/arg_test.cc | 34 +- .../absl/strings/internal/str_format/bind.cc | 18 +- .../absl/strings/internal/str_format/bind.h | 11 +- .../internal/str_format/constexpr_parser.h | 11 +- .../internal/str_format/convert_test.cc | 352 +- .../strings/internal/str_format/extension.h | 14 +- .../absl/strings/internal/str_format/parser.h | 9 +- .../internal/str_format/parser_test.cc | 10 +- third_party/abseil-cpp/absl/strings/match.cc | 3 + .../abseil-cpp/absl/strings/match_test.cc | 3 + .../abseil-cpp/absl/strings/numbers.cc | 213 +- third_party/abseil-cpp/absl/strings/numbers.h | 89 +- .../absl/strings/numbers_benchmark.cc | 2 + .../abseil-cpp/absl/strings/numbers_test.cc | 25 + .../abseil-cpp/absl/strings/str_cat.cc | 52 +- third_party/abseil-cpp/absl/strings/str_cat.h | 125 +- .../absl/strings/str_cat_benchmark.cc | 68 +- .../abseil-cpp/absl/strings/str_cat_test.cc | 21 +- .../abseil-cpp/absl/strings/str_format.h | 50 +- .../absl/strings/str_format_test.cc | 12 +- .../abseil-cpp/absl/strings/str_join.h | 32 +- .../abseil-cpp/absl/strings/str_join_test.cc | 3 +- .../abseil-cpp/absl/strings/str_replace.cc | 15 +- .../abseil-cpp/absl/strings/str_replace.h | 13 +- .../absl/strings/str_replace_test.cc | 6 +- .../abseil-cpp/absl/strings/str_split.cc | 14 +- .../abseil-cpp/absl/strings/str_split.h | 18 + .../absl/strings/str_split_benchmark.cc | 1 + .../abseil-cpp/absl/strings/str_split_test.cc | 48 +- .../abseil-cpp/absl/strings/string_view.cc | 13 +- .../abseil-cpp/absl/strings/string_view.h | 117 +- .../absl/strings/string_view_benchmark.cc | 1 + .../absl/strings/string_view_test.cc | 79 +- third_party/abseil-cpp/absl/strings/strip.h | 7 +- .../abseil-cpp/absl/strings/substitute.cc | 16 +- .../abseil-cpp/absl/strings/substitute.h | 194 +- .../absl/strings/substitute_test.cc | 3 + .../absl/synchronization/BUILD.bazel | 20 +- .../blocking_counter_benchmark.cc | 5 +- .../internal/kernel_timeout_test.cc | 9 +- .../synchronization/internal/pthread_waiter.h | 4 +- .../absl/synchronization/internal/waiter.h | 2 + .../synchronization/internal/win32_waiter.h | 6 +- .../abseil-cpp/absl/synchronization/mutex.cc | 628 +- .../abseil-cpp/absl/synchronization/mutex.h | 123 +- .../absl/synchronization/mutex_benchmark.cc | 37 +- .../absl/synchronization/mutex_test.cc | 145 +- third_party/abseil-cpp/absl/time/BUILD.bazel | 11 +- third_party/abseil-cpp/absl/time/civil_time.h | 26 + .../absl/time/civil_time_benchmark.cc | 13 +- .../abseil-cpp/absl/time/civil_time_test.cc | 21 +- third_party/abseil-cpp/absl/time/clock.h | 6 +- third_party/abseil-cpp/absl/time/duration.cc | 6 +- .../absl/time/internal/cctz/BUILD.bazel | 9 +- .../cctz/include/cctz/civil_time_detail.h | 4 +- .../time/internal/cctz/src/cctz_benchmark.cc | 113 +- .../internal/cctz/src/time_zone_format.cc | 2 +- .../time/internal/cctz/src/time_zone_info.cc | 23 +- .../cctz/src/time_zone_lookup_test.cc | 112 - .../absl/time/internal/cctz/src/tzfile.h | 8 - .../internal/cctz/testdata/README.zoneinfo | 2 +- .../absl/time/internal/cctz/testdata/version | 2 +- .../cctz/testdata/zoneinfo/America/Ensenada | Bin 1025 -> 1025 bytes .../cctz/testdata/zoneinfo/America/Godthab | Bin 965 -> 965 bytes .../cctz/testdata/zoneinfo/America/Goose_Bay | Bin 1580 -> 1580 bytes .../testdata/zoneinfo/America/Indiana/Winamac | Bin 612 -> 603 bytes .../cctz/testdata/zoneinfo/America/Matamoros | Bin 437 -> 437 bytes .../cctz/testdata/zoneinfo/America/Metlakatla | Bin 595 -> 586 bytes .../cctz/testdata/zoneinfo/America/Moncton | Bin 1493 -> 1493 bytes .../cctz/testdata/zoneinfo/America/Nuuk | Bin 965 -> 965 bytes .../cctz/testdata/zoneinfo/America/Ojinaga | Bin 709 -> 718 bytes .../testdata/zoneinfo/America/Santa_Isabel | Bin 1025 -> 1025 bytes .../testdata/zoneinfo/America/Scoresbysund | Bin 479 -> 984 bytes .../cctz/testdata/zoneinfo/America/St_Johns | Bin 1878 -> 1878 bytes .../cctz/testdata/zoneinfo/America/Tijuana | Bin 1025 -> 1025 bytes .../cctz/testdata/zoneinfo/Antarctica/Casey | Bin 243 -> 287 bytes .../testdata/zoneinfo/Antarctica/Macquarie | Bin 976 -> 976 bytes .../cctz/testdata/zoneinfo/Antarctica/Troll | Bin 177 -> 158 bytes .../cctz/testdata/zoneinfo/Antarctica/Vostok | Bin 133 -> 170 bytes .../internal/cctz/testdata/zoneinfo/Asia/Gaza | Bin 2518 -> 2968 bytes .../cctz/testdata/zoneinfo/Asia/Hebron | Bin 2536 -> 2986 bytes .../cctz/testdata/zoneinfo/Asia/Nicosia | Bin 597 -> 597 bytes .../testdata/zoneinfo/Canada/Newfoundland | Bin 1878 -> 1878 bytes .../cctz/testdata/zoneinfo/Europe/Belfast | Bin 1599 -> 1599 bytes .../cctz/testdata/zoneinfo/Europe/Bucharest | Bin 661 -> 661 bytes .../cctz/testdata/zoneinfo/Europe/Chisinau | Bin 755 -> 755 bytes .../cctz/testdata/zoneinfo/Europe/Guernsey | Bin 1611 -> 1611 bytes .../cctz/testdata/zoneinfo/Europe/Isle_of_Man | Bin 1599 -> 1599 bytes .../cctz/testdata/zoneinfo/Europe/Jersey | Bin 1611 -> 1611 bytes .../cctz/testdata/zoneinfo/Europe/Kiev | Bin 558 -> 558 bytes .../cctz/testdata/zoneinfo/Europe/Kyiv | Bin 558 -> 558 bytes .../cctz/testdata/zoneinfo/Europe/London | Bin 1599 -> 1599 bytes .../cctz/testdata/zoneinfo/Europe/Nicosia | Bin 597 -> 597 bytes .../cctz/testdata/zoneinfo/Europe/Riga | Bin 694 -> 694 bytes .../cctz/testdata/zoneinfo/Europe/Sofia | Bin 592 -> 592 bytes .../cctz/testdata/zoneinfo/Europe/Tallinn | Bin 675 -> 675 bytes .../cctz/testdata/zoneinfo/Europe/Tiraspol | Bin 755 -> 755 bytes .../cctz/testdata/zoneinfo/Europe/Uzhgorod | Bin 558 -> 558 bytes .../cctz/testdata/zoneinfo/Europe/Vilnius | Bin 676 -> 676 bytes .../cctz/testdata/zoneinfo/Europe/Zaporozhye | Bin 558 -> 558 bytes .../time/internal/cctz/testdata/zoneinfo/GB | Bin 1599 -> 1599 bytes .../internal/cctz/testdata/zoneinfo/GB-Eire | Bin 1599 -> 1599 bytes .../cctz/testdata/zoneinfo/Mexico/BajaNorte | Bin 1025 -> 1025 bytes .../cctz/testdata/zoneinfo/Pacific/Norfolk | Bin 247 -> 237 bytes .../cctz/testdata/zoneinfo/iso3166.tab | 17 +- .../cctz/testdata/zoneinfo/zone1970.tab | 29 +- .../cctz/testdata/zoneinfo/zonenow.tab | 301 + third_party/abseil-cpp/absl/types/BUILD.bazel | 57 +- .../abseil-cpp/absl/types/CMakeLists.txt | 56 +- third_party/abseil-cpp/absl/types/compare.h | 160 +- .../abseil-cpp/absl/types/compare_test.cc | 89 - .../absl/types/internal/conformance_aliases.h | 447 - .../types/internal/conformance_archetype.h | 978 - .../absl/types/internal/conformance_profile.h | 933 - .../absl/types/internal/conformance_testing.h | 1386 -- .../internal/conformance_testing_helpers.h | 391 - .../internal/conformance_testing_test.cc | 1556 -- .../absl/types/internal/parentheses.h | 34 - .../absl/types/internal/transform_args.h | 246 - .../abseil-cpp/absl/types/internal/variant.h | 6 +- third_party/abseil-cpp/absl/types/optional.h | 5 +- third_party/abseil-cpp/absl/types/span.h | 13 +- .../abseil-cpp/absl/utility/BUILD.bazel | 11 +- third_party/abseil-cpp/absl/utility/utility.h | 104 +- .../abseil-cpp/absl/utility/utility_test.cc | 129 - .../abseil-cpp/ci/absl_alternate_options.h | 1 + third_party/abseil-cpp/ci/cmake_common.sh | 2 +- .../ci/linux_arm_clang-latest_libcxx_bazel.sh | 100 + .../linux_clang-latest_libcxx_asan_bazel.sh | 8 +- .../ci/linux_clang-latest_libcxx_bazel.sh | 8 +- .../linux_clang-latest_libcxx_tsan_bazel.sh | 8 +- .../ci/linux_clang-latest_libstdcxx_bazel.sh | 4 +- .../abseil-cpp/ci/linux_docker_containers.sh | 5 +- .../ci/linux_gcc-latest_libstdcxx_bazel.sh | 4 +- .../abseil-cpp/ci/windows_msvc_cmake.bat | 2 +- .../bazel-skylib/.bazelci/presubmit.yml | 43 +- third_party/bazel-skylib/CHANGELOG.md | 16 + third_party/bazel-skylib/MODULE.bazel | 4 +- third_party/bazel-skylib/WORKSPACE | 6 +- third_party/bazel-skylib/bzl_library.bzl | 3 + third_party/bazel-skylib/distribution/BUILD | 4 +- .../bazel-skylib/docs/common_settings_doc.md | 12 +- .../docs/private/stardoc_with_diff_test.bzl | 4 +- third_party/bazel-skylib/docs/unittest_doc.md | 3 +- third_party/bazel-skylib/docs/versions_doc.md | 3 + third_party/bazel-skylib/gazelle/MODULE.bazel | 4 +- third_party/bazel-skylib/gazelle/setup.bzl | 2 +- .../bazel-skylib/gazelle/workspace.bzl | 8 +- third_party/bazel-skylib/lib/unittest.bzl | 4 +- third_party/bazel-skylib/lib/versions.bzl | 5 + .../bazel-skylib/rules/common_settings.bzl | 40 +- .../rules/private/copy_directory_private.bzl | 5 +- .../rules/private/copy_file_private.bzl | 5 +- third_party/bazel-skylib/rules/run_binary.bzl | 4 +- third_party/bazel-skylib/tests/BUILD | 3 + .../bazel-skylib/tests/analysis_test_test.sh | 15 + .../bazel-skylib/tests/build_test_tests.bzl | 2 +- .../bazel-skylib/tests/common_settings/BUILD | 25 + .../common_settings/make_variable_test.sh | 17 + .../tests/common_settings_tests.bzl | 167 + .../bazel-skylib/tests/native_binary/BUILD | 2 +- .../bazel-skylib/tests/run_binary/BUILD | 2 +- .../bazel-skylib/tests/select_file/BUILD | 2 +- .../bazel-skylib/tests/subpackages_tests.bzl | 2 + .../bazel-skylib/tests/types_tests.bzl | 2 +- .../bazel-skylib/tests/versions_tests.bzl | 5 + third_party/bazel-skylib/version.bzl | 2 +- third_party/fmt/.github/dependabot.yml | 2 +- third_party/fmt/.github/workflows/cifuzz.yml | 4 +- third_party/fmt/.github/workflows/doc.yml | 2 +- third_party/fmt/.github/workflows/lint.yml | 26 + third_party/fmt/.github/workflows/linux.yml | 2 +- third_party/fmt/.github/workflows/macos.yml | 2 +- .../fmt/.github/workflows/scorecard.yml | 65 + third_party/fmt/.github/workflows/windows.yml | 4 +- third_party/fmt/.gitignore | 39 +- third_party/fmt/CMakeLists.txt | 27 +- third_party/fmt/ChangeLog.md | 5526 +++++ third_party/fmt/ChangeLog.rst | 5704 ----- third_party/fmt/{LICENSE.rst => LICENSE} | 0 third_party/fmt/README.md | 490 + third_party/fmt/README.rst | 542 - third_party/fmt/doc/_static/bootstrap.min.js | 12 +- third_party/fmt/doc/api.rst | 139 +- third_party/fmt/doc/build.py | 11 +- third_party/fmt/doc/syntax.rst | 15 +- third_party/fmt/doc/usage.rst | 38 + third_party/fmt/include/fmt/args.h | 11 +- third_party/fmt/include/fmt/chrono.h | 262 +- third_party/fmt/include/fmt/color.h | 77 +- third_party/fmt/include/fmt/compile.h | 14 +- third_party/fmt/include/fmt/core.h | 129 +- third_party/fmt/include/fmt/format-inl.h | 141 +- third_party/fmt/include/fmt/format.h | 534 +- third_party/fmt/include/fmt/os.h | 44 +- third_party/fmt/include/fmt/ostream.h | 92 +- third_party/fmt/include/fmt/printf.h | 12 +- third_party/fmt/include/fmt/ranges.h | 33 +- third_party/fmt/include/fmt/std.h | 221 +- third_party/fmt/include/fmt/xchar.h | 17 +- third_party/fmt/src/fmt.cc | 4 +- third_party/fmt/src/os.cc | 14 +- third_party/fmt/support/AndroidManifest.xml | 2 +- third_party/fmt/support/manage.py | 63 +- third_party/fmt/support/rst2md.py | 159 - third_party/fmt/test/CMakeLists.txt | 7 +- third_party/fmt/test/chrono-test.cc | 478 +- third_party/fmt/test/compile-test.cc | 30 +- third_party/fmt/test/format-impl-test.cc | 9 +- third_party/fmt/test/format-test.cc | 906 +- third_party/fmt/test/gtest-extra-test.cc | 2 +- third_party/fmt/test/gtest-extra.cc | 4 +- third_party/fmt/test/gtest-extra.h | 2 +- third_party/fmt/test/gtest/gmock-gtest-all.cc | 2 +- third_party/fmt/test/ostream-test.cc | 19 +- third_party/fmt/test/posix-mock.h | 8 +- third_party/fmt/test/printf-test.cc | 4 +- third_party/fmt/test/ranges-test.cc | 101 +- third_party/fmt/test/scan-test.cc | 123 +- third_party/fmt/test/scan.h | 650 +- third_party/fmt/test/std-test.cc | 89 +- third_party/fmt/test/util.cc | 8 +- third_party/fmt/test/util.h | 26 +- third_party/fmt/test/xchar-test.cc | 91 +- third_party/glog/.clang-format | 4 +- third_party/glog/.github/dependabot.yml | 10 + .../glog/.github/workflows/android.yml | 26 +- third_party/glog/.github/workflows/cifuzz.yml | 2 +- .../glog/.github/workflows/emscripten.yml | 29 +- third_party/glog/.github/workflows/linux.yml | 38 +- third_party/glog/.github/workflows/macos.yml | 47 +- .../glog/.github/workflows/windows.yml | 66 +- third_party/glog/AUTHORS | 1 + third_party/glog/CMakeLists.txt | 510 +- third_party/glog/CONTRIBUTORS | 1 + third_party/glog/README.rst | 4 +- third_party/glog/bazel/glog.bzl | 85 +- .../glog/cmake/GetCacheVariables.cmake | 2 +- .../glog/cmake/TestPackageConfig.cmake | 16 +- third_party/glog/codecov.yml | 4 + third_party/glog/gcovr.cfg | 7 + third_party/glog/glog-config.cmake.in | 1 + third_party/glog/src/base/commandlineflags.h | 99 +- third_party/glog/src/base/googleinit.h | 20 +- third_party/glog/src/base/mutex.h | 217 +- .../glog/src/cleanup_immediately_unittest.cc | 21 +- .../cleanup_with_absolute_prefix_unittest.cc | 21 +- .../cleanup_with_relative_prefix_unittest.cc | 21 +- third_party/glog/src/config.h.cmake.in | 68 +- third_party/glog/src/demangle.cc | 447 +- third_party/glog/src/demangle.h | 8 +- third_party/glog/src/demangle_unittest.cc | 48 +- third_party/glog/src/fuzz_demangle.cc | 2 +- third_party/glog/src/glog/log_severity.h | 18 +- .../glog/src/glog/{logging.h.in => logging.h} | 1088 +- third_party/glog/src/glog/platform.h | 22 +- .../glog/{raw_logging.h.in => raw_logging.h} | 144 +- .../glog/{stl_logging.h.in => stl_logging.h} | 113 +- .../glog/{vlog_is_on.h.in => vlog_is_on.h} | 34 +- third_party/glog/src/googletest.h | 298 +- third_party/glog/src/logging.cc | 934 +- third_party/glog/src/logging_striplog_test.sh | 21 +- third_party/glog/src/logging_unittest.cc | 468 +- third_party/glog/src/mock-log.h | 25 +- third_party/glog/src/mock-log_unittest.cc | 27 +- .../working_config/glog_package_config.cc | 7 +- third_party/glog/src/raw_logging.cc | 73 +- third_party/glog/src/signalhandler.cc | 92 +- .../glog/src/signalhandler_unittest.cc | 30 +- third_party/glog/src/stacktrace.h | 6 +- third_party/glog/src/stacktrace_generic-inl.h | 6 +- .../glog/src/stacktrace_libunwind-inl.h | 14 +- third_party/glog/src/stacktrace_powerpc-inl.h | 31 +- third_party/glog/src/stacktrace_unittest.cc | 122 +- third_party/glog/src/stacktrace_unwind-inl.h | 40 +- third_party/glog/src/stacktrace_windows-inl.h | 7 +- third_party/glog/src/stacktrace_x86-inl.h | 40 +- third_party/glog/src/stl_logging_unittest.cc | 14 +- ...striptest_main.cc => striplog_unittest.cc} | 32 +- third_party/glog/src/symbolize.cc | 324 +- third_party/glog/src/symbolize.h | 80 +- third_party/glog/src/symbolize_unittest.cc | 205 +- third_party/glog/src/utilities.cc | 178 +- third_party/glog/src/utilities.h | 120 +- third_party/glog/src/utilities_unittest.cc | 11 +- third_party/glog/src/vlog_is_on.cc | 63 +- third_party/glog/src/windows/dirent.h | 1345 +- third_party/glog/src/windows/port.cc | 27 +- third_party/glog/src/windows/port.h | 137 +- third_party/googletest/CMakeLists.txt | 11 +- third_party/googletest/CONTRIBUTING.md | 8 +- third_party/googletest/README.md | 8 +- third_party/googletest/ci/linux-presubmit.sh | 2 +- third_party/googletest/docs/advanced.md | 14 +- third_party/googletest/docs/faq.md | 57 +- .../googletest/docs/gmock_cook_book.md | 6 + .../googletest/docs/gmock_for_dummies.md | 4 +- third_party/googletest/docs/primer.md | 22 +- .../googletest/docs/reference/assertions.md | 2 +- .../googletest/docs/reference/mocking.md | 7 +- .../googletest/docs/reference/testing.md | 2 +- .../googletest/googlemock/CMakeLists.txt | 20 +- third_party/googletest/googlemock/README.md | 6 +- .../googlemock/include/gmock/gmock-actions.h | 32 +- .../include/gmock/gmock-function-mocker.h | 9 +- .../googlemock/include/gmock/gmock-matchers.h | 4 +- .../include/gmock/gmock-more-actions.h | 2 +- .../googlemock/include/gmock/gmock.h | 15 +- .../googlemock/src/gmock-matchers.cc | 2 +- .../googlemock/src/gmock-spec-builders.cc | 1 + .../test/gmock-matchers-comparisons_test.cc | 9 + .../test/gmock-more-actions_test.cc | 14 +- .../test/gmock-spec-builders_test.cc | 2 +- .../googlemock/test/gmock_link_test.h | 9 + .../googletest/googletest/CMakeLists.txt | 26 +- third_party/googletest/googletest/README.md | 2 +- .../googletest/cmake/Config.cmake.in | 4 + .../googletest/cmake/internal_utils.cmake | 42 +- .../googletest/include/gtest/gtest-message.h | 19 +- .../googletest/include/gtest/gtest-printers.h | 36 +- .../googletest/include/gtest/gtest.h | 10 +- .../internal/gtest-death-test-internal.h | 4 +- .../include/gtest/internal/gtest-internal.h | 11 +- .../include/gtest/internal/gtest-param-util.h | 4 +- .../include/gtest/internal/gtest-port.h | 70 +- .../googletest/src/gtest-death-test.cc | 2 +- .../googletest/src/gtest-filepath.cc | 2 +- .../googletest/src/gtest-internal-inl.h | 2 +- .../googletest/googletest/src/gtest-port.cc | 47 +- .../googletest/googletest/src/gtest.cc | 12 +- .../googletest/test/googletest-port-test.cc | 6 +- .../test/googletest-printers-test.cc | 16 + .../googletest/test/gtest_help_test.py | 64 +- third_party/googletest/googletest_deps.bzl | 8 +- third_party/libwebp-1.3.1/Makefile.in | 848 - third_party/libwebp-1.3.1/aclocal.m4 | 1216 -- third_party/libwebp-1.3.1/ar-lib | 271 - third_party/libwebp-1.3.1/compile | 348 - third_party/libwebp-1.3.1/config.guess | 1754 -- third_party/libwebp-1.3.1/config.sub | 1890 -- third_party/libwebp-1.3.1/configure | 18204 ---------------- third_party/libwebp-1.3.1/depcomp | 791 - .../libwebp-1.3.1/examples/Makefile.in | 1097 - third_party/libwebp-1.3.1/extras/Makefile.in | 785 - third_party/libwebp-1.3.1/imageio/Makefile.in | 754 - third_party/libwebp-1.3.1/install-sh | 541 - third_party/libwebp-1.3.1/ltmain.sh | 11448 ---------- third_party/libwebp-1.3.1/m4/libtool.m4 | 8427 ------- third_party/libwebp-1.3.1/m4/ltoptions.m4 | 437 - third_party/libwebp-1.3.1/m4/ltsugar.m4 | 124 - third_party/libwebp-1.3.1/m4/ltversion.m4 | 24 - third_party/libwebp-1.3.1/m4/lt~obsolete.m4 | 99 - third_party/libwebp-1.3.1/man/Makefile.in | 554 - third_party/libwebp-1.3.1/missing | 215 - .../libwebp-1.3.1/sharpyuv/Makefile.in | 862 - third_party/libwebp-1.3.1/src/Makefile.in | 883 - third_party/libwebp-1.3.1/src/dec/Makefile.in | 797 - .../libwebp-1.3.1/src/demux/Makefile.in | 748 - third_party/libwebp-1.3.1/src/dsp/Makefile.in | 1796 -- third_party/libwebp-1.3.1/src/enc/Makefile.in | 963 - third_party/libwebp-1.3.1/src/mux/Makefile.in | 756 - .../libwebp-1.3.1/src/utils/Makefile.in | 757 - .../libwebp-1.3.1/src/webp/config.h.in | 151 - third_party/libwebp-1.3.2/.bazelrc | 1 + third_party/libwebp-1.3.2/.bazelversion | 1 + .../.cmake-format.py | 0 .../.gradle/6.1.1/fileChanges/last-build.bin | Bin 0 -> 1 bytes .../.gradle/6.1.1/fileHashes/fileHashes.lock | Bin 0 -> 17 bytes .../libwebp-1.3.2/.gradle/6.1.1/gc.properties | 0 .../buildOutputCleanup.lock | Bin 0 -> 17 bytes .../buildOutputCleanup/cache.properties | 2 + .../.gradle/checksums/checksums.lock | Bin 0 -> 17 bytes .../.gradle/checksums/md5-checksums.bin | Bin 0 -> 22197 bytes .../.gradle/checksums/sha1-checksums.bin | Bin 0 -> 26867 bytes .../libwebp-1.3.2/.gradle/vcs-1/gc.properties | 0 .../.pylintrc | 0 .../.style.yapf | 0 .../0001-Add-MODULE.bazel-file.patch | 28 + .../libwebp-1.3.2/0001-Add-build-file.patch | 270 + .../{libwebp-1.3.1 => libwebp-1.3.2}/AUTHORS | 0 .../Android.mk | 0 third_party/libwebp-1.3.2/BUILD.bazel | 251 + .../CMakeLists.txt | 0 .../CONTRIBUTING.md | 0 .../{libwebp-1.3.1 => libwebp-1.3.2}/COPYING | 0 .../ChangeLog | 4 + third_party/libwebp-1.3.2/MODULE.bazel | 9 + .../Makefile.am | 0 .../Makefile.vc | 0 .../{libwebp-1.3.1 => libwebp-1.3.2}/NEWS | 4 + .../{libwebp-1.3.1 => libwebp-1.3.2}/PATENTS | 0 .../PRESUBMIT.py | 0 .../README.md | 2 +- .../autogen.sh | 0 .../build.gradle | 0 .../cmake/WebPConfig.cmake.in | 0 .../cmake/config.h.in | 0 .../cmake/cpu.cmake | 0 .../cmake/deps.cmake | 0 .../codereview.settings | 0 .../configure.ac | 2 +- third_party/libwebp-1.3.2/doc/TODO | 13 + .../doc/api.md | 0 .../doc/building.md | 0 .../doc/specs_generation.md | 0 .../doc/template.html | 0 .../doc/tools.md | 0 .../doc/webp-container-spec.txt | 0 .../doc/webp-lossless-bitstream-spec.txt | 0 .../examples/Android.mk | 0 .../examples/Makefile.am | 0 .../examples/anim_diff.c | 0 .../examples/anim_dump.c | 0 .../examples/anim_util.c | 0 .../examples/anim_util.h | 0 .../examples/cwebp.c | 0 .../examples/dwebp.c | 0 .../examples/example_util.c | 0 .../examples/example_util.h | 0 .../examples/gif2webp.c | 0 .../examples/gifdec.c | 0 .../examples/gifdec.h | 0 .../examples/img2webp.c | 0 .../examples/stopwatch.h | 0 .../examples/test.webp | Bin .../examples/test_ref.ppm | 0 .../examples/unicode.h | 0 .../examples/unicode_gif.h | 0 .../examples/vwebp.c | 0 .../examples/webpinfo.c | 0 .../examples/webpmux.c | 0 .../extras/Makefile.am | 0 .../extras/extras.c | 2 +- .../extras/extras.h | 0 .../extras/get_disto.c | 0 .../extras/quality_estimate.c | 0 .../extras/vwebp_sdl.c | 0 .../extras/webp_quality.c | 0 .../extras/webp_to_sdl.c | 0 .../extras/webp_to_sdl.h | 0 .../gradle.properties | 0 .../gradle/wrapper/gradle-wrapper.jar | Bin .../gradle/wrapper/gradle-wrapper.properties | 0 .../{libwebp-1.3.1 => libwebp-1.3.2}/gradlew | 0 .../gradlew.bat | 0 .../imageio/Android.mk | 0 .../imageio/Makefile.am | 0 .../imageio/image_dec.c | 0 .../imageio/image_dec.h | 0 .../imageio/image_enc.c | 0 .../imageio/image_enc.h | 0 .../imageio/imageio_util.c | 0 .../imageio/imageio_util.h | 0 .../imageio/jpegdec.c | 0 .../imageio/jpegdec.h | 0 .../imageio/metadata.c | 0 .../imageio/metadata.h | 0 .../imageio/pngdec.c | 0 .../imageio/pngdec.h | 0 .../imageio/pnmdec.c | 0 .../imageio/pnmdec.h | 0 .../imageio/tiffdec.c | 0 .../imageio/tiffdec.h | 0 .../imageio/webpdec.c | 0 .../imageio/webpdec.h | 0 .../imageio/wicdec.c | 0 .../imageio/wicdec.h | 0 .../infra/common.sh | 0 .../infra/compile.sh | 0 .../infra/compile_android.sh | 0 .../infra/compile_js.sh | 0 .../infra/run_static_analysis.sh | 0 .../iosbuild.sh | 0 .../m4/ax_pthread.m4 | 0 .../makefile.unix | 0 .../man/Makefile.am | 0 .../man/cwebp.1 | 0 .../man/dwebp.1 | 0 .../man/gif2webp.1 | 0 .../man/img2webp.1 | 0 .../man/vwebp.1 | 0 .../man/webpinfo.1 | 0 .../man/webpmux.1 | 0 .../sharpyuv/Makefile.am | 0 .../sharpyuv/libsharpyuv.pc.in | 0 .../sharpyuv/libsharpyuv.rc | 0 .../sharpyuv/sharpyuv.c | 0 .../sharpyuv/sharpyuv.h | 0 .../sharpyuv/sharpyuv_cpu.c | 0 .../sharpyuv/sharpyuv_cpu.h | 0 .../sharpyuv/sharpyuv_csp.c | 0 .../sharpyuv/sharpyuv_csp.h | 0 .../sharpyuv/sharpyuv_dsp.c | 0 .../sharpyuv/sharpyuv_dsp.h | 0 .../sharpyuv/sharpyuv_gamma.c | 0 .../sharpyuv/sharpyuv_gamma.h | 0 .../sharpyuv/sharpyuv_neon.c | 0 .../sharpyuv/sharpyuv_sse2.c | 0 .../src/Makefile.am | 4 +- .../src/dec/Makefile.am | 0 .../src/dec/alpha_dec.c | 0 .../src/dec/alphai_dec.h | 0 .../src/dec/buffer_dec.c | 0 .../src/dec/common_dec.h | 0 .../src/dec/frame_dec.c | 0 .../src/dec/idec_dec.c | 0 .../src/dec/io_dec.c | 0 .../src/dec/quant_dec.c | 0 .../src/dec/tree_dec.c | 0 .../src/dec/vp8_dec.c | 0 .../src/dec/vp8_dec.h | 0 .../src/dec/vp8i_dec.h | 2 +- .../src/dec/vp8l_dec.c | 46 +- .../src/dec/vp8li_dec.h | 2 +- .../src/dec/webp_dec.c | 0 .../src/dec/webpi_dec.h | 0 .../src/demux/Makefile.am | 2 +- .../src/demux/anim_decode.c | 0 .../src/demux/demux.c | 2 +- .../src/demux/libwebpdemux.pc.in | 0 .../src/demux/libwebpdemux.rc | 8 +- .../src/dsp/Makefile.am | 0 .../src/dsp/alpha_processing.c | 0 .../src/dsp/alpha_processing_mips_dsp_r2.c | 0 .../src/dsp/alpha_processing_neon.c | 0 .../src/dsp/alpha_processing_sse2.c | 0 .../src/dsp/alpha_processing_sse41.c | 0 .../src/dsp/common_sse2.h | 0 .../src/dsp/common_sse41.h | 0 .../src/dsp/cost.c | 0 .../src/dsp/cost_mips32.c | 0 .../src/dsp/cost_mips_dsp_r2.c | 0 .../src/dsp/cost_neon.c | 0 .../src/dsp/cost_sse2.c | 0 .../src/dsp/cpu.c | 0 .../src/dsp/cpu.h | 0 .../src/dsp/dec.c | 0 .../src/dsp/dec_clip_tables.c | 0 .../src/dsp/dec_mips32.c | 0 .../src/dsp/dec_mips_dsp_r2.c | 0 .../src/dsp/dec_msa.c | 0 .../src/dsp/dec_neon.c | 0 .../src/dsp/dec_sse2.c | 0 .../src/dsp/dec_sse41.c | 0 .../src/dsp/dsp.h | 0 .../src/dsp/enc.c | 0 .../src/dsp/enc_mips32.c | 0 .../src/dsp/enc_mips_dsp_r2.c | 0 .../src/dsp/enc_msa.c | 0 .../src/dsp/enc_neon.c | 0 .../src/dsp/enc_sse2.c | 0 .../src/dsp/enc_sse41.c | 0 .../src/dsp/filters.c | 0 .../src/dsp/filters_mips_dsp_r2.c | 0 .../src/dsp/filters_msa.c | 0 .../src/dsp/filters_neon.c | 0 .../src/dsp/filters_sse2.c | 0 .../src/dsp/lossless.c | 0 .../src/dsp/lossless.h | 0 .../src/dsp/lossless_common.h | 0 .../src/dsp/lossless_enc.c | 0 .../src/dsp/lossless_enc_mips32.c | 0 .../src/dsp/lossless_enc_mips_dsp_r2.c | 0 .../src/dsp/lossless_enc_msa.c | 0 .../src/dsp/lossless_enc_neon.c | 0 .../src/dsp/lossless_enc_sse2.c | 0 .../src/dsp/lossless_enc_sse41.c | 0 .../src/dsp/lossless_mips_dsp_r2.c | 0 .../src/dsp/lossless_msa.c | 0 .../src/dsp/lossless_neon.c | 0 .../src/dsp/lossless_sse2.c | 0 .../src/dsp/lossless_sse41.c | 0 .../src/dsp/mips_macro.h | 0 .../src/dsp/msa_macro.h | 0 .../src/dsp/neon.h | 0 .../src/dsp/quant.h | 0 .../src/dsp/rescaler.c | 0 .../src/dsp/rescaler_mips32.c | 0 .../src/dsp/rescaler_mips_dsp_r2.c | 0 .../src/dsp/rescaler_msa.c | 0 .../src/dsp/rescaler_neon.c | 0 .../src/dsp/rescaler_sse2.c | 0 .../src/dsp/ssim.c | 0 .../src/dsp/ssim_sse2.c | 0 .../src/dsp/upsampling.c | 0 .../src/dsp/upsampling_mips_dsp_r2.c | 0 .../src/dsp/upsampling_msa.c | 0 .../src/dsp/upsampling_neon.c | 0 .../src/dsp/upsampling_sse2.c | 0 .../src/dsp/upsampling_sse41.c | 0 .../src/dsp/yuv.c | 0 .../src/dsp/yuv.h | 0 .../src/dsp/yuv_mips32.c | 0 .../src/dsp/yuv_mips_dsp_r2.c | 0 .../src/dsp/yuv_neon.c | 0 .../src/dsp/yuv_sse2.c | 0 .../src/dsp/yuv_sse41.c | 0 .../src/enc/Makefile.am | 0 .../src/enc/alpha_enc.c | 0 .../src/enc/analysis_enc.c | 0 .../src/enc/backward_references_cost_enc.c | 0 .../src/enc/backward_references_enc.c | 0 .../src/enc/backward_references_enc.h | 0 .../src/enc/config_enc.c | 0 .../src/enc/cost_enc.c | 0 .../src/enc/cost_enc.h | 0 .../src/enc/filter_enc.c | 0 .../src/enc/frame_enc.c | 0 .../src/enc/histogram_enc.c | 0 .../src/enc/histogram_enc.h | 0 .../src/enc/iterator_enc.c | 0 .../src/enc/near_lossless_enc.c | 0 .../src/enc/picture_csp_enc.c | 0 .../src/enc/picture_enc.c | 0 .../src/enc/picture_psnr_enc.c | 0 .../src/enc/picture_rescale_enc.c | 0 .../src/enc/picture_tools_enc.c | 0 .../src/enc/predictor_enc.c | 0 .../src/enc/quant_enc.c | 0 .../src/enc/syntax_enc.c | 0 .../src/enc/token_enc.c | 0 .../src/enc/tree_enc.c | 0 .../src/enc/vp8i_enc.h | 2 +- .../src/enc/vp8l_enc.c | 0 .../src/enc/vp8li_enc.h | 0 .../src/enc/webp_enc.c | 0 .../src/libwebp.pc.in | 0 .../src/libwebp.rc | 8 +- .../src/libwebpdecoder.pc.in | 0 .../src/libwebpdecoder.rc | 8 +- .../src/mux/Makefile.am | 2 +- .../src/mux/anim_encode.c | 0 .../src/mux/animi.h | 0 .../src/mux/libwebpmux.pc.in | 0 .../src/mux/libwebpmux.rc | 8 +- .../src/mux/muxedit.c | 0 .../src/mux/muxi.h | 2 +- .../src/mux/muxinternal.c | 0 .../src/mux/muxread.c | 0 .../src/utils/Makefile.am | 0 .../src/utils/bit_reader_inl_utils.h | 0 .../src/utils/bit_reader_utils.c | 0 .../src/utils/bit_reader_utils.h | 0 .../src/utils/bit_writer_utils.c | 0 .../src/utils/bit_writer_utils.h | 0 .../src/utils/color_cache_utils.c | 0 .../src/utils/color_cache_utils.h | 0 .../src/utils/endian_inl_utils.h | 0 .../src/utils/filters_utils.c | 0 .../src/utils/filters_utils.h | 0 .../src/utils/huffman_encode_utils.c | 0 .../src/utils/huffman_encode_utils.h | 0 .../src/utils/huffman_utils.c | 97 +- .../src/utils/huffman_utils.h | 27 +- .../src/utils/quant_levels_dec_utils.c | 0 .../src/utils/quant_levels_dec_utils.h | 0 .../src/utils/quant_levels_utils.c | 0 .../src/utils/quant_levels_utils.h | 0 .../src/utils/random_utils.c | 0 .../src/utils/random_utils.h | 0 .../src/utils/rescaler_utils.c | 0 .../src/utils/rescaler_utils.h | 0 .../src/utils/thread_utils.c | 0 .../src/utils/thread_utils.h | 0 .../src/utils/utils.c | 0 .../src/utils/utils.h | 0 .../src/webp/decode.h | 0 .../src/webp/demux.h | 0 .../src/webp/encode.h | 0 .../src/webp/format_constants.h | 0 .../src/webp/mux.h | 0 .../src/webp/mux_types.h | 0 .../src/webp/types.h | 0 .../swig/README.md | 0 .../swig/libwebp.go | 0 .../swig/libwebp.jar | Bin .../swig/libwebp.py | 0 .../swig/libwebp.swig | 0 .../swig/libwebp_gc.c | 0 .../swig/libwebp_go_wrap.c | 0 .../swig/libwebp_java_wrap.c | 0 .../swig/libwebp_python_wrap.c | 0 .../swig/setup.py | 0 .../tests/README.md | 0 .../tests/fuzzer/advanced_api_fuzzer.c | 0 .../tests/fuzzer/animation_api_fuzzer.c | 0 .../tests/fuzzer/animdecoder_fuzzer.cc | 0 .../tests/fuzzer/animencoder_fuzzer.cc | 0 .../tests/fuzzer/enc_dec_fuzzer.cc | 0 .../tests/fuzzer/fuzz.dict | 0 .../tests/fuzzer/fuzz_utils.h | 0 .../tests/fuzzer/img_alpha.h | 0 .../tests/fuzzer/img_grid.h | 0 .../tests/fuzzer/img_peak.h | 0 .../tests/fuzzer/makefile.unix | 0 .../tests/fuzzer/mux_demux_api_fuzzer.c | 0 .../tests/fuzzer/simple_api_fuzzer.c | 0 .../webp_js/README.md | 0 .../webp_js/index.html | 0 .../webp_js/index_wasm.html | 0 .../webp_js/test_webp_js.webp | Bin .../webp_js/test_webp_wasm.webp | Bin .../xcframeworkbuild.sh | 0 third_party/openexr/.bazelrc | 9 - third_party/openexr/.bazelversion | 2 +- .../openexr/.github/workflows/bazel_build.yml | 44 +- .../openexr/.github/workflows/ci_workflow.yml | 72 +- .../{cifuzz.yml => ossfuzz_workflow.yml} | 36 +- .../.github/workflows/python-wheels.yml | 107 +- .../openexr/.github/workflows/scorecard.yml | 56 + .../.github/workflows/website_workflow.yml | 64 + third_party/openexr/.gitignore | 3 + third_party/openexr/.mailmap | 163 + third_party/openexr/.readthedocs.yml | 6 +- third_party/openexr/BUILD.bazel | 7 +- third_party/openexr/CHANGES.md | 418 +- third_party/openexr/CMakeLists.txt | 27 +- third_party/openexr/CONTRIBUTING.md | 2 +- third_party/openexr/CONTRIBUTORS.md | 49 +- third_party/openexr/LICENSE.md | 3 - third_party/openexr/MODULE.bazel | 12 + third_party/openexr/README.md | 4 +- third_party/openexr/bazel/example/BUILD.bazel | 8 - third_party/openexr/bazel/example/main.cpp | 61 - .../bazel/third_party/libdeflate.BUILD | 17 +- .../bazel/third_party/openexr_deps.bzl | 12 +- third_party/openexr/cmake/CMakeLists.txt | 3 +- third_party/openexr/cmake/OpenEXR.pc.in | 2 +- third_party/openexr/cmake/OpenEXRConfig.h.in | 31 +- third_party/openexr/cmake/OpenEXRSetup.cmake | 20 +- third_party/openexr/docs/CMakeLists.txt | 73 +- .../docs/StandardOptionalAttributes.rst | 301 - .../openexr/docs/source_images/blobs.png | Bin 162348 -> 0 bytes .../openexr/docs/source_images/cubeMap.fig | 154 - .../docs/source_images/dataDisplayWindow.fig | 973 - .../openexr/docs/source_images/kapaa.png | Bin 628163 -> 0 bytes .../openexr/docs/source_images/latlongMap.fig | 116 - .../openexr/docs/source_images/screenwin.fig | 164 - .../openexr/docs/source_images/still.png | Bin 965200 -> 0 bytes .../openexr/docs/source_images/tiles.fig | 120 - .../docs/source_images/windowExample1.fig | 55 - .../docs/source_images/windowExample2.fig | 57 - third_party/openexr/docs/src/CMakeLists.txt | 11 - .../openexr/docs/src/makePreviewImage.cpp | 31 - third_party/openexr/docs/src/readHeader.cpp | 16 - third_party/openexr/docs/src/writeRgba1.cpp | 7 - third_party/openexr/docs/src/writeRgba2.cpp | 13 - .../ci/scripts/linux/validate_openexr_libs.sh | 39 +- .../openexr/share/{ => util}/abi_checker.sh | 0 .../share/{ => util}/clang_coverage.sh | 0 .../openexr/{ => share}/util/reformat.sh | 0 third_party/openexr/src/bin/.gitignore | 28 - third_party/openexr/src/bin/CMakeLists.txt | 1 + .../openexr/src/bin/exrinfo/CMakeLists.txt | 1 + .../src/bin/exrmanifest/CMakeLists.txt | 14 + .../openexr/src/bin/exrmanifest/main.cpp | 210 + .../openexr/src/bin/exrstdattr/main.cpp | 6 +- third_party/openexr/src/examples/BUILD.bazel | 28 + .../openexr/src/examples/CMakeLists.txt | 14 + .../openexr/src/examples/deepExamples.cpp | 32 +- .../src/examples/deepTiledExamples.cpp | 30 +- .../openexr/src/examples/deepidexample.cpp | 689 + .../openexr/src/examples/deepidselect.cpp | 540 + .../src/examples/generalInterfaceExamples.cpp | 2 +- third_party/openexr/src/examples/main.cpp | 14 +- .../src/examples/multipartExamples.cpp | 491 + .../openexr/src/examples/multipartExamples.h | 7 + .../src/lib/IlmThread/IlmThreadExport.h | 2 +- .../openexr/src/lib/OpenEXR/ImfHeader.cpp | 5 +- .../src/lib/OpenEXR/ImfStandardAttributes.h | 6 +- .../src/lib/OpenEXRCore/CMakeLists.txt | 14 +- .../openexr/src/lib/OpenEXRCore/base.c | 1 + .../openexr/src/lib/OpenEXRCore/context.c | 8 +- .../openexr/src/lib/OpenEXRCore/encoding.c | 2 +- .../src/lib/OpenEXRCore/internal_coding.h | 2 +- .../src/lib/OpenEXRCore/internal_cpuid.h | 20 +- .../lib/OpenEXRCore/internal_dwa_compressor.h | 18 +- .../OpenEXRCore/internal_posix_file_impl.h | 2 +- .../src/lib/OpenEXRCore/internal_structs.c | 3 +- .../src/lib/OpenEXRCore/internal_structs.h | 3 +- .../openexr/src/lib/OpenEXRCore/openexr.h | 2 +- .../src/lib/OpenEXRCore/openexr_base.h | 2 +- .../{openexr_conf.h => openexr_config.h} | 2 + .../src/lib/OpenEXRCore/openexr_errors.h | 2 +- .../src/lib/OpenEXRCore/openexr_std_attr.h | 3 - .../src/lib/OpenEXRCore/openexr_version.h | 2 +- .../openexr/src/lib/OpenEXRCore/string.c | 5 + .../src/test/OpenEXRCoreTest/CMakeLists.txt | 2 +- .../src/test/OpenEXRCoreTest/base_units.cpp | 33 +- .../src/test/OpenEXRTest/CMakeLists.txt | 3 + .../openexr/src/test/OpenEXRTest/main.cpp | 2 + .../src/test/OpenEXRTest/testCpuId.cpp | 2 +- .../src/test/OpenEXRTest/testHeader.cpp | 109 + .../openexr/src/test/OpenEXRTest/testHeader.h | 8 + .../openexr/src/test/bin/CMakeLists.txt | 8 +- .../openexr/src/test/bin/test_exr2aces.py | 26 +- .../openexr/src/test/bin/test_exrcheck.py | 17 +- .../openexr/src/test/bin/test_exrenvmap.py | 176 +- .../openexr/src/test/bin/test_exrheader.py | 46 +- .../openexr/src/test/bin/test_exrinfo.py | 42 +- .../src/test/bin/test_exrmakepreview.py | 28 +- .../openexr/src/test/bin/test_exrmaketiled.py | 35 +- .../openexr/src/test/bin/test_exrmultipart.py | 39 +- .../openexr/src/test/bin/test_exrmultiview.py | 32 +- .../openexr/src/test/bin/test_exrstdattr.py | 106 +- .../src/wrappers/python/CMakeLists.txt | 23 + .../openexr/src/wrappers/python/OpenEXR.cpp | 19 +- .../openexr/src/wrappers/python/setup.py | 58 +- .../wrappers/python/tests/test_unittest.py | 265 + third_party/openexr/{docs => website}/API.rst | 0 third_party/openexr/website/CMakeLists.txt | 69 + .../openexr/website/DeepIDsSpecification.rst | 407 + .../openexr/{docs => website}/Doxyfile.in | 0 .../openexr/{docs => website}/HelloWorld.rst | 0 .../InterpretingDeepPixels.rst | 0 .../{docs => website}/MultiViewOpenEXR.rst | 0 .../{docs => website}/OpenEXRCoreAPI.rst | 0 .../{docs => website}/OpenEXRFileLayout.rst | 1029 +- .../{docs => website}/PortingGuide.rst | 0 .../ReadingAndWritingImageFiles.rst | 421 +- .../openexr/website/StandardAttributes.rst | 1439 ++ .../{docs => website}/SymbolVisibility.rst | 0 .../TechnicalIntroduction.rst | 18 +- .../{docs => website}/TheoryDeepPixels.rst | 0 .../openexr/{docs => website}/about.rst | 0 .../{docs => website}/bin/exr2aces.rst | 0 .../{docs => website}/bin/exrcheck.rst | 0 .../{docs => website}/bin/exrenvmap.rst | 0 .../{docs => website}/bin/exrheader.rst | 0 .../openexr/{docs => website}/bin/exrinfo.rst | 0 .../{docs => website}/bin/exrmakepreview.rst | 0 .../{docs => website}/bin/exrmaketiled.rst | 0 .../{docs => website}/bin/exrmultipart.rst | 0 .../{docs => website}/bin/exrmultiview.rst | 0 .../{docs => website}/bin/exrstdattr.rst | 0 .../openexr/{docs => website}/concepts.rst | 3 +- third_party/openexr/{docs => website}/conf.py | 0 .../openexr/website/downloads/sample.exr | Bin 0 -> 415 bytes .../images/InterpretingDeepPixels1.png | Bin .../images/InterpretingDeepPixels2.png | Bin .../images/InterpretingDeepPixels3.png | Bin .../images/OpenEXR_Reel_2020.png | Bin .../{docs => website}/images/cubeMap.big.png | Bin .../{docs => website}/images/cubeMap.png | Bin .../{docs => website}/images/drawing.png | Bin .../{docs => website}/images/envcube.png | Bin .../{docs => website}/images/latlong.png | Bin .../images/latlongMap.big.png | Bin .../{docs => website}/images/latlongMap.png | Bin third_party/openexr/website/images/news.png | Bin 0 -> 5003 bytes .../{docs => website}/images/openexr-fav.ico | Bin .../images/openexr-horizontal-color.png | Bin .../{docs => website}/images/openexr-logo.jpg | Bin .../images/openexr-stacked-color.png | Bin .../images/screenwin.big.png | Bin .../{docs => website}/images/screenwin.png | Bin .../{docs => website}/images/tiles.big.png | Bin .../{docs => website}/images/tiles.png | Bin .../{docs => website}/images/twosamples.png | Bin .../images/windowExample1.big.png | Bin .../images/windowExample1.png | Bin .../images/windowExample1.small.png | Bin .../images/windowExample2.big.png | Bin .../images/windowExample2.png | Bin .../openexr/{docs => website}/index.rst | 14 + .../openexr/{docs => website}/install.rst | 141 +- .../openexr/{docs => website}/license.rst | 0 .../openexr/{docs => website}/news.rst | 163 + .../{docs => website}/requirements.txt | 0 .../{docs => website}/scripts/test_images.py | 22 +- .../openexr/website/src/CMakeLists.txt | 8 + .../{docs => website}/src/C_IStream.cpp | 0 .../{docs => website}/src/C_IStream_clear.cpp | 0 .../{docs => website}/src/C_IStream_read.cpp | 4 +- .../{docs => website}/src/C_IStream_seekg.cpp | 0 .../{docs => website}/src/C_IStream_tellg.cpp | 0 .../openexr/{docs => website}/src/IStream.cpp | 0 .../src/MemoryMappedIStream.cpp | 0 .../src/MemoryMappedIStream_constructor.cpp | 0 .../src/MemoryMappedIStream_destructor.cpp | 0 .../MemoryMappedIStream_isMemoryMapped.cpp | 0 .../src/MemoryMappedIStream_read.cpp | 4 +- .../MemoryMappedIStream_readMemoryMapped.cpp | 4 +- .../openexr/{docs => website}/src/all.cpp | 46 +- .../openexr/website/src/compression.cpp | 14 + third_party/openexr/website/src/envmap.cpp | 11 + .../src/mergeOverlappingSamples.cpp | 0 .../openexr/website/src/multithreading.cpp | 22 + .../website/src/previewImageExamples.cpp | 67 + .../website/src/readChannelsAndLayers.cpp | 53 + .../src/readDeepScanLineFile.cpp | 0 .../src/readDeepTiledFile.cpp | 0 .../openexr/{docs => website}/src/readGZ1.cpp | 2 +- .../openexr/{docs => website}/src/readGZ2.cpp | 0 .../openexr/website/src/readHeader.cpp | 40 + .../{docs => website}/src/readRgba1.cpp | 0 .../{docs => website}/src/readRgba2.cpp | 0 .../{docs => website}/src/readRgbaFILE.cpp | 0 .../{docs => website}/src/readTiled1.cpp | 14 + .../{docs => website}/src/readTiledRgba1.cpp | 0 .../src/reader/CMakeLists.txt | 0 .../{docs => website}/src/reader/build.sh | 0 .../{docs => website}/src/reader/reader.cpp | 0 .../src/splitVolumeSample.cpp | 0 .../openexr/website/src/structDefinitions.cpp | 17 + .../openexr/website/src/tileDescription.cpp | 23 + .../openexr/website/src/validExrFile.cpp | 35 + .../src/writeDeepScanLineFile.cpp | 0 .../src/writeDeepTiledFile.cpp | 0 .../{docs => website}/src/writeGZ1.cpp | 19 + .../{docs => website}/src/writeGZ2.cpp | 0 .../openexr/website/src/writeRgba1.cpp | 23 + .../openexr/website/src/writeRgba2.cpp | 32 + .../{docs => website}/src/writeRgba3.cpp | 0 .../{docs => website}/src/writeRgbaMT.cpp | 0 .../src/writeRgbaWithPreview1.cpp | 0 .../src/writeRgbaWithPreview2.cpp | 2 +- .../{docs => website}/src/writeTiled1.cpp | 0 .../src/writeTiledRgbaMIP1.cpp | 0 .../src/writeTiledRgbaMIP2.cpp | 0 .../src/writeTiledRgbaONE1.cpp | 0 .../src/writeTiledRgbaONE2.cpp | 0 .../src/writeTiledRgbaRIP1.cpp | 0 .../src/writer/CMakeLists.txt | 0 .../{docs => website}/src/writer/build.sh | 0 .../{docs => website}/src/writer/writer.cpp | 0 .../openexr/{docs => website}/test_images.txt | 0 .../{docs => website}/toc_redirect.rst | 0 .../openexr/{docs => website}/tools.rst | 0 .../rules_boost/.bazelci/presubmit.yml | 2 - third_party/rules_boost/.circleci/config.yml | 12 +- third_party/rules_boost/README.md | 4 +- third_party/rules_boost/boost.BUILD | 43 +- third_party/rules_boost/boost/boost.bzl | 30 +- third_party/rules_boost/lzma.BUILD | 20 +- third_party/rules_boost/renovate.json5 | 7 +- third_party/rules_boost/test/.bazelrc | 13 + third_party/rules_boost/test/icl_test.cc | 28 +- third_party/software-bill-of-materials.md | 21 +- third_party/xtensor/.github/workflows/ci.yml | 88 +- .../.github/workflows/ci_extended.yaml | 109 - third_party/xtensor/.pre-commit-config.yaml | 10 +- third_party/xtensor/CMakeLists.txt | 4 +- third_party/xtensor/README.md | 12 +- third_party/xtensor/benchmark/CMakeLists.txt | 2 +- third_party/xtensor/docs/rtd_environment.yml | 1 + third_party/xtensor/docs/source/changelog.rst | 22 + third_party/xtensor/docs/source/conf.py | 2 +- third_party/xtensor/environment-dev.yml | 2 +- .../xtensor/include/xtensor/xaccumulator.hpp | 18 +- .../xtensor/include/xtensor/xadapt.hpp | 24 +- .../include/xtensor/xblockwise_reducer.hpp | 3 +- .../xtensor/include/xtensor/xbroadcast.hpp | 4 +- .../xtensor/include/xtensor/xbuilder.hpp | 16 +- .../xtensor/include/xtensor/xcontainer.hpp | 12 +- third_party/xtensor/include/xtensor/xeval.hpp | 8 +- .../xtensor/include/xtensor/xexpression.hpp | 20 +- .../xtensor/include/xtensor/xfunction.hpp | 8 +- .../xtensor/include/xtensor/xfunctor_view.hpp | 16 +- .../xtensor/include/xtensor/xgenerator.hpp | 8 +- .../xtensor/include/xtensor/xhistogram.hpp | 5 +- .../xtensor/include/xtensor/xindex_view.hpp | 12 +- third_party/xtensor/include/xtensor/xio.hpp | 18 +- .../xtensor/include/xtensor/xiterator.hpp | 72 +- .../xtensor/include/xtensor/xmasked_view.hpp | 8 +- third_party/xtensor/include/xtensor/xmath.hpp | 24 +- .../xtensor/xoptional_assembly_base.hpp | 8 +- .../xtensor/include/xtensor/xreducer.hpp | 22 +- .../xtensor/include/xtensor/xrepeat.hpp | 8 +- .../xtensor/include/xtensor/xslice.hpp | 20 +- third_party/xtensor/include/xtensor/xsort.hpp | 125 +- .../xtensor/include/xtensor/xstrided_view.hpp | 132 +- .../include/xtensor/xstrided_view_base.hpp | 8 +- .../xtensor/include/xtensor/xstrides.hpp | 5 +- .../include/xtensor/xtensor_config.hpp | 4 +- .../include/xtensor/xtensor_forward.hpp | 24 +- third_party/xtensor/include/xtensor/xview.hpp | 18 +- third_party/xtensor/notebooks/xtensor.ipynb | 844 +- third_party/xtensor/readthedocs.yml | 9 +- third_party/xtensor/test/CMakeLists.txt | 2 +- third_party/xtensor/test/test_common.hpp | 12 +- .../test/test_extended_broadcast_view.cpp | 84 +- .../xtensor/test/test_extended_xhistogram.cpp | 6 +- .../test/test_extended_xmath_interp.cpp | 32 +- .../test/test_extended_xmath_reducers.cpp | 21 +- .../xtensor/test/test_extended_xsort.cpp | 728 +- .../xtensor/test/test_strided_assign.cpp | 14 +- .../xtensor/test/test_xaccumulator.cpp | 15 +- .../xtensor/test/test_xaxis_iterator.cpp | 3 +- .../test/test_xaxis_slice_iterator.cpp | 3 +- .../xtensor/test/test_xblockwise_reducer.cpp | 6 +- third_party/xtensor/test/test_xbuilder.cpp | 3 +- third_party/xtensor/test/test_xcomplex.cpp | 30 +- .../xtensor/test/test_xdatesupport.cpp | 3 +- .../xtensor/test/test_xdynamic_view.cpp | 15 +- third_party/xtensor/test/test_xinfo.cpp | 5 + third_party/xtensor/test/test_xio.cpp | 6 +- third_party/xtensor/test/test_xmath.cpp | 6 +- third_party/xtensor/test/test_xmime.cpp | 4 +- .../xtensor/test/test_xnan_functions.cpp | 3 +- third_party/xtensor/test/test_xnpy.cpp | 12 +- third_party/xtensor/test/test_xoperation.cpp | 7 +- third_party/xtensor/test/test_xoptional.cpp | 12 +- .../xtensor/test/test_xoptional_assembly.cpp | 12 +- third_party/xtensor/test/test_xpad.cpp | 31 +- third_party/xtensor/test/test_xsimd8.cpp | 3 +- third_party/xtensor/test/test_xsort.cpp | 78 +- .../xtensor/test/test_xstrided_view.cpp | 43 +- third_party/xtensor/test/test_xview.cpp | 33 +- third_party/xtl/CMakeLists.txt | 2 +- third_party/xtl/docs/environment.yml | 3 +- third_party/xtl/docs/source/changelog.rst | 14 + third_party/xtl/docs/source/conf.py | 2 +- .../xtl/include/xtl/xhalf_float_impl.hpp | 19 +- third_party/xtl/include/xtl/xsystem.hpp | 21 +- third_party/xtl/include/xtl/xtl_config.hpp | 2 +- third_party/xtl/include/xtl/xtype_traits.hpp | 6 + third_party/xtl/readthedocs.yml | 9 +- third_party/xtl/test/CMakeLists.txt | 1 - third_party/yaml-cpp/.bazelignore | 1 + third_party/yaml-cpp/.clang-format | 47 + third_party/yaml-cpp/.codedocs | 50 + third_party/yaml-cpp/.github/dependabot.yml | 11 + .../yaml-cpp/.github/workflows/build.yml | 138 + .../.github/workflows/bzlmod-archive.yml | 19 + third_party/yaml-cpp/.gitignore | 3 + third_party/yaml-cpp/BUILD.bazel | 21 + third_party/yaml-cpp/CMakeLists.txt | 211 + third_party/yaml-cpp/CONTRIBUTING.md | 26 + third_party/yaml-cpp/LICENSE | 19 + third_party/yaml-cpp/MODULE.bazel | 14 + third_party/yaml-cpp/README.md | 69 + third_party/yaml-cpp/SECURITY.md | 13 + third_party/yaml-cpp/WORKSPACE | 10 + third_party/yaml-cpp/cmake_uninstall.cmake.in | 21 + third_party/yaml-cpp/docs/Breaking-Changes.md | 52 + third_party/yaml-cpp/docs/How-To-Emit-YAML.md | 224 + .../docs/How-To-Parse-A-Document-(Old-API).md | 265 + third_party/yaml-cpp/docs/Strings.md | 18 + third_party/yaml-cpp/docs/Tutorial.md | 201 + third_party/yaml-cpp/docs/_config.yml | 1 + third_party/yaml-cpp/docs/index.md | 1 + .../yaml-cpp/include/yaml-cpp/anchor.h | 17 + .../yaml-cpp/include/yaml-cpp/binary.h | 71 + .../include/yaml-cpp/contrib/anchordict.h | 40 + .../include/yaml-cpp/contrib/graphbuilder.h | 149 + .../yaml-cpp/include/yaml-cpp/depthguard.h | 77 + third_party/yaml-cpp/include/yaml-cpp/dll.h | 61 + .../include/yaml-cpp/emitfromevents.h | 58 + .../yaml-cpp/include/yaml-cpp/emitter.h | 281 + .../yaml-cpp/include/yaml-cpp/emitterdef.h | 16 + .../yaml-cpp/include/yaml-cpp/emittermanip.h | 144 + .../yaml-cpp/include/yaml-cpp/emitterstyle.h | 16 + .../yaml-cpp/include/yaml-cpp/eventhandler.h | 45 + .../yaml-cpp/include/yaml-cpp/exceptions.h | 303 + third_party/yaml-cpp/include/yaml-cpp/mark.h | 29 + .../yaml-cpp/include/yaml-cpp/node/convert.h | 469 + .../include/yaml-cpp/node/detail/impl.h | 235 + .../include/yaml-cpp/node/detail/iterator.h | 96 + .../yaml-cpp/node/detail/iterator_fwd.h | 27 + .../include/yaml-cpp/node/detail/memory.h | 47 + .../include/yaml-cpp/node/detail/node.h | 177 + .../include/yaml-cpp/node/detail/node_data.h | 127 + .../yaml-cpp/node/detail/node_iterator.h | 181 + .../include/yaml-cpp/node/detail/node_ref.h | 98 + .../yaml-cpp/include/yaml-cpp/node/emit.h | 32 + .../yaml-cpp/include/yaml-cpp/node/impl.h | 385 + .../yaml-cpp/include/yaml-cpp/node/iterator.h | 34 + .../yaml-cpp/include/yaml-cpp/node/node.h | 148 + .../yaml-cpp/include/yaml-cpp/node/parse.h | 78 + .../yaml-cpp/include/yaml-cpp/node/ptr.h | 28 + .../yaml-cpp/include/yaml-cpp/node/type.h | 16 + .../yaml-cpp/include/yaml-cpp/noexcept.h | 18 + third_party/yaml-cpp/include/yaml-cpp/null.h | 26 + .../include/yaml-cpp/ostream_wrapper.h | 76 + .../yaml-cpp/include/yaml-cpp/parser.h | 90 + .../yaml-cpp/include/yaml-cpp/stlemitter.h | 50 + .../yaml-cpp/include/yaml-cpp/traits.h | 135 + third_party/yaml-cpp/include/yaml-cpp/yaml.h | 24 + third_party/yaml-cpp/install.txt | 24 + third_party/yaml-cpp/src/binary.cpp | 100 + third_party/yaml-cpp/src/collectionstack.h | 41 + .../yaml-cpp/src/contrib/graphbuilder.cpp | 16 + .../src/contrib/graphbuilderadapter.cpp | 94 + .../src/contrib/graphbuilderadapter.h | 86 + .../yaml-cpp/src/contrib/yaml-cpp.natvis | 32 + .../yaml-cpp/src/contrib/yaml-cpp.natvis.md | 9 + third_party/yaml-cpp/src/convert.cpp | 74 + third_party/yaml-cpp/src/depthguard.cpp | 9 + third_party/yaml-cpp/src/directives.cpp | 17 + third_party/yaml-cpp/src/directives.h | 29 + third_party/yaml-cpp/src/emit.cpp | 25 + third_party/yaml-cpp/src/emitfromevents.cpp | 124 + third_party/yaml-cpp/src/emitter.cpp | 972 + third_party/yaml-cpp/src/emitterstate.cpp | 400 + third_party/yaml-cpp/src/emitterstate.h | 216 + third_party/yaml-cpp/src/emitterutils.cpp | 497 + third_party/yaml-cpp/src/emitterutils.h | 55 + third_party/yaml-cpp/src/exceptions.cpp | 20 + third_party/yaml-cpp/src/exp.cpp | 137 + third_party/yaml-cpp/src/exp.h | 226 + third_party/yaml-cpp/src/indentation.h | 41 + third_party/yaml-cpp/src/memory.cpp | 26 + third_party/yaml-cpp/src/node.cpp | 12 + third_party/yaml-cpp/src/node_data.cpp | 324 + third_party/yaml-cpp/src/nodebuilder.cpp | 134 + third_party/yaml-cpp/src/nodebuilder.h | 74 + third_party/yaml-cpp/src/nodeevents.cpp | 98 + third_party/yaml-cpp/src/nodeevents.h | 68 + third_party/yaml-cpp/src/null.cpp | 10 + third_party/yaml-cpp/src/ostream_wrapper.cpp | 62 + third_party/yaml-cpp/src/parse.cpp | 72 + third_party/yaml-cpp/src/parser.cpp | 119 + third_party/yaml-cpp/src/ptr_vector.h | 45 + third_party/yaml-cpp/src/regex_yaml.cpp | 43 + third_party/yaml-cpp/src/regex_yaml.h | 88 + third_party/yaml-cpp/src/regeximpl.h | 185 + third_party/yaml-cpp/src/scanner.cpp | 391 + third_party/yaml-cpp/src/scanner.h | 188 + third_party/yaml-cpp/src/scanscalar.cpp | 251 + third_party/yaml-cpp/src/scanscalar.h | 63 + third_party/yaml-cpp/src/scantag.cpp | 81 + third_party/yaml-cpp/src/scantag.h | 19 + third_party/yaml-cpp/src/scantoken.cpp | 437 + third_party/yaml-cpp/src/setting.h | 100 + third_party/yaml-cpp/src/simplekey.cpp | 132 + third_party/yaml-cpp/src/singledocparser.cpp | 435 + third_party/yaml-cpp/src/singledocparser.h | 71 + third_party/yaml-cpp/src/stream.cpp | 446 + third_party/yaml-cpp/src/stream.h | 82 + third_party/yaml-cpp/src/streamcharsource.h | 50 + third_party/yaml-cpp/src/stringsource.h | 48 + third_party/yaml-cpp/src/tag.cpp | 50 + third_party/yaml-cpp/src/tag.h | 33 + third_party/yaml-cpp/src/token.h | 70 + third_party/yaml-cpp/test/BUILD.bazel | 14 + third_party/yaml-cpp/test/CMakeLists.txt | 63 + third_party/yaml-cpp/test/binary_test.cpp | 14 + .../yaml-cpp/test/cmake/CMakeLists.txt | 21 + third_party/yaml-cpp/test/cmake/main.cpp | 3 + .../yaml-cpp/test/create-emitter-tests.py | 223 + .../yaml-cpp/test/gtest-1.11.0/.clang-format | 4 + .../.github/ISSUE_TEMPLATE/00-bug_report.md | 43 + .../ISSUE_TEMPLATE/10-feature_request.md | 24 + .../.github/ISSUE_TEMPLATE/config.yml | 1 + .../yaml-cpp/test/gtest-1.11.0/.gitignore | 84 + .../yaml-cpp/test/gtest-1.11.0/BUILD.bazel | 190 + .../yaml-cpp/test/gtest-1.11.0/CMakeLists.txt | 32 + .../test/gtest-1.11.0/CONTRIBUTING.md | 130 + .../yaml-cpp/test/gtest-1.11.0/CONTRIBUTORS | 63 + .../yaml-cpp/test/gtest-1.11.0/LICENSE | 28 + .../yaml-cpp/test/gtest-1.11.0/README.md | 140 + .../yaml-cpp/test/gtest-1.11.0/WORKSPACE | 24 + .../test/gtest-1.11.0/ci/linux-presubmit.sh | 126 + .../test/gtest-1.11.0/ci/macos-presubmit.sh | 73 + .../test/gtest-1.11.0/docs/_config.yml | 1 + .../gtest-1.11.0/docs/_data/navigation.yml | 43 + .../gtest-1.11.0/docs/_layouts/default.html | 58 + .../test/gtest-1.11.0/docs/_sass/main.scss | 200 + .../test/gtest-1.11.0/docs/advanced.md | 2318 ++ .../gtest-1.11.0/docs/assets/css/style.scss | 5 + .../docs/community_created_documentation.md | 7 + .../yaml-cpp/test/gtest-1.11.0/docs/faq.md | 693 + .../gtest-1.11.0/docs/gmock_cheat_sheet.md | 241 + .../test/gtest-1.11.0/docs/gmock_cook_book.md | 4301 ++++ .../test/gtest-1.11.0/docs/gmock_faq.md | 390 + .../gtest-1.11.0/docs/gmock_for_dummies.md | 700 + .../yaml-cpp/test/gtest-1.11.0/docs/index.md | 22 + .../test/gtest-1.11.0/docs/pkgconfig.md | 148 + .../test/gtest-1.11.0/docs/platforms.md | 35 + .../yaml-cpp/test/gtest-1.11.0/docs/primer.md | 482 + .../gtest-1.11.0/docs/quickstart-bazel.md | 161 + .../gtest-1.11.0/docs/quickstart-cmake.md | 156 + .../gtest-1.11.0/docs/reference/actions.md | 115 + .../gtest-1.11.0/docs/reference/assertions.md | 633 + .../gtest-1.11.0/docs/reference/matchers.md | 283 + .../gtest-1.11.0/docs/reference/mocking.md | 587 + .../gtest-1.11.0/docs/reference/testing.md | 1431 ++ .../test/gtest-1.11.0/docs/samples.md | 22 + .../gtest-1.11.0/googlemock/CMakeLists.txt | 218 + .../test/gtest-1.11.0/googlemock/README.md | 44 + .../gtest-1.11.0/googlemock/cmake/gmock.pc.in | 10 + .../googlemock/cmake/gmock_main.pc.in | 10 + .../gtest-1.11.0/googlemock/docs/README.md | 4 + .../googlemock/include/gmock/gmock-actions.h | 1687 ++ .../include/gmock/gmock-cardinalities.h | 157 + .../include/gmock/gmock-function-mocker.h | 479 + .../googlemock/include/gmock/gmock-matchers.h | 5392 +++++ .../include/gmock/gmock-more-actions.h | 573 + .../include/gmock/gmock-more-matchers.h | 92 + .../include/gmock/gmock-nice-strict.h | 261 + .../include/gmock/gmock-spec-builders.h | 2038 ++ .../googlemock/include/gmock/gmock.h | 98 + .../include/gmock/internal/custom/README.md | 16 + .../internal/custom/gmock-generated-actions.h | 6 + .../gmock/internal/custom/gmock-matchers.h | 36 + .../gmock/internal/custom/gmock-port.h | 39 + .../gmock/internal/gmock-internal-utils.h | 459 + .../include/gmock/internal/gmock-port.h | 87 + .../include/gmock/internal/gmock-pp.h | 279 + .../gtest-1.11.0/googlemock/scripts/README.md | 5 + .../googlemock/scripts/fuse_gmock_files.py | 256 + .../googlemock/scripts/generator/LICENSE | 203 + .../googlemock/scripts/generator/README | 34 + .../scripts/generator/README.cppclean | 115 + .../scripts/generator/cpp/__init__.py | 0 .../googlemock/scripts/generator/cpp/ast.py | 1773 ++ .../scripts/generator/cpp/gmock_class.py | 247 + .../scripts/generator/cpp/gmock_class_test.py | 570 + .../scripts/generator/cpp/keywords.py | 56 + .../scripts/generator/cpp/tokenize.py | 284 + .../googlemock/scripts/generator/cpp/utils.py | 37 + .../googlemock/scripts/generator/gmock_gen.py | 30 + .../gtest-1.11.0/googlemock/src/gmock-all.cc | 46 + .../googlemock/src/gmock-cardinalities.cc | 155 + .../googlemock/src/gmock-internal-utils.cc | 200 + .../googlemock/src/gmock-matchers.cc | 459 + .../googlemock/src/gmock-spec-builders.cc | 908 + .../test/gtest-1.11.0/googlemock/src/gmock.cc | 213 + .../gtest-1.11.0/googlemock/src/gmock_main.cc | 72 + .../gtest-1.11.0/googlemock/test/BUILD.bazel | 118 + .../googlemock/test/gmock-actions_test.cc | 1583 ++ .../test/gmock-cardinalities_test.cc | 429 + .../test/gmock-function-mocker_test.cc | 986 + .../test/gmock-internal-utils_test.cc | 720 + .../googlemock/test/gmock-matchers_test.cc | 8562 ++++++++ .../test/gmock-more-actions_test.cc | 1547 ++ .../googlemock/test/gmock-nice-strict_test.cc | 539 + .../googlemock/test/gmock-port_test.cc | 42 + .../googlemock/test/gmock-pp-string_test.cc | 206 + .../googlemock/test/gmock-pp_test.cc | 83 + .../test/gmock-spec-builders_test.cc | 2775 +++ .../googlemock/test/gmock_all_test.cc | 46 + .../googlemock/test/gmock_ex_test.cc | 80 + .../googlemock/test/gmock_leak_test.py | 104 + .../googlemock/test/gmock_leak_test_.cc | 99 + .../googlemock/test/gmock_link2_test.cc | 39 + .../googlemock/test/gmock_link_test.cc | 39 + .../googlemock/test/gmock_link_test.h | 690 + .../googlemock/test/gmock_output_test.py | 183 + .../googlemock/test/gmock_output_test_.cc | 309 + .../test/gmock_output_test_golden.txt | 317 + .../googlemock/test/gmock_stress_test.cc | 240 + .../googlemock/test/gmock_test.cc | 181 + .../googlemock/test/gmock_test_utils.py | 108 + .../gtest-1.11.0/googletest/CMakeLists.txt | 323 + .../test/gtest-1.11.0/googletest/README.md | 215 + .../googletest/cmake/Config.cmake.in | 9 + .../gtest-1.11.0/googletest/cmake/gtest.pc.in | 9 + .../googletest/cmake/gtest_main.pc.in | 10 + .../googletest/cmake/internal_utils.cmake | 344 + .../googletest/cmake/libgtest.la.in | 21 + .../gtest-1.11.0/googletest/docs/README.md | 4 + .../include/gtest/gtest-death-test.h | 346 + .../googletest/include/gtest/gtest-matchers.h | 930 + .../googletest/include/gtest/gtest-message.h | 219 + .../include/gtest/gtest-param-test.h | 507 + .../googletest/include/gtest/gtest-printers.h | 1029 + .../googletest/include/gtest/gtest-spi.h | 238 + .../include/gtest/gtest-test-part.h | 184 + .../include/gtest/gtest-typed-test.h | 329 + .../googletest/include/gtest/gtest.h | 2495 +++ .../include/gtest/gtest_pred_impl.h | 359 + .../googletest/include/gtest/gtest_prod.h | 61 + .../include/gtest/internal/custom/README.md | 56 + .../gtest/internal/custom/gtest-port.h | 37 + .../gtest/internal/custom/gtest-printers.h | 42 + .../include/gtest/internal/custom/gtest.h | 37 + .../internal/gtest-death-test-internal.h | 304 + .../include/gtest/internal/gtest-filepath.h | 211 + .../include/gtest/internal/gtest-internal.h | 1560 ++ .../include/gtest/internal/gtest-param-util.h | 947 + .../include/gtest/internal/gtest-port-arch.h | 114 + .../include/gtest/internal/gtest-port.h | 2389 ++ .../include/gtest/internal/gtest-string.h | 175 + .../include/gtest/internal/gtest-type-util.h | 183 + .../googletest/samples/prime_tables.h | 126 + .../googletest/samples/sample1.cc | 66 + .../gtest-1.11.0/googletest/samples/sample1.h | 41 + .../googletest/samples/sample10_unittest.cc | 139 + .../googletest/samples/sample1_unittest.cc | 151 + .../googletest/samples/sample2.cc | 54 + .../gtest-1.11.0/googletest/samples/sample2.h | 80 + .../googletest/samples/sample2_unittest.cc | 107 + .../googletest/samples/sample3-inl.h | 172 + .../googletest/samples/sample3_unittest.cc | 149 + .../googletest/samples/sample4.cc | 54 + .../gtest-1.11.0/googletest/samples/sample4.h | 53 + .../googletest/samples/sample4_unittest.cc | 53 + .../googletest/samples/sample5_unittest.cc | 196 + .../googletest/samples/sample6_unittest.cc | 217 + .../googletest/samples/sample7_unittest.cc | 117 + .../googletest/samples/sample8_unittest.cc | 154 + .../googletest/samples/sample9_unittest.cc | 156 + .../gtest-1.11.0/googletest/scripts/README.md | 5 + .../gtest-1.11.0/googletest/scripts/common.py | 83 + .../googletest/scripts/fuse_gtest_files.py | 253 + .../googletest/scripts/gen_gtest_pred_impl.py | 733 + .../googletest/scripts/gtest-config.in | 274 + .../googletest/scripts/release_docs.py | 158 + .../googletest/scripts/run_with_path.py | 32 + .../gtest-1.11.0/googletest/scripts/upload.py | 1402 ++ .../googletest/scripts/upload_gtest.py | 78 + .../gtest-1.11.0/googletest/src/gtest-all.cc | 48 + .../googletest/src/gtest-death-test.cc | 1644 ++ .../googletest/src/gtest-filepath.cc | 369 + .../googletest/src/gtest-internal-inl.h | 1221 ++ .../googletest/src/gtest-matchers.cc | 97 + .../gtest-1.11.0/googletest/src/gtest-port.cc | 1433 ++ .../googletest/src/gtest-printers.cc | 533 + .../googletest/src/gtest-test-part.cc | 108 + .../googletest/src/gtest-typed-test.cc | 107 + .../test/gtest-1.11.0/googletest/src/gtest.cc | 6746 ++++++ .../gtest-1.11.0/googletest/src/gtest_main.cc | 54 + .../gtest-1.11.0/googletest/test/BUILD.bazel | 590 + .../googletest-break-on-failure-unittest.py | 208 + .../googletest-break-on-failure-unittest_.cc | 86 + .../test/googletest-catch-exceptions-test.py | 236 + .../test/googletest-catch-exceptions-test_.cc | 293 + .../googletest/test/googletest-color-test.py | 127 + .../googletest/test/googletest-color-test_.cc | 62 + .../test/googletest-death-test-test.cc | 1542 ++ .../test/googletest-death-test_ex_test.cc | 92 + .../test/googletest-env-var-test.py | 120 + .../test/googletest-env-var-test_.cc | 132 + .../test/googletest-failfast-unittest.py | 410 + .../test/googletest-failfast-unittest_.cc | 167 + .../test/googletest-filepath-test.cc | 649 + .../test/googletest-filter-unittest.py | 639 + .../test/googletest-filter-unittest_.cc | 137 + .../googletest-global-environment-unittest.py | 72 + ...googletest-global-environment-unittest_.cc | 58 + .../test/googletest-json-outfiles-test.py | 191 + .../test/googletest-json-output-unittest.py | 848 + .../test/googletest-list-tests-unittest.py | 205 + .../test/googletest-list-tests-unittest_.cc | 156 + .../test/googletest-listener-test.cc | 518 + .../test/googletest-message-test.cc | 158 + .../test/googletest-options-test.cc | 219 + .../googletest-output-test-golden-lin.txt | 1180 + .../googletest/test/googletest-output-test.py | 346 + .../test/googletest-output-test_.cc | 1108 + ...oogletest-param-test-invalid-name1-test.py | 63 + ...ogletest-param-test-invalid-name1-test_.cc | 50 + ...oogletest-param-test-invalid-name2-test.py | 62 + ...ogletest-param-test-invalid-name2-test_.cc | 55 + .../test/googletest-param-test-test.cc | 1119 + .../test/googletest-param-test-test.h | 51 + .../test/googletest-param-test2-test.cc | 61 + .../googletest/test/googletest-port-test.cc | 1276 ++ .../test/googletest-printers-test.cc | 1962 ++ .../test/googletest-setuptestsuite-test.py | 54 + .../test/googletest-setuptestsuite-test_.cc | 49 + .../test/googletest-shuffle-test.py | 323 + .../test/googletest-shuffle-test_.cc | 101 + .../test/googletest-test-part-test.cc | 230 + .../test/googletest-throw-on-failure-test.py | 168 + .../test/googletest-throw-on-failure-test_.cc | 71 + .../test/googletest-uninitialized-test.py | 67 + .../test/googletest-uninitialized-test_.cc | 42 + .../googletest/test/gtest-typed-test2_test.cc | 40 + .../googletest/test/gtest-typed-test_test.cc | 437 + .../googletest/test/gtest-typed-test_test.h | 60 + .../test/gtest-unittest-api_test.cc | 328 + .../googletest/test/gtest_all_test.cc | 46 + .../test/gtest_assert_by_exception_test.cc | 116 + .../googletest/test/gtest_environment_test.cc | 188 + .../googletest/test/gtest_help_test.py | 172 + .../googletest/test/gtest_help_test_.cc | 45 + .../googletest/test/gtest_json_test_utils.py | 60 + .../test/gtest_list_output_unittest.py | 286 + .../test/gtest_list_output_unittest_.cc | 77 + .../googletest/test/gtest_main_unittest.cc} | 21 +- .../googletest/test/gtest_no_test_unittest.cc | 54 + .../test/gtest_pred_impl_unittest.cc | 2422 ++ .../test/gtest_premature_exit_test.cc | 126 + .../googletest/test/gtest_prod_test.cc | 56 + .../googletest/test/gtest_repeat_test.cc | 233 + .../test/gtest_skip_check_output_test.py | 59 + ...test_skip_environment_check_output_test.py | 54 + .../gtest_skip_in_environment_setup_test.cc | 49 + .../googletest/test/gtest_skip_test.cc | 55 + .../googletest/test/gtest_sole_header_test.cc | 56 + .../googletest/test/gtest_stress_test.cc | 248 + .../gtest_test_macro_stack_footprint_test.cc | 89 + .../googletest/test/gtest_test_utils.py | 312 + .../googletest/test/gtest_testbridge_test.py | 63 + .../googletest/test/gtest_testbridge_test_.cc | 43 + .../test/gtest_throw_on_failure_ex_test.cc | 90 + .../googletest/test/gtest_unittest.cc | 7784 +++++++ .../test/gtest_xml_outfile1_test_.cc | 43 + .../test/gtest_xml_outfile2_test_.cc | 43 + .../test/gtest_xml_outfiles_test.py | 135 + .../test/gtest_xml_output_unittest.py | 415 + .../test/gtest_xml_output_unittest_.cc | 193 + .../googletest/test/gtest_xml_test_utils.py | 197 + .../googletest/test/production.cc} | 10 +- .../gtest-1.11.0/googletest/test/production.h | 54 + .../yaml-cpp/test/gtest-1.11.0/library.json | 62 + third_party/yaml-cpp/test/handler_test.h | 32 + .../test/integration/emitter_test.cpp | 1740 ++ .../test/integration/encoding_test.cpp | 182 + .../test/integration/error_messages_test.cpp | 61 + .../test/integration/gen_emitter_test.cpp | 9936 +++++++++ .../test/integration/handler_spec_test.cpp | 1686 ++ .../test/integration/handler_test.cpp | 76 + .../test/integration/load_node_test.cpp | 364 + .../test/integration/node_spec_test.cpp | 1136 + third_party/yaml-cpp/test/main.cpp | 6 + .../yaml-cpp/test/mock_event_handler.h | 30 + third_party/yaml-cpp/test/node/node_test.cpp | 853 + .../yaml-cpp/test/ostream_wrapper_test.cpp | 66 + third_party/yaml-cpp/test/parser_test.cpp | 64 + third_party/yaml-cpp/test/regex_test.cpp | 177 + third_party/yaml-cpp/test/specexamples.h | 868 + third_party/yaml-cpp/util/CMakeLists.txt | 32 + third_party/yaml-cpp/util/api.cpp | 137 + third_party/yaml-cpp/util/parse.cpp | 46 + third_party/yaml-cpp/util/read.cpp | 103 + third_party/yaml-cpp/util/sandbox.cpp | 36 + third_party/yaml-cpp/yaml-cpp-config.cmake.in | 33 + third_party/yaml-cpp/yaml-cpp.pc.in | 11 + .../contrib/minizip/MiniZip64_Changes.txt | 6 - third_party/zlib-1.2.13/contrib/minizip/zip.h | 367 - .../zlib-1.2.13/contrib/vstudio/vc9/zlib.rc | 32 - .../contrib/vstudio/vc9/zlibvc.def | 158 - third_party/zlib-1.2.13/examples/zran.c | 479 - third_party/zlib-1.2.13/examples/zran.h | 40 - third_party/zlib-1.2.13/zlib.3.pdf | Bin 19366 -> 0 bytes third_party/zlib-1.2.13/zlib2ansi | 152 - .../{zlib-1.2.13 => zlib-1.3}/CMakeLists.txt | 4 +- .../{zlib-1.2.13 => zlib-1.3}/ChangeLog | 20 +- third_party/{zlib-1.2.13 => zlib-1.3}/FAQ | 2 +- third_party/{zlib-1.2.13 => zlib-1.3}/INDEX | 0 third_party/{zlib-1.2.13 => zlib-1.3}/LICENSE | 0 .../{zlib-1.2.13 => zlib-1.3}/Makefile | 0 .../{zlib-1.2.13 => zlib-1.3}/Makefile.in | 10 +- third_party/{zlib-1.2.13 => zlib-1.3}/README | 19 +- .../{zlib-1.2.13 => zlib-1.3}/adler32.c | 32 +- .../amiga/Makefile.pup | 0 .../amiga/Makefile.sas | 0 .../{zlib-1.2.13 => zlib-1.3}/compress.c | 21 +- .../{zlib-1.2.13 => zlib-1.3}/configure | 26 +- .../contrib/README.contrib | 0 .../contrib/ada/buffer_demo.adb | 0 .../contrib/ada/mtest.adb | 0 .../contrib/ada/read.adb | 0 .../contrib/ada/readme.txt | 4 +- .../contrib/ada/test.adb | 4 +- .../contrib/ada/zlib-streams.adb | 0 .../contrib/ada/zlib-streams.ads | 2 +- .../contrib/ada/zlib-thin.adb | 0 .../contrib/ada/zlib-thin.ads | 0 .../contrib/ada/zlib.adb | 2 +- .../contrib/ada/zlib.ads | 2 +- .../contrib/ada/zlib.gpr | 0 .../contrib/blast/Makefile | 0 .../contrib/blast/README | 0 .../contrib/blast/blast.c | 0 .../contrib/blast/blast.h | 0 .../contrib/blast/test.pk | Bin .../contrib/blast/test.txt | 0 .../contrib/delphi/ZLib.pas | 2 +- .../contrib/delphi/ZLibConst.pas | 0 .../contrib/delphi/readme.txt | 0 .../contrib/delphi/zlibd32.mak | 0 .../contrib/dotzlib/DotZLib.build | 0 .../contrib/dotzlib/DotZLib.chm | Bin .../contrib/dotzlib/DotZLib.sln | 0 .../contrib/dotzlib/DotZLib/AssemblyInfo.cs | 0 .../contrib/dotzlib/DotZLib/ChecksumImpl.cs | 2 +- .../contrib/dotzlib/DotZLib/CircularBuffer.cs | 0 .../contrib/dotzlib/DotZLib/CodecBase.cs | 4 +- .../contrib/dotzlib/DotZLib/Deflater.cs | 0 .../contrib/dotzlib/DotZLib/DotZLib.cs | 0 .../contrib/dotzlib/DotZLib/DotZLib.csproj | 0 .../contrib/dotzlib/DotZLib/GZipStream.cs | 6 +- .../contrib/dotzlib/DotZLib/Inflater.cs | 0 .../contrib/dotzlib/DotZLib/UnitTests.cs | 2 +- .../contrib/dotzlib/LICENSE_1_0.txt | 0 .../contrib/dotzlib/readme.txt | 2 +- .../contrib/gcc_gvmat64/gvmat64.S | 0 .../contrib/infback9/README | 0 .../contrib/infback9/infback9.c | 24 +- .../contrib/infback9/infback9.h | 16 +- .../contrib/infback9/inffix9.h | 0 .../contrib/infback9/inflate9.h | 0 .../contrib/infback9/inftree9.c | 17 +- .../contrib/infback9/inftree9.h | 6 +- .../contrib/iostream/test.cpp | 0 .../contrib/iostream/zfstream.cpp | 0 .../contrib/iostream/zfstream.h | 0 .../contrib/iostream2/zstream.h | 0 .../contrib/iostream2/zstream_test.cpp | 0 .../contrib/iostream3/README | 0 .../contrib/iostream3/TODO | 0 .../contrib/iostream3/test.cc | 0 .../contrib/iostream3/zfstream.cc | 0 .../contrib/iostream3/zfstream.h | 0 .../contrib/minizip/Makefile | 0 .../contrib/minizip/Makefile.am | 0 .../contrib/minizip/MiniZip64_Changes.txt | 6 + .../contrib/minizip/MiniZip64_info.txt | 0 .../contrib/minizip/configure.ac | 2 +- .../contrib/minizip/crypt.h | 12 +- .../contrib/minizip/ioapi.c | 62 +- .../contrib/minizip/ioapi.h | 36 +- .../contrib/minizip/iowin32.c | 65 +- .../contrib/minizip/iowin32.h | 8 +- .../contrib/minizip/make_vms.com | 0 .../contrib/minizip/miniunz.c | 70 +- .../contrib/minizip/miniunzip.1 | 0 .../contrib/minizip/minizip.1 | 0 .../contrib/minizip/minizip.c | 60 +- .../contrib/minizip/minizip.pc.in | 0 .../contrib/minizip/mztools.c | 8 +- .../contrib/minizip/mztools.h | 0 .../contrib/minizip/unzip.c | 515 +- .../contrib/minizip/unzip.h | 136 +- .../contrib/minizip/zip.c | 315 +- third_party/zlib-1.3/contrib/minizip/zip.h | 364 + .../contrib/pascal/example.pas | 0 .../contrib/pascal/readme.txt | 0 .../contrib/pascal/zlibd32.mak | 0 .../contrib/pascal/zlibpas.pas | 2 +- .../contrib/puff/Makefile | 0 .../contrib/puff/README | 0 .../contrib/puff/puff.c | 0 .../contrib/puff/puff.h | 0 .../contrib/puff/pufftest.c | 0 .../contrib/puff/zeros.raw | Bin .../contrib/testzlib/testzlib.c | 2 +- .../contrib/testzlib/testzlib.txt | 0 .../contrib/untgz/Makefile | 0 .../contrib/untgz/Makefile.msc | 0 .../contrib/untgz/untgz.c | 63 +- .../contrib/vstudio/readme.txt | 2 +- .../contrib/vstudio/vc10/miniunz.vcxproj | 0 .../vstudio/vc10/miniunz.vcxproj.filters | 0 .../contrib/vstudio/vc10/minizip.vcxproj | 0 .../vstudio/vc10/minizip.vcxproj.filters | 0 .../contrib/vstudio/vc10/testzlib.vcxproj | 0 .../vstudio/vc10/testzlib.vcxproj.filters | 0 .../contrib/vstudio/vc10/testzlibdll.vcxproj | 0 .../vstudio/vc10/testzlibdll.vcxproj.filters | 0 .../contrib/vstudio/vc10}/zlib.rc | 8 +- .../contrib/vstudio/vc10/zlibstat.vcxproj | 0 .../vstudio/vc10/zlibstat.vcxproj.filters | 0 .../contrib/vstudio/vc10}/zlibvc.def | 2 +- .../contrib/vstudio/vc10/zlibvc.sln | 0 .../contrib/vstudio/vc10/zlibvc.vcxproj | 0 .../vstudio/vc10/zlibvc.vcxproj.filters | 0 .../contrib/vstudio/vc11/miniunz.vcxproj | 0 .../contrib/vstudio/vc11/minizip.vcxproj | 0 .../contrib/vstudio/vc11/testzlib.vcxproj | 0 .../contrib/vstudio/vc11/testzlibdll.vcxproj | 0 .../contrib/vstudio/vc11}/zlib.rc | 8 +- .../contrib/vstudio/vc11/zlibstat.vcxproj | 0 .../contrib/vstudio/vc11}/zlibvc.def | 2 +- .../contrib/vstudio/vc11/zlibvc.sln | 0 .../contrib/vstudio/vc11/zlibvc.vcxproj | 0 .../contrib/vstudio/vc12/miniunz.vcxproj | 0 .../contrib/vstudio/vc12/minizip.vcxproj | 0 .../contrib/vstudio/vc12/testzlib.vcxproj | 0 .../contrib/vstudio/vc12/testzlibdll.vcxproj | 0 .../contrib/vstudio/vc12}/zlib.rc | 8 +- .../contrib/vstudio/vc12/zlibstat.vcxproj | 0 .../contrib/vstudio/vc12}/zlibvc.def | 2 +- .../contrib/vstudio/vc12/zlibvc.sln | 0 .../contrib/vstudio/vc12/zlibvc.vcxproj | 0 .../contrib/vstudio/vc14/miniunz.vcxproj | 0 .../contrib/vstudio/vc14/minizip.vcxproj | 0 .../contrib/vstudio/vc14/testzlib.vcxproj | 0 .../contrib/vstudio/vc14/testzlibdll.vcxproj | 0 .../contrib/vstudio/vc14}/zlib.rc | 8 +- .../contrib/vstudio/vc14/zlibstat.vcxproj | 0 .../contrib/vstudio/vc14}/zlibvc.def | 2 +- .../contrib/vstudio/vc14/zlibvc.sln | 0 .../contrib/vstudio/vc14/zlibvc.vcxproj | 0 .../contrib/vstudio/vc9/miniunz.vcproj | 0 .../contrib/vstudio/vc9/minizip.vcproj | 0 .../contrib/vstudio/vc9/testzlib.vcproj | 0 .../contrib/vstudio/vc9/testzlibdll.vcproj | 0 .../zlib-1.3/contrib/vstudio/vc9/zlib.rc | 32 + .../contrib/vstudio/vc9/zlibstat.vcproj | 0 .../zlib-1.3/contrib/vstudio/vc9/zlibvc.def | 158 + .../contrib/vstudio/vc9/zlibvc.sln | 0 .../contrib/vstudio/vc9/zlibvc.vcproj | 0 third_party/{zlib-1.2.13 => zlib-1.3}/crc32.c | 248 +- third_party/{zlib-1.2.13 => zlib-1.3}/crc32.h | 0 .../{zlib-1.2.13 => zlib-1.3}/deflate.c | 569 +- .../{zlib-1.2.13 => zlib-1.3}/deflate.h | 16 +- .../doc/algorithm.txt | 0 .../doc/crc-doc.1.0.pdf | Bin .../{zlib-1.2.13 => zlib-1.3}/doc/rfc1950.txt | 0 .../{zlib-1.2.13 => zlib-1.3}/doc/rfc1951.txt | 0 .../{zlib-1.2.13 => zlib-1.3}/doc/rfc1952.txt | 0 .../doc/txtvsbin.txt | 0 .../examples/README.examples | 0 .../examples/enough.c | 0 .../examples/fitblk.c | 2 +- .../{zlib-1.2.13 => zlib-1.3}/examples/gun.c | 0 .../examples/gzappend.c | 0 .../examples/gzjoin.c | 0 .../examples/gzlog.c | 0 .../examples/gzlog.h | 0 .../examples/gznorm.c | 0 .../examples/zlib_how.html | 26 +- .../examples/zpipe.c | 0 third_party/zlib-1.3/examples/zran.c | 533 + third_party/zlib-1.3/examples/zran.h | 51 + .../{zlib-1.2.13 => zlib-1.3}/gzclose.c | 4 +- .../{zlib-1.2.13 => zlib-1.3}/gzguts.h | 23 +- third_party/{zlib-1.2.13 => zlib-1.3}/gzlib.c | 101 +- .../{zlib-1.2.13 => zlib-1.3}/gzread.c | 88 +- .../{zlib-1.2.13 => zlib-1.3}/gzwrite.c | 84 +- .../{zlib-1.2.13 => zlib-1.3}/infback.c | 30 +- .../{zlib-1.2.13 => zlib-1.3}/inffast.c | 5 +- .../{zlib-1.2.13 => zlib-1.3}/inffast.h | 2 +- .../{zlib-1.2.13 => zlib-1.3}/inffixed.h | 0 .../{zlib-1.2.13 => zlib-1.3}/inflate.c | 129 +- .../{zlib-1.2.13 => zlib-1.3}/inflate.h | 0 .../{zlib-1.2.13 => zlib-1.3}/inftrees.c | 17 +- .../{zlib-1.2.13 => zlib-1.3}/inftrees.h | 6 +- .../{zlib-1.2.13 => zlib-1.3}/make_vms.com | 0 .../msdos/Makefile.bor | 0 .../msdos/Makefile.dj2 | 0 .../msdos/Makefile.emx | 0 .../msdos/Makefile.msc | 0 .../msdos/Makefile.tc | 0 .../nintendods/Makefile | 0 .../nintendods/README | 0 .../old/Makefile.emx | 0 .../old/Makefile.riscos | 0 .../{zlib-1.2.13 => zlib-1.3}/old/README | 0 .../{zlib-1.2.13 => zlib-1.3}/old/descrip.mms | 0 .../old/os2/Makefile.os2 | 0 .../old/os2/zlib.def | 0 .../old/visual-basic.txt | 0 .../{zlib-1.2.13 => zlib-1.3}/os400/README400 | 2 +- .../{zlib-1.2.13 => zlib-1.3}/os400/bndsrc | 0 .../{zlib-1.2.13 => zlib-1.3}/os400/make.sh | 0 .../{zlib-1.2.13 => zlib-1.3}/os400/zlib.inc | 8 +- .../{zlib-1.2.13 => zlib-1.3}/qnx/package.qpg | 10 +- .../{zlib-1.2.13 => zlib-1.3}/test/example.c | 103 +- .../{zlib-1.2.13 => zlib-1.3}/test/infcover.c | 5 +- .../{zlib-1.2.13 => zlib-1.3}/test/minigzip.c | 172 +- .../{zlib-1.2.13 => zlib-1.3}/treebuild.xml | 4 +- third_party/{zlib-1.2.13 => zlib-1.3}/trees.c | 526 +- third_party/{zlib-1.2.13 => zlib-1.3}/trees.h | 0 .../{zlib-1.2.13 => zlib-1.3}/uncompr.c | 16 +- .../watcom/watcom_f.mak | 0 .../watcom/watcom_l.mak | 0 .../win32/DLL_FAQ.txt | 0 .../win32/Makefile.bor | 0 .../win32/Makefile.gcc | 0 .../win32/Makefile.msc | 0 .../win32/README-WIN32.txt | 4 +- .../win32/VisualC.txt | 0 .../{zlib-1.2.13 => zlib-1.3}/win32/zlib.def | 0 .../{zlib-1.2.13 => zlib-1.3}/win32/zlib1.rc | 0 third_party/{zlib-1.2.13 => zlib-1.3}/zconf.h | 8 +- .../{zlib-1.2.13 => zlib-1.3}/zconf.h.cmakein | 8 +- .../{zlib-1.2.13 => zlib-1.3}/zconf.h.in | 8 +- third_party/{zlib-1.2.13 => zlib-1.3}/zlib.3 | 6 +- third_party/zlib-1.3/zlib.3.pdf | Bin 0 -> 19505 bytes third_party/{zlib-1.2.13 => zlib-1.3}/zlib.h | 379 +- .../{zlib-1.2.13 => zlib-1.3}/zlib.map | 0 .../{zlib-1.2.13 => zlib-1.3}/zlib.pc.cmakein | 0 .../{zlib-1.2.13 => zlib-1.3}/zlib.pc.in | 0 third_party/{zlib-1.2.13 => zlib-1.3}/zutil.c | 60 +- third_party/{zlib-1.2.13 => zlib-1.3}/zutil.h | 20 +- 2145 files changed, 193384 insertions(+), 95765 deletions(-) create mode 100644 devertexwahn/MODULE.bazel create mode 100644 devertexwahn/WORKSPACE.bzlmod delete mode 100644 devertexwahn/ci/macOS-11-apple-clang13.yaml delete mode 100644 devertexwahn/ci/ubuntu-20.04-gcc9-fast-opt.yaml create mode 100644 devertexwahn/flatland/rendering/fresnel.h create mode 100644 devertexwahn/flatland/rendering/fresnel_test.cpp create mode 100644 devertexwahn/imaging/color_converter.h create mode 100644 devertexwahn/imaging/color_converter_test.cpp create mode 100644 devertexwahn/imaging/tests/data/RGBA.png create mode 100644 devertexwahn/imaging/tests/data/bay.png create mode 100644 devertexwahn/math/quaternion.h create mode 100644 devertexwahn/math/quaternion_test.cpp create mode 100644 devertexwahn/math/tests/third_party/eigen_test.cpp delete mode 100644 devertexwahn/okapi/third_party/libpng.BUILD delete mode 100644 devertexwahn/okapi/third_party/zlib.BUILD create mode 100644 third_party/Catch2/MODULE.bazel create mode 100644 third_party/Catch2/src/catch2/benchmark/detail/catch_analyse.cpp create mode 100644 third_party/Catch2/src/catch2/internal/catch_jsonwriter.cpp create mode 100644 third_party/Catch2/src/catch2/internal/catch_jsonwriter.hpp create mode 100644 third_party/Catch2/src/catch2/internal/catch_random_floating_point_helpers.hpp create mode 100644 third_party/Catch2/src/catch2/internal/catch_random_integer_helpers.hpp create mode 100644 third_party/Catch2/src/catch2/internal/catch_uniform_floating_point_distribution.hpp create mode 100644 third_party/Catch2/src/catch2/internal/catch_uniform_integer_distribution.hpp create mode 100644 third_party/Catch2/src/catch2/reporters/catch_reporter_json.cpp create mode 100644 third_party/Catch2/src/catch2/reporters/catch_reporter_json.hpp create mode 100644 third_party/Catch2/tests/SelfTest/IntrospectiveTests/AssertionHandler.tests.cpp create mode 100644 third_party/Catch2/tests/SelfTest/IntrospectiveTests/Integer.tests.cpp create mode 100644 third_party/Catch2/tests/SelfTest/IntrospectiveTests/Json.tests.cpp delete mode 100644 third_party/abseil-cpp/absl/algorithm/equal_benchmark.cc delete mode 100644 third_party/abseil-cpp/absl/base/internal/prefetch.h delete mode 100644 third_party/abseil-cpp/absl/base/internal/prefetch_test.cc delete mode 100644 third_party/abseil-cpp/absl/base/internal/thread_annotations.h create mode 100644 third_party/abseil-cpp/absl/base/no_destructor.h create mode 100644 third_party/abseil-cpp/absl/base/no_destructor_benchmark.cc create mode 100644 third_party/abseil-cpp/absl/base/no_destructor_test.cc delete mode 100644 third_party/abseil-cpp/absl/container/internal/counting_allocator.h create mode 100644 third_party/abseil-cpp/absl/container/internal/test_allocator.h rename third_party/abseil-cpp/absl/crc/internal/{crc_memcpy_x86_64.cc => crc_memcpy_x86_arm_combined.cc} (85%) create mode 100644 third_party/abseil-cpp/absl/functional/overload.h create mode 100644 third_party/abseil-cpp/absl/functional/overload_test.cc create mode 100644 third_party/abseil-cpp/absl/log/absl_vlog_is_on.h create mode 100644 third_party/abseil-cpp/absl/log/internal/fnmatch.cc create mode 100644 third_party/abseil-cpp/absl/log/internal/fnmatch.h create mode 100644 third_party/abseil-cpp/absl/log/internal/fnmatch_benchmark.cc create mode 100644 third_party/abseil-cpp/absl/log/internal/fnmatch_test.cc create mode 100644 third_party/abseil-cpp/absl/log/internal/vlog_config.cc create mode 100644 third_party/abseil-cpp/absl/log/internal/vlog_config.h create mode 100644 third_party/abseil-cpp/absl/log/internal/vlog_config_benchmark.cc create mode 100644 third_party/abseil-cpp/absl/log/vlog_is_on.h create mode 100644 third_party/abseil-cpp/absl/log/vlog_is_on_test.cc create mode 100644 third_party/abseil-cpp/absl/status/internal/status_internal.cc create mode 100644 third_party/abseil-cpp/absl/strings/charset.h rename third_party/abseil-cpp/absl/strings/{internal/char_map_benchmark.cc => charset_benchmark.cc} (71%) create mode 100644 third_party/abseil-cpp/absl/strings/charset_test.cc delete mode 100644 third_party/abseil-cpp/absl/strings/cord_ring_reader_test.cc delete mode 100644 third_party/abseil-cpp/absl/strings/cord_ring_test.cc rename third_party/abseil-cpp/absl/strings/{internal => }/has_absl_stringify.h (77%) create mode 100644 third_party/abseil-cpp/absl/strings/has_absl_stringify_test.cc create mode 100644 third_party/abseil-cpp/absl/strings/has_ostream_operator.h create mode 100644 third_party/abseil-cpp/absl/strings/has_ostream_operator_test.cc delete mode 100644 third_party/abseil-cpp/absl/strings/internal/char_map.h delete mode 100644 third_party/abseil-cpp/absl/strings/internal/char_map_test.cc delete mode 100644 third_party/abseil-cpp/absl/strings/internal/cord_rep_ring.cc delete mode 100644 third_party/abseil-cpp/absl/strings/internal/cord_rep_ring.h delete mode 100644 third_party/abseil-cpp/absl/strings/internal/cord_rep_ring_reader.h create mode 100644 third_party/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/zonenow.tab delete mode 100644 third_party/abseil-cpp/absl/types/internal/conformance_aliases.h delete mode 100644 third_party/abseil-cpp/absl/types/internal/conformance_archetype.h delete mode 100644 third_party/abseil-cpp/absl/types/internal/conformance_profile.h delete mode 100644 third_party/abseil-cpp/absl/types/internal/conformance_testing.h delete mode 100644 third_party/abseil-cpp/absl/types/internal/conformance_testing_helpers.h delete mode 100644 third_party/abseil-cpp/absl/types/internal/conformance_testing_test.cc delete mode 100644 third_party/abseil-cpp/absl/types/internal/parentheses.h delete mode 100644 third_party/abseil-cpp/absl/types/internal/transform_args.h create mode 100755 third_party/abseil-cpp/ci/linux_arm_clang-latest_libcxx_bazel.sh create mode 100644 third_party/bazel-skylib/tests/common_settings/BUILD create mode 100755 third_party/bazel-skylib/tests/common_settings/make_variable_test.sh create mode 100644 third_party/bazel-skylib/tests/common_settings_tests.bzl create mode 100644 third_party/fmt/.github/workflows/lint.yml create mode 100644 third_party/fmt/.github/workflows/scorecard.yml create mode 100644 third_party/fmt/ChangeLog.md delete mode 100644 third_party/fmt/ChangeLog.rst rename third_party/fmt/{LICENSE.rst => LICENSE} (100%) create mode 100644 third_party/fmt/README.md delete mode 100644 third_party/fmt/README.rst delete mode 100755 third_party/fmt/support/rst2md.py create mode 100644 third_party/glog/.github/dependabot.yml create mode 100644 third_party/glog/codecov.yml create mode 100644 third_party/glog/gcovr.cfg rename third_party/glog/src/glog/{logging.h.in => logging.h} (64%) rename third_party/glog/src/glog/{raw_logging.h.in => raw_logging.h} (61%) rename third_party/glog/src/glog/{stl_logging.h.in => stl_logging.h} (60%) rename third_party/glog/src/glog/{vlog_is_on.h.in => vlog_is_on.h} (80%) rename third_party/glog/src/{logging_striptest_main.cc => striplog_unittest.cc} (76%) mode change 100755 => 100644 third_party/glog/src/windows/port.cc mode change 100755 => 100644 third_party/glog/src/windows/port.h delete mode 100644 third_party/libwebp-1.3.1/Makefile.in delete mode 100644 third_party/libwebp-1.3.1/aclocal.m4 delete mode 100755 third_party/libwebp-1.3.1/ar-lib delete mode 100755 third_party/libwebp-1.3.1/compile delete mode 100755 third_party/libwebp-1.3.1/config.guess delete mode 100755 third_party/libwebp-1.3.1/config.sub delete mode 100755 third_party/libwebp-1.3.1/configure delete mode 100755 third_party/libwebp-1.3.1/depcomp delete mode 100644 third_party/libwebp-1.3.1/examples/Makefile.in delete mode 100644 third_party/libwebp-1.3.1/extras/Makefile.in delete mode 100644 third_party/libwebp-1.3.1/imageio/Makefile.in delete mode 100755 third_party/libwebp-1.3.1/install-sh delete mode 100755 third_party/libwebp-1.3.1/ltmain.sh delete mode 100644 third_party/libwebp-1.3.1/m4/libtool.m4 delete mode 100644 third_party/libwebp-1.3.1/m4/ltoptions.m4 delete mode 100644 third_party/libwebp-1.3.1/m4/ltsugar.m4 delete mode 100644 third_party/libwebp-1.3.1/m4/ltversion.m4 delete mode 100644 third_party/libwebp-1.3.1/m4/lt~obsolete.m4 delete mode 100644 third_party/libwebp-1.3.1/man/Makefile.in delete mode 100755 third_party/libwebp-1.3.1/missing delete mode 100644 third_party/libwebp-1.3.1/sharpyuv/Makefile.in delete mode 100644 third_party/libwebp-1.3.1/src/Makefile.in delete mode 100644 third_party/libwebp-1.3.1/src/dec/Makefile.in delete mode 100644 third_party/libwebp-1.3.1/src/demux/Makefile.in delete mode 100644 third_party/libwebp-1.3.1/src/dsp/Makefile.in delete mode 100644 third_party/libwebp-1.3.1/src/enc/Makefile.in delete mode 100644 third_party/libwebp-1.3.1/src/mux/Makefile.in delete mode 100644 third_party/libwebp-1.3.1/src/utils/Makefile.in delete mode 100644 third_party/libwebp-1.3.1/src/webp/config.h.in create mode 100644 third_party/libwebp-1.3.2/.bazelrc create mode 100644 third_party/libwebp-1.3.2/.bazelversion rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/.cmake-format.py (100%) create mode 100644 third_party/libwebp-1.3.2/.gradle/6.1.1/fileChanges/last-build.bin create mode 100644 third_party/libwebp-1.3.2/.gradle/6.1.1/fileHashes/fileHashes.lock create mode 100644 third_party/libwebp-1.3.2/.gradle/6.1.1/gc.properties create mode 100644 third_party/libwebp-1.3.2/.gradle/buildOutputCleanup/buildOutputCleanup.lock create mode 100644 third_party/libwebp-1.3.2/.gradle/buildOutputCleanup/cache.properties create mode 100644 third_party/libwebp-1.3.2/.gradle/checksums/checksums.lock create mode 100644 third_party/libwebp-1.3.2/.gradle/checksums/md5-checksums.bin create mode 100644 third_party/libwebp-1.3.2/.gradle/checksums/sha1-checksums.bin create mode 100644 third_party/libwebp-1.3.2/.gradle/vcs-1/gc.properties rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/.pylintrc (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/.style.yapf (100%) create mode 100644 third_party/libwebp-1.3.2/0001-Add-MODULE.bazel-file.patch create mode 100644 third_party/libwebp-1.3.2/0001-Add-build-file.patch rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/AUTHORS (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/Android.mk (100%) create mode 100644 third_party/libwebp-1.3.2/BUILD.bazel rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/CMakeLists.txt (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/CONTRIBUTING.md (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/COPYING (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/ChangeLog (99%) create mode 100644 third_party/libwebp-1.3.2/MODULE.bazel rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/Makefile.am (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/Makefile.vc (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/NEWS (98%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/PATENTS (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/PRESUBMIT.py (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/README.md (97%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/autogen.sh (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/build.gradle (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/cmake/WebPConfig.cmake.in (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/cmake/config.h.in (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/cmake/cpu.cmake (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/cmake/deps.cmake (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/codereview.settings (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/configure.ac (99%) create mode 100644 third_party/libwebp-1.3.2/doc/TODO rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/doc/api.md (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/doc/building.md (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/doc/specs_generation.md (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/doc/template.html (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/doc/tools.md (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/doc/webp-container-spec.txt (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/doc/webp-lossless-bitstream-spec.txt (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/examples/Android.mk (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/examples/Makefile.am (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/examples/anim_diff.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/examples/anim_dump.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/examples/anim_util.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/examples/anim_util.h (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/examples/cwebp.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/examples/dwebp.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/examples/example_util.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/examples/example_util.h (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/examples/gif2webp.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/examples/gifdec.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/examples/gifdec.h (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/examples/img2webp.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/examples/stopwatch.h (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/examples/test.webp (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/examples/test_ref.ppm (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/examples/unicode.h (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/examples/unicode_gif.h (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/examples/vwebp.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/examples/webpinfo.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/examples/webpmux.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/extras/Makefile.am (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/extras/extras.c (99%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/extras/extras.h (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/extras/get_disto.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/extras/quality_estimate.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/extras/vwebp_sdl.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/extras/webp_quality.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/extras/webp_to_sdl.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/extras/webp_to_sdl.h (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/gradle.properties (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/gradle/wrapper/gradle-wrapper.jar (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/gradle/wrapper/gradle-wrapper.properties (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/gradlew (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/gradlew.bat (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/imageio/Android.mk (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/imageio/Makefile.am (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/imageio/image_dec.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/imageio/image_dec.h (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/imageio/image_enc.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/imageio/image_enc.h (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/imageio/imageio_util.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/imageio/imageio_util.h (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/imageio/jpegdec.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/imageio/jpegdec.h (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/imageio/metadata.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/imageio/metadata.h (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/imageio/pngdec.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/imageio/pngdec.h (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/imageio/pnmdec.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/imageio/pnmdec.h (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/imageio/tiffdec.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/imageio/tiffdec.h (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/imageio/webpdec.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/imageio/webpdec.h (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/imageio/wicdec.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/imageio/wicdec.h (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/infra/common.sh (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/infra/compile.sh (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/infra/compile_android.sh (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/infra/compile_js.sh (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/infra/run_static_analysis.sh (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/iosbuild.sh (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/m4/ax_pthread.m4 (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/makefile.unix (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/man/Makefile.am (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/man/cwebp.1 (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/man/dwebp.1 (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/man/gif2webp.1 (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/man/img2webp.1 (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/man/vwebp.1 (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/man/webpinfo.1 (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/man/webpmux.1 (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/sharpyuv/Makefile.am (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/sharpyuv/libsharpyuv.pc.in (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/sharpyuv/libsharpyuv.rc (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/sharpyuv/sharpyuv.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/sharpyuv/sharpyuv.h (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/sharpyuv/sharpyuv_cpu.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/sharpyuv/sharpyuv_cpu.h (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/sharpyuv/sharpyuv_csp.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/sharpyuv/sharpyuv_csp.h (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/sharpyuv/sharpyuv_dsp.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/sharpyuv/sharpyuv_dsp.h (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/sharpyuv/sharpyuv_gamma.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/sharpyuv/sharpyuv_gamma.h (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/sharpyuv/sharpyuv_neon.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/sharpyuv/sharpyuv_sse2.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/Makefile.am (92%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dec/Makefile.am (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dec/alpha_dec.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dec/alphai_dec.h (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dec/buffer_dec.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dec/common_dec.h (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dec/frame_dec.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dec/idec_dec.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dec/io_dec.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dec/quant_dec.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dec/tree_dec.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dec/vp8_dec.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dec/vp8_dec.h (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dec/vp8i_dec.h (99%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dec/vp8l_dec.c (97%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dec/vp8li_dec.h (99%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dec/webp_dec.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dec/webpi_dec.h (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/demux/Makefile.am (90%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/demux/anim_decode.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/demux/demux.c (99%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/demux/libwebpdemux.pc.in (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/demux/libwebpdemux.rc (87%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/Makefile.am (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/alpha_processing.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/alpha_processing_mips_dsp_r2.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/alpha_processing_neon.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/alpha_processing_sse2.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/alpha_processing_sse41.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/common_sse2.h (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/common_sse41.h (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/cost.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/cost_mips32.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/cost_mips_dsp_r2.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/cost_neon.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/cost_sse2.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/cpu.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/cpu.h (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/dec.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/dec_clip_tables.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/dec_mips32.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/dec_mips_dsp_r2.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/dec_msa.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/dec_neon.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/dec_sse2.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/dec_sse41.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/dsp.h (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/enc.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/enc_mips32.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/enc_mips_dsp_r2.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/enc_msa.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/enc_neon.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/enc_sse2.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/enc_sse41.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/filters.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/filters_mips_dsp_r2.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/filters_msa.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/filters_neon.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/filters_sse2.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/lossless.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/lossless.h (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/lossless_common.h (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/lossless_enc.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/lossless_enc_mips32.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/lossless_enc_mips_dsp_r2.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/lossless_enc_msa.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/lossless_enc_neon.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/lossless_enc_sse2.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/lossless_enc_sse41.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/lossless_mips_dsp_r2.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/lossless_msa.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/lossless_neon.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/lossless_sse2.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/lossless_sse41.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/mips_macro.h (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/msa_macro.h (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/neon.h (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/quant.h (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/rescaler.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/rescaler_mips32.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/rescaler_mips_dsp_r2.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/rescaler_msa.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/rescaler_neon.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/rescaler_sse2.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/ssim.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/ssim_sse2.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/upsampling.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/upsampling_mips_dsp_r2.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/upsampling_msa.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/upsampling_neon.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/upsampling_sse2.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/upsampling_sse41.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/yuv.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/yuv.h (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/yuv_mips32.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/yuv_mips_dsp_r2.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/yuv_neon.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/yuv_sse2.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/dsp/yuv_sse41.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/enc/Makefile.am (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/enc/alpha_enc.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/enc/analysis_enc.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/enc/backward_references_cost_enc.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/enc/backward_references_enc.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/enc/backward_references_enc.h (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/enc/config_enc.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/enc/cost_enc.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/enc/cost_enc.h (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/enc/filter_enc.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/enc/frame_enc.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/enc/histogram_enc.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/enc/histogram_enc.h (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/enc/iterator_enc.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/enc/near_lossless_enc.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/enc/picture_csp_enc.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/enc/picture_enc.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/enc/picture_psnr_enc.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/enc/picture_rescale_enc.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/enc/picture_tools_enc.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/enc/predictor_enc.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/enc/quant_enc.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/enc/syntax_enc.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/enc/token_enc.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/enc/tree_enc.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/enc/vp8i_enc.h (99%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/enc/vp8l_enc.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/enc/vp8li_enc.h (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/enc/webp_enc.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/libwebp.pc.in (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/libwebp.rc (87%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/libwebpdecoder.pc.in (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/libwebpdecoder.rc (87%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/mux/Makefile.am (91%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/mux/anim_encode.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/mux/animi.h (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/mux/libwebpmux.pc.in (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/mux/libwebpmux.rc (87%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/mux/muxedit.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/mux/muxi.h (99%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/mux/muxinternal.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/mux/muxread.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/utils/Makefile.am (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/utils/bit_reader_inl_utils.h (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/utils/bit_reader_utils.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/utils/bit_reader_utils.h (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/utils/bit_writer_utils.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/utils/bit_writer_utils.h (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/utils/color_cache_utils.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/utils/color_cache_utils.h (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/utils/endian_inl_utils.h (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/utils/filters_utils.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/utils/filters_utils.h (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/utils/huffman_encode_utils.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/utils/huffman_encode_utils.h (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/utils/huffman_utils.c (69%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/utils/huffman_utils.h (78%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/utils/quant_levels_dec_utils.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/utils/quant_levels_dec_utils.h (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/utils/quant_levels_utils.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/utils/quant_levels_utils.h (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/utils/random_utils.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/utils/random_utils.h (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/utils/rescaler_utils.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/utils/rescaler_utils.h (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/utils/thread_utils.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/utils/thread_utils.h (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/utils/utils.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/utils/utils.h (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/webp/decode.h (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/webp/demux.h (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/webp/encode.h (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/webp/format_constants.h (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/webp/mux.h (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/webp/mux_types.h (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/src/webp/types.h (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/swig/README.md (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/swig/libwebp.go (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/swig/libwebp.jar (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/swig/libwebp.py (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/swig/libwebp.swig (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/swig/libwebp_gc.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/swig/libwebp_go_wrap.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/swig/libwebp_java_wrap.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/swig/libwebp_python_wrap.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/swig/setup.py (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/tests/README.md (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/tests/fuzzer/advanced_api_fuzzer.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/tests/fuzzer/animation_api_fuzzer.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/tests/fuzzer/animdecoder_fuzzer.cc (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/tests/fuzzer/animencoder_fuzzer.cc (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/tests/fuzzer/enc_dec_fuzzer.cc (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/tests/fuzzer/fuzz.dict (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/tests/fuzzer/fuzz_utils.h (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/tests/fuzzer/img_alpha.h (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/tests/fuzzer/img_grid.h (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/tests/fuzzer/img_peak.h (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/tests/fuzzer/makefile.unix (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/tests/fuzzer/mux_demux_api_fuzzer.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/tests/fuzzer/simple_api_fuzzer.c (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/webp_js/README.md (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/webp_js/index.html (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/webp_js/index_wasm.html (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/webp_js/test_webp_js.webp (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/webp_js/test_webp_wasm.webp (100%) rename third_party/{libwebp-1.3.1 => libwebp-1.3.2}/xcframeworkbuild.sh (100%) delete mode 100644 third_party/openexr/.bazelrc rename third_party/openexr/.github/workflows/{cifuzz.yml => ossfuzz_workflow.yml} (60%) create mode 100644 third_party/openexr/.github/workflows/scorecard.yml create mode 100644 third_party/openexr/.github/workflows/website_workflow.yml create mode 100644 third_party/openexr/.mailmap create mode 100644 third_party/openexr/MODULE.bazel delete mode 100644 third_party/openexr/bazel/example/BUILD.bazel delete mode 100644 third_party/openexr/bazel/example/main.cpp delete mode 100644 third_party/openexr/docs/StandardOptionalAttributes.rst delete mode 100644 third_party/openexr/docs/source_images/blobs.png delete mode 100644 third_party/openexr/docs/source_images/cubeMap.fig delete mode 100644 third_party/openexr/docs/source_images/dataDisplayWindow.fig delete mode 100644 third_party/openexr/docs/source_images/kapaa.png delete mode 100644 third_party/openexr/docs/source_images/latlongMap.fig delete mode 100644 third_party/openexr/docs/source_images/screenwin.fig delete mode 100644 third_party/openexr/docs/source_images/still.png delete mode 100644 third_party/openexr/docs/source_images/tiles.fig delete mode 100644 third_party/openexr/docs/source_images/windowExample1.fig delete mode 100644 third_party/openexr/docs/source_images/windowExample2.fig delete mode 100644 third_party/openexr/docs/src/CMakeLists.txt delete mode 100644 third_party/openexr/docs/src/makePreviewImage.cpp delete mode 100644 third_party/openexr/docs/src/readHeader.cpp delete mode 100644 third_party/openexr/docs/src/writeRgba1.cpp delete mode 100644 third_party/openexr/docs/src/writeRgba2.cpp rename third_party/openexr/share/{ => util}/abi_checker.sh (100%) rename third_party/openexr/share/{ => util}/clang_coverage.sh (100%) rename third_party/openexr/{ => share}/util/reformat.sh (100%) delete mode 100644 third_party/openexr/src/bin/.gitignore create mode 100644 third_party/openexr/src/bin/exrmanifest/CMakeLists.txt create mode 100644 third_party/openexr/src/bin/exrmanifest/main.cpp create mode 100644 third_party/openexr/src/examples/BUILD.bazel create mode 100644 third_party/openexr/src/examples/deepidexample.cpp create mode 100644 third_party/openexr/src/examples/deepidselect.cpp create mode 100644 third_party/openexr/src/examples/multipartExamples.cpp create mode 100644 third_party/openexr/src/examples/multipartExamples.h rename third_party/openexr/src/lib/OpenEXRCore/{openexr_conf.h => openexr_config.h} (95%) create mode 100644 third_party/openexr/src/test/OpenEXRTest/testHeader.cpp create mode 100644 third_party/openexr/src/test/OpenEXRTest/testHeader.h create mode 100644 third_party/openexr/src/wrappers/python/CMakeLists.txt create mode 100644 third_party/openexr/src/wrappers/python/tests/test_unittest.py rename third_party/openexr/{docs => website}/API.rst (100%) create mode 100644 third_party/openexr/website/CMakeLists.txt create mode 100644 third_party/openexr/website/DeepIDsSpecification.rst rename third_party/openexr/{docs => website}/Doxyfile.in (100%) rename third_party/openexr/{docs => website}/HelloWorld.rst (100%) rename third_party/openexr/{docs => website}/InterpretingDeepPixels.rst (100%) rename third_party/openexr/{docs => website}/MultiViewOpenEXR.rst (100%) rename third_party/openexr/{docs => website}/OpenEXRCoreAPI.rst (100%) rename third_party/openexr/{docs => website}/OpenEXRFileLayout.rst (50%) rename third_party/openexr/{docs => website}/PortingGuide.rst (100%) rename third_party/openexr/{docs => website}/ReadingAndWritingImageFiles.rst (92%) create mode 100644 third_party/openexr/website/StandardAttributes.rst rename third_party/openexr/{docs => website}/SymbolVisibility.rst (100%) rename third_party/openexr/{docs => website}/TechnicalIntroduction.rst (99%) rename third_party/openexr/{docs => website}/TheoryDeepPixels.rst (100%) rename third_party/openexr/{docs => website}/about.rst (100%) rename third_party/openexr/{docs => website}/bin/exr2aces.rst (100%) rename third_party/openexr/{docs => website}/bin/exrcheck.rst (100%) rename third_party/openexr/{docs => website}/bin/exrenvmap.rst (100%) rename third_party/openexr/{docs => website}/bin/exrheader.rst (100%) rename third_party/openexr/{docs => website}/bin/exrinfo.rst (100%) rename third_party/openexr/{docs => website}/bin/exrmakepreview.rst (100%) rename third_party/openexr/{docs => website}/bin/exrmaketiled.rst (100%) rename third_party/openexr/{docs => website}/bin/exrmultipart.rst (100%) rename third_party/openexr/{docs => website}/bin/exrmultiview.rst (100%) rename third_party/openexr/{docs => website}/bin/exrstdattr.rst (100%) rename third_party/openexr/{docs => website}/concepts.rst (88%) rename third_party/openexr/{docs => website}/conf.py (100%) create mode 100644 third_party/openexr/website/downloads/sample.exr rename third_party/openexr/{docs => website}/images/InterpretingDeepPixels1.png (100%) rename third_party/openexr/{docs => website}/images/InterpretingDeepPixels2.png (100%) rename third_party/openexr/{docs => website}/images/InterpretingDeepPixels3.png (100%) rename third_party/openexr/{docs => website}/images/OpenEXR_Reel_2020.png (100%) rename third_party/openexr/{docs => website}/images/cubeMap.big.png (100%) rename third_party/openexr/{docs => website}/images/cubeMap.png (100%) rename third_party/openexr/{docs => website}/images/drawing.png (100%) rename third_party/openexr/{docs => website}/images/envcube.png (100%) rename third_party/openexr/{docs => website}/images/latlong.png (100%) rename third_party/openexr/{docs => website}/images/latlongMap.big.png (100%) rename third_party/openexr/{docs => website}/images/latlongMap.png (100%) create mode 100644 third_party/openexr/website/images/news.png rename third_party/openexr/{docs => website}/images/openexr-fav.ico (100%) rename third_party/openexr/{docs => website}/images/openexr-horizontal-color.png (100%) rename third_party/openexr/{docs => website}/images/openexr-logo.jpg (100%) rename third_party/openexr/{docs => website}/images/openexr-stacked-color.png (100%) rename third_party/openexr/{docs => website}/images/screenwin.big.png (100%) rename third_party/openexr/{docs => website}/images/screenwin.png (100%) rename third_party/openexr/{docs => website}/images/tiles.big.png (100%) rename third_party/openexr/{docs => website}/images/tiles.png (100%) rename third_party/openexr/{docs => website}/images/twosamples.png (100%) rename third_party/openexr/{docs => website}/images/windowExample1.big.png (100%) rename third_party/openexr/{docs => website}/images/windowExample1.png (100%) rename third_party/openexr/{docs => website}/images/windowExample1.small.png (100%) rename third_party/openexr/{docs => website}/images/windowExample2.big.png (100%) rename third_party/openexr/{docs => website}/images/windowExample2.png (100%) rename third_party/openexr/{docs => website}/index.rst (93%) rename third_party/openexr/{docs => website}/install.rst (81%) rename third_party/openexr/{docs => website}/license.rst (100%) rename third_party/openexr/{docs => website}/news.rst (92%) rename third_party/openexr/{docs => website}/requirements.txt (100%) rename third_party/openexr/{docs => website}/scripts/test_images.py (96%) create mode 100644 third_party/openexr/website/src/CMakeLists.txt rename third_party/openexr/{docs => website}/src/C_IStream.cpp (100%) rename third_party/openexr/{docs => website}/src/C_IStream_clear.cpp (100%) rename third_party/openexr/{docs => website}/src/C_IStream_read.cpp (79%) rename third_party/openexr/{docs => website}/src/C_IStream_seekg.cpp (100%) rename third_party/openexr/{docs => website}/src/C_IStream_tellg.cpp (100%) rename third_party/openexr/{docs => website}/src/IStream.cpp (100%) rename third_party/openexr/{docs => website}/src/MemoryMappedIStream.cpp (100%) rename third_party/openexr/{docs => website}/src/MemoryMappedIStream_constructor.cpp (100%) rename third_party/openexr/{docs => website}/src/MemoryMappedIStream_destructor.cpp (100%) rename third_party/openexr/{docs => website}/src/MemoryMappedIStream_isMemoryMapped.cpp (100%) rename third_party/openexr/{docs => website}/src/MemoryMappedIStream_read.cpp (77%) rename third_party/openexr/{docs => website}/src/MemoryMappedIStream_readMemoryMapped.cpp (65%) rename third_party/openexr/{docs => website}/src/all.cpp (76%) create mode 100644 third_party/openexr/website/src/compression.cpp create mode 100644 third_party/openexr/website/src/envmap.cpp rename third_party/openexr/{docs => website}/src/mergeOverlappingSamples.cpp (100%) create mode 100644 third_party/openexr/website/src/multithreading.cpp create mode 100644 third_party/openexr/website/src/previewImageExamples.cpp create mode 100644 third_party/openexr/website/src/readChannelsAndLayers.cpp rename third_party/openexr/{docs => website}/src/readDeepScanLineFile.cpp (100%) rename third_party/openexr/{docs => website}/src/readDeepTiledFile.cpp (100%) rename third_party/openexr/{docs => website}/src/readGZ1.cpp (99%) rename third_party/openexr/{docs => website}/src/readGZ2.cpp (100%) create mode 100644 third_party/openexr/website/src/readHeader.cpp rename third_party/openexr/{docs => website}/src/readRgba1.cpp (100%) rename third_party/openexr/{docs => website}/src/readRgba2.cpp (100%) rename third_party/openexr/{docs => website}/src/readRgbaFILE.cpp (100%) rename third_party/openexr/{docs => website}/src/readTiled1.cpp (67%) rename third_party/openexr/{docs => website}/src/readTiledRgba1.cpp (100%) rename third_party/openexr/{docs => website}/src/reader/CMakeLists.txt (100%) rename third_party/openexr/{docs => website}/src/reader/build.sh (100%) rename third_party/openexr/{docs => website}/src/reader/reader.cpp (100%) rename third_party/openexr/{docs => website}/src/splitVolumeSample.cpp (100%) create mode 100644 third_party/openexr/website/src/structDefinitions.cpp create mode 100644 third_party/openexr/website/src/tileDescription.cpp create mode 100644 third_party/openexr/website/src/validExrFile.cpp rename third_party/openexr/{docs => website}/src/writeDeepScanLineFile.cpp (100%) rename third_party/openexr/{docs => website}/src/writeDeepTiledFile.cpp (100%) rename third_party/openexr/{docs => website}/src/writeGZ1.cpp (67%) rename third_party/openexr/{docs => website}/src/writeGZ2.cpp (100%) create mode 100644 third_party/openexr/website/src/writeRgba1.cpp create mode 100644 third_party/openexr/website/src/writeRgba2.cpp rename third_party/openexr/{docs => website}/src/writeRgba3.cpp (100%) rename third_party/openexr/{docs => website}/src/writeRgbaMT.cpp (100%) rename third_party/openexr/{docs => website}/src/writeRgbaWithPreview1.cpp (100%) rename third_party/openexr/{docs => website}/src/writeRgbaWithPreview2.cpp (92%) rename third_party/openexr/{docs => website}/src/writeTiled1.cpp (100%) rename third_party/openexr/{docs => website}/src/writeTiledRgbaMIP1.cpp (100%) rename third_party/openexr/{docs => website}/src/writeTiledRgbaMIP2.cpp (100%) rename third_party/openexr/{docs => website}/src/writeTiledRgbaONE1.cpp (100%) rename third_party/openexr/{docs => website}/src/writeTiledRgbaONE2.cpp (100%) rename third_party/openexr/{docs => website}/src/writeTiledRgbaRIP1.cpp (100%) rename third_party/openexr/{docs => website}/src/writer/CMakeLists.txt (100%) rename third_party/openexr/{docs => website}/src/writer/build.sh (100%) rename third_party/openexr/{docs => website}/src/writer/writer.cpp (100%) rename third_party/openexr/{docs => website}/test_images.txt (100%) rename third_party/openexr/{docs => website}/toc_redirect.rst (100%) rename third_party/openexr/{docs => website}/tools.rst (100%) delete mode 100644 third_party/xtensor/.github/workflows/ci_extended.yaml create mode 100644 third_party/yaml-cpp/.bazelignore create mode 100644 third_party/yaml-cpp/.clang-format create mode 100644 third_party/yaml-cpp/.codedocs create mode 100644 third_party/yaml-cpp/.github/dependabot.yml create mode 100644 third_party/yaml-cpp/.github/workflows/build.yml create mode 100644 third_party/yaml-cpp/.github/workflows/bzlmod-archive.yml create mode 100644 third_party/yaml-cpp/.gitignore create mode 100644 third_party/yaml-cpp/BUILD.bazel create mode 100644 third_party/yaml-cpp/CMakeLists.txt create mode 100644 third_party/yaml-cpp/CONTRIBUTING.md create mode 100644 third_party/yaml-cpp/LICENSE create mode 100644 third_party/yaml-cpp/MODULE.bazel create mode 100644 third_party/yaml-cpp/README.md create mode 100644 third_party/yaml-cpp/SECURITY.md create mode 100644 third_party/yaml-cpp/WORKSPACE create mode 100644 third_party/yaml-cpp/cmake_uninstall.cmake.in create mode 100644 third_party/yaml-cpp/docs/Breaking-Changes.md create mode 100644 third_party/yaml-cpp/docs/How-To-Emit-YAML.md create mode 100644 third_party/yaml-cpp/docs/How-To-Parse-A-Document-(Old-API).md create mode 100644 third_party/yaml-cpp/docs/Strings.md create mode 100644 third_party/yaml-cpp/docs/Tutorial.md create mode 100644 third_party/yaml-cpp/docs/_config.yml create mode 100644 third_party/yaml-cpp/docs/index.md create mode 100644 third_party/yaml-cpp/include/yaml-cpp/anchor.h create mode 100644 third_party/yaml-cpp/include/yaml-cpp/binary.h create mode 100644 third_party/yaml-cpp/include/yaml-cpp/contrib/anchordict.h create mode 100644 third_party/yaml-cpp/include/yaml-cpp/contrib/graphbuilder.h create mode 100644 third_party/yaml-cpp/include/yaml-cpp/depthguard.h create mode 100644 third_party/yaml-cpp/include/yaml-cpp/dll.h create mode 100644 third_party/yaml-cpp/include/yaml-cpp/emitfromevents.h create mode 100644 third_party/yaml-cpp/include/yaml-cpp/emitter.h create mode 100644 third_party/yaml-cpp/include/yaml-cpp/emitterdef.h create mode 100644 third_party/yaml-cpp/include/yaml-cpp/emittermanip.h create mode 100644 third_party/yaml-cpp/include/yaml-cpp/emitterstyle.h create mode 100644 third_party/yaml-cpp/include/yaml-cpp/eventhandler.h create mode 100644 third_party/yaml-cpp/include/yaml-cpp/exceptions.h create mode 100644 third_party/yaml-cpp/include/yaml-cpp/mark.h create mode 100644 third_party/yaml-cpp/include/yaml-cpp/node/convert.h create mode 100644 third_party/yaml-cpp/include/yaml-cpp/node/detail/impl.h create mode 100644 third_party/yaml-cpp/include/yaml-cpp/node/detail/iterator.h create mode 100644 third_party/yaml-cpp/include/yaml-cpp/node/detail/iterator_fwd.h create mode 100644 third_party/yaml-cpp/include/yaml-cpp/node/detail/memory.h create mode 100644 third_party/yaml-cpp/include/yaml-cpp/node/detail/node.h create mode 100644 third_party/yaml-cpp/include/yaml-cpp/node/detail/node_data.h create mode 100644 third_party/yaml-cpp/include/yaml-cpp/node/detail/node_iterator.h create mode 100644 third_party/yaml-cpp/include/yaml-cpp/node/detail/node_ref.h create mode 100644 third_party/yaml-cpp/include/yaml-cpp/node/emit.h create mode 100644 third_party/yaml-cpp/include/yaml-cpp/node/impl.h create mode 100644 third_party/yaml-cpp/include/yaml-cpp/node/iterator.h create mode 100644 third_party/yaml-cpp/include/yaml-cpp/node/node.h create mode 100644 third_party/yaml-cpp/include/yaml-cpp/node/parse.h create mode 100644 third_party/yaml-cpp/include/yaml-cpp/node/ptr.h create mode 100644 third_party/yaml-cpp/include/yaml-cpp/node/type.h create mode 100644 third_party/yaml-cpp/include/yaml-cpp/noexcept.h create mode 100644 third_party/yaml-cpp/include/yaml-cpp/null.h create mode 100644 third_party/yaml-cpp/include/yaml-cpp/ostream_wrapper.h create mode 100644 third_party/yaml-cpp/include/yaml-cpp/parser.h create mode 100644 third_party/yaml-cpp/include/yaml-cpp/stlemitter.h create mode 100644 third_party/yaml-cpp/include/yaml-cpp/traits.h create mode 100644 third_party/yaml-cpp/include/yaml-cpp/yaml.h create mode 100644 third_party/yaml-cpp/install.txt create mode 100644 third_party/yaml-cpp/src/binary.cpp create mode 100644 third_party/yaml-cpp/src/collectionstack.h create mode 100644 third_party/yaml-cpp/src/contrib/graphbuilder.cpp create mode 100644 third_party/yaml-cpp/src/contrib/graphbuilderadapter.cpp create mode 100644 third_party/yaml-cpp/src/contrib/graphbuilderadapter.h create mode 100644 third_party/yaml-cpp/src/contrib/yaml-cpp.natvis create mode 100644 third_party/yaml-cpp/src/contrib/yaml-cpp.natvis.md create mode 100644 third_party/yaml-cpp/src/convert.cpp create mode 100644 third_party/yaml-cpp/src/depthguard.cpp create mode 100644 third_party/yaml-cpp/src/directives.cpp create mode 100644 third_party/yaml-cpp/src/directives.h create mode 100644 third_party/yaml-cpp/src/emit.cpp create mode 100644 third_party/yaml-cpp/src/emitfromevents.cpp create mode 100644 third_party/yaml-cpp/src/emitter.cpp create mode 100644 third_party/yaml-cpp/src/emitterstate.cpp create mode 100644 third_party/yaml-cpp/src/emitterstate.h create mode 100644 third_party/yaml-cpp/src/emitterutils.cpp create mode 100644 third_party/yaml-cpp/src/emitterutils.h create mode 100644 third_party/yaml-cpp/src/exceptions.cpp create mode 100644 third_party/yaml-cpp/src/exp.cpp create mode 100644 third_party/yaml-cpp/src/exp.h create mode 100644 third_party/yaml-cpp/src/indentation.h create mode 100644 third_party/yaml-cpp/src/memory.cpp create mode 100644 third_party/yaml-cpp/src/node.cpp create mode 100644 third_party/yaml-cpp/src/node_data.cpp create mode 100644 third_party/yaml-cpp/src/nodebuilder.cpp create mode 100644 third_party/yaml-cpp/src/nodebuilder.h create mode 100644 third_party/yaml-cpp/src/nodeevents.cpp create mode 100644 third_party/yaml-cpp/src/nodeevents.h create mode 100644 third_party/yaml-cpp/src/null.cpp create mode 100644 third_party/yaml-cpp/src/ostream_wrapper.cpp create mode 100644 third_party/yaml-cpp/src/parse.cpp create mode 100644 third_party/yaml-cpp/src/parser.cpp create mode 100644 third_party/yaml-cpp/src/ptr_vector.h create mode 100644 third_party/yaml-cpp/src/regex_yaml.cpp create mode 100644 third_party/yaml-cpp/src/regex_yaml.h create mode 100644 third_party/yaml-cpp/src/regeximpl.h create mode 100644 third_party/yaml-cpp/src/scanner.cpp create mode 100644 third_party/yaml-cpp/src/scanner.h create mode 100644 third_party/yaml-cpp/src/scanscalar.cpp create mode 100644 third_party/yaml-cpp/src/scanscalar.h create mode 100644 third_party/yaml-cpp/src/scantag.cpp create mode 100644 third_party/yaml-cpp/src/scantag.h create mode 100644 third_party/yaml-cpp/src/scantoken.cpp create mode 100644 third_party/yaml-cpp/src/setting.h create mode 100644 third_party/yaml-cpp/src/simplekey.cpp create mode 100644 third_party/yaml-cpp/src/singledocparser.cpp create mode 100644 third_party/yaml-cpp/src/singledocparser.h create mode 100644 third_party/yaml-cpp/src/stream.cpp create mode 100644 third_party/yaml-cpp/src/stream.h create mode 100644 third_party/yaml-cpp/src/streamcharsource.h create mode 100644 third_party/yaml-cpp/src/stringsource.h create mode 100644 third_party/yaml-cpp/src/tag.cpp create mode 100644 third_party/yaml-cpp/src/tag.h create mode 100644 third_party/yaml-cpp/src/token.h create mode 100644 third_party/yaml-cpp/test/BUILD.bazel create mode 100644 third_party/yaml-cpp/test/CMakeLists.txt create mode 100644 third_party/yaml-cpp/test/binary_test.cpp create mode 100644 third_party/yaml-cpp/test/cmake/CMakeLists.txt create mode 100644 third_party/yaml-cpp/test/cmake/main.cpp create mode 100644 third_party/yaml-cpp/test/create-emitter-tests.py create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/.clang-format create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/.github/ISSUE_TEMPLATE/00-bug_report.md create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/.github/ISSUE_TEMPLATE/10-feature_request.md create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/.github/ISSUE_TEMPLATE/config.yml create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/.gitignore create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/BUILD.bazel create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/CMakeLists.txt create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/CONTRIBUTING.md create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/CONTRIBUTORS create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/LICENSE create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/README.md create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/WORKSPACE create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/ci/linux-presubmit.sh create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/ci/macos-presubmit.sh create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/docs/_config.yml create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/docs/_data/navigation.yml create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/docs/_layouts/default.html create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/docs/_sass/main.scss create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/docs/advanced.md create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/docs/assets/css/style.scss create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/docs/community_created_documentation.md create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/docs/faq.md create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/docs/gmock_cheat_sheet.md create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/docs/gmock_cook_book.md create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/docs/gmock_faq.md create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/docs/gmock_for_dummies.md create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/docs/index.md create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/docs/pkgconfig.md create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/docs/platforms.md create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/docs/primer.md create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/docs/quickstart-bazel.md create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/docs/quickstart-cmake.md create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/docs/reference/actions.md create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/docs/reference/assertions.md create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/docs/reference/matchers.md create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/docs/reference/mocking.md create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/docs/reference/testing.md create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/docs/samples.md create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googlemock/CMakeLists.txt create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googlemock/README.md create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googlemock/cmake/gmock.pc.in create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googlemock/cmake/gmock_main.pc.in create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googlemock/docs/README.md create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googlemock/include/gmock/gmock-actions.h create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googlemock/include/gmock/gmock-cardinalities.h create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googlemock/include/gmock/gmock-function-mocker.h create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googlemock/include/gmock/gmock-matchers.h create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googlemock/include/gmock/gmock-more-actions.h create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googlemock/include/gmock/gmock-more-matchers.h create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googlemock/include/gmock/gmock-nice-strict.h create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googlemock/include/gmock/gmock-spec-builders.h create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googlemock/include/gmock/gmock.h create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googlemock/include/gmock/internal/custom/README.md create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googlemock/include/gmock/internal/custom/gmock-generated-actions.h create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googlemock/include/gmock/internal/custom/gmock-matchers.h create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googlemock/include/gmock/internal/custom/gmock-port.h create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googlemock/include/gmock/internal/gmock-internal-utils.h create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googlemock/include/gmock/internal/gmock-port.h create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googlemock/include/gmock/internal/gmock-pp.h create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googlemock/scripts/README.md create mode 100755 third_party/yaml-cpp/test/gtest-1.11.0/googlemock/scripts/fuse_gmock_files.py create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googlemock/scripts/generator/LICENSE create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googlemock/scripts/generator/README create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googlemock/scripts/generator/README.cppclean create mode 100755 third_party/yaml-cpp/test/gtest-1.11.0/googlemock/scripts/generator/cpp/__init__.py create mode 100755 third_party/yaml-cpp/test/gtest-1.11.0/googlemock/scripts/generator/cpp/ast.py create mode 100755 third_party/yaml-cpp/test/gtest-1.11.0/googlemock/scripts/generator/cpp/gmock_class.py create mode 100755 third_party/yaml-cpp/test/gtest-1.11.0/googlemock/scripts/generator/cpp/gmock_class_test.py create mode 100755 third_party/yaml-cpp/test/gtest-1.11.0/googlemock/scripts/generator/cpp/keywords.py create mode 100755 third_party/yaml-cpp/test/gtest-1.11.0/googlemock/scripts/generator/cpp/tokenize.py create mode 100755 third_party/yaml-cpp/test/gtest-1.11.0/googlemock/scripts/generator/cpp/utils.py create mode 100755 third_party/yaml-cpp/test/gtest-1.11.0/googlemock/scripts/generator/gmock_gen.py create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googlemock/src/gmock-all.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googlemock/src/gmock-cardinalities.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googlemock/src/gmock-internal-utils.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googlemock/src/gmock-matchers.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googlemock/src/gmock-spec-builders.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googlemock/src/gmock.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googlemock/src/gmock_main.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googlemock/test/BUILD.bazel create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googlemock/test/gmock-actions_test.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googlemock/test/gmock-cardinalities_test.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googlemock/test/gmock-function-mocker_test.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googlemock/test/gmock-internal-utils_test.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googlemock/test/gmock-matchers_test.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googlemock/test/gmock-more-actions_test.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googlemock/test/gmock-nice-strict_test.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googlemock/test/gmock-port_test.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googlemock/test/gmock-pp-string_test.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googlemock/test/gmock-pp_test.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googlemock/test/gmock-spec-builders_test.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googlemock/test/gmock_all_test.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googlemock/test/gmock_ex_test.cc create mode 100755 third_party/yaml-cpp/test/gtest-1.11.0/googlemock/test/gmock_leak_test.py create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googlemock/test/gmock_leak_test_.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googlemock/test/gmock_link2_test.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googlemock/test/gmock_link_test.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googlemock/test/gmock_link_test.h create mode 100755 third_party/yaml-cpp/test/gtest-1.11.0/googlemock/test/gmock_output_test.py create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googlemock/test/gmock_output_test_.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googlemock/test/gmock_output_test_golden.txt create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googlemock/test/gmock_stress_test.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googlemock/test/gmock_test.cc create mode 100755 third_party/yaml-cpp/test/gtest-1.11.0/googlemock/test/gmock_test_utils.py create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/CMakeLists.txt create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/README.md create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/cmake/Config.cmake.in create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/cmake/gtest.pc.in create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/cmake/gtest_main.pc.in create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/cmake/internal_utils.cmake create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/cmake/libgtest.la.in create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/docs/README.md create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/include/gtest/gtest-death-test.h create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/include/gtest/gtest-matchers.h create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/include/gtest/gtest-message.h create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/include/gtest/gtest-param-test.h create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/include/gtest/gtest-printers.h create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/include/gtest/gtest-spi.h create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/include/gtest/gtest-test-part.h create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/include/gtest/gtest-typed-test.h create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/include/gtest/gtest.h create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/include/gtest/gtest_pred_impl.h create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/include/gtest/gtest_prod.h create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/include/gtest/internal/custom/README.md create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/include/gtest/internal/custom/gtest-port.h create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/include/gtest/internal/custom/gtest-printers.h create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/include/gtest/internal/custom/gtest.h create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/include/gtest/internal/gtest-death-test-internal.h create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/include/gtest/internal/gtest-filepath.h create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/include/gtest/internal/gtest-internal.h create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/include/gtest/internal/gtest-param-util.h create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/include/gtest/internal/gtest-port-arch.h create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/include/gtest/internal/gtest-port.h create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/include/gtest/internal/gtest-string.h create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/include/gtest/internal/gtest-type-util.h create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/samples/prime_tables.h create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/samples/sample1.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/samples/sample1.h create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/samples/sample10_unittest.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/samples/sample1_unittest.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/samples/sample2.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/samples/sample2.h create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/samples/sample2_unittest.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/samples/sample3-inl.h create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/samples/sample3_unittest.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/samples/sample4.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/samples/sample4.h create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/samples/sample4_unittest.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/samples/sample5_unittest.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/samples/sample6_unittest.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/samples/sample7_unittest.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/samples/sample8_unittest.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/samples/sample9_unittest.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/scripts/README.md create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/scripts/common.py create mode 100755 third_party/yaml-cpp/test/gtest-1.11.0/googletest/scripts/fuse_gtest_files.py create mode 100755 third_party/yaml-cpp/test/gtest-1.11.0/googletest/scripts/gen_gtest_pred_impl.py create mode 100755 third_party/yaml-cpp/test/gtest-1.11.0/googletest/scripts/gtest-config.in create mode 100755 third_party/yaml-cpp/test/gtest-1.11.0/googletest/scripts/release_docs.py create mode 100755 third_party/yaml-cpp/test/gtest-1.11.0/googletest/scripts/run_with_path.py create mode 100755 third_party/yaml-cpp/test/gtest-1.11.0/googletest/scripts/upload.py create mode 100755 third_party/yaml-cpp/test/gtest-1.11.0/googletest/scripts/upload_gtest.py create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/src/gtest-all.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/src/gtest-death-test.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/src/gtest-filepath.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/src/gtest-internal-inl.h create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/src/gtest-matchers.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/src/gtest-port.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/src/gtest-printers.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/src/gtest-test-part.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/src/gtest-typed-test.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/src/gtest.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/src/gtest_main.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/BUILD.bazel create mode 100755 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/googletest-break-on-failure-unittest.py create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/googletest-break-on-failure-unittest_.cc create mode 100755 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/googletest-catch-exceptions-test.py create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/googletest-catch-exceptions-test_.cc create mode 100755 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/googletest-color-test.py create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/googletest-color-test_.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/googletest-death-test-test.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/googletest-death-test_ex_test.cc create mode 100755 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/googletest-env-var-test.py create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/googletest-env-var-test_.cc create mode 100755 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/googletest-failfast-unittest.py create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/googletest-failfast-unittest_.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/googletest-filepath-test.cc create mode 100755 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/googletest-filter-unittest.py create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/googletest-filter-unittest_.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/googletest-global-environment-unittest.py create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/googletest-global-environment-unittest_.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/googletest-json-outfiles-test.py create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/googletest-json-output-unittest.py create mode 100755 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/googletest-list-tests-unittest.py create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/googletest-list-tests-unittest_.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/googletest-listener-test.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/googletest-message-test.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/googletest-options-test.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/googletest-output-test-golden-lin.txt create mode 100755 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/googletest-output-test.py create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/googletest-output-test_.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/googletest-param-test-invalid-name1-test.py create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/googletest-param-test-invalid-name1-test_.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/googletest-param-test-invalid-name2-test.py create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/googletest-param-test-invalid-name2-test_.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/googletest-param-test-test.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/googletest-param-test-test.h create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/googletest-param-test2-test.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/googletest-port-test.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/googletest-printers-test.cc create mode 100755 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/googletest-setuptestsuite-test.py create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/googletest-setuptestsuite-test_.cc create mode 100755 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/googletest-shuffle-test.py create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/googletest-shuffle-test_.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/googletest-test-part-test.cc create mode 100755 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/googletest-throw-on-failure-test.py create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/googletest-throw-on-failure-test_.cc create mode 100755 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/googletest-uninitialized-test.py create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/googletest-uninitialized-test_.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/gtest-typed-test2_test.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/gtest-typed-test_test.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/gtest-typed-test_test.h create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/gtest-unittest-api_test.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/gtest_all_test.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/gtest_assert_by_exception_test.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/gtest_environment_test.cc create mode 100755 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/gtest_help_test.py create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/gtest_help_test_.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/gtest_json_test_utils.py create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/gtest_list_output_unittest.py create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/gtest_list_output_unittest_.cc rename third_party/{glog/src/logging_striptest10.cc => yaml-cpp/test/gtest-1.11.0/googletest/test/gtest_main_unittest.cc} (82%) create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/gtest_no_test_unittest.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/gtest_pred_impl_unittest.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/gtest_premature_exit_test.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/gtest_prod_test.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/gtest_repeat_test.cc create mode 100755 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/gtest_skip_check_output_test.py create mode 100755 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/gtest_skip_environment_check_output_test.py create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/gtest_skip_in_environment_setup_test.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/gtest_skip_test.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/gtest_sole_header_test.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/gtest_stress_test.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/gtest_test_macro_stack_footprint_test.cc create mode 100755 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/gtest_test_utils.py create mode 100755 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/gtest_testbridge_test.py create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/gtest_testbridge_test_.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/gtest_throw_on_failure_ex_test.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/gtest_unittest.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/gtest_xml_outfile1_test_.cc create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/gtest_xml_outfile2_test_.cc create mode 100755 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/gtest_xml_outfiles_test.py create mode 100755 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/gtest_xml_output_unittest.py create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/gtest_xml_output_unittest_.cc create mode 100755 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/gtest_xml_test_utils.py rename third_party/{glog/src/logging_striptest2.cc => yaml-cpp/test/gtest-1.11.0/googletest/test/production.cc} (91%) create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/googletest/test/production.h create mode 100644 third_party/yaml-cpp/test/gtest-1.11.0/library.json create mode 100644 third_party/yaml-cpp/test/handler_test.h create mode 100644 third_party/yaml-cpp/test/integration/emitter_test.cpp create mode 100644 third_party/yaml-cpp/test/integration/encoding_test.cpp create mode 100644 third_party/yaml-cpp/test/integration/error_messages_test.cpp create mode 100644 third_party/yaml-cpp/test/integration/gen_emitter_test.cpp create mode 100644 third_party/yaml-cpp/test/integration/handler_spec_test.cpp create mode 100644 third_party/yaml-cpp/test/integration/handler_test.cpp create mode 100644 third_party/yaml-cpp/test/integration/load_node_test.cpp create mode 100644 third_party/yaml-cpp/test/integration/node_spec_test.cpp create mode 100644 third_party/yaml-cpp/test/main.cpp create mode 100644 third_party/yaml-cpp/test/mock_event_handler.h create mode 100644 third_party/yaml-cpp/test/node/node_test.cpp create mode 100644 third_party/yaml-cpp/test/ostream_wrapper_test.cpp create mode 100644 third_party/yaml-cpp/test/parser_test.cpp create mode 100644 third_party/yaml-cpp/test/regex_test.cpp create mode 100644 third_party/yaml-cpp/test/specexamples.h create mode 100644 third_party/yaml-cpp/util/CMakeLists.txt create mode 100644 third_party/yaml-cpp/util/api.cpp create mode 100644 third_party/yaml-cpp/util/parse.cpp create mode 100644 third_party/yaml-cpp/util/read.cpp create mode 100644 third_party/yaml-cpp/util/sandbox.cpp create mode 100644 third_party/yaml-cpp/yaml-cpp-config.cmake.in create mode 100644 third_party/yaml-cpp/yaml-cpp.pc.in delete mode 100644 third_party/zlib-1.2.13/contrib/minizip/MiniZip64_Changes.txt delete mode 100644 third_party/zlib-1.2.13/contrib/minizip/zip.h delete mode 100644 third_party/zlib-1.2.13/contrib/vstudio/vc9/zlib.rc delete mode 100644 third_party/zlib-1.2.13/contrib/vstudio/vc9/zlibvc.def delete mode 100644 third_party/zlib-1.2.13/examples/zran.c delete mode 100644 third_party/zlib-1.2.13/examples/zran.h delete mode 100644 third_party/zlib-1.2.13/zlib.3.pdf delete mode 100755 third_party/zlib-1.2.13/zlib2ansi rename third_party/{zlib-1.2.13 => zlib-1.3}/CMakeLists.txt (99%) rename third_party/{zlib-1.2.13 => zlib-1.3}/ChangeLog (98%) rename third_party/{zlib-1.2.13 => zlib-1.3}/FAQ (99%) rename third_party/{zlib-1.2.13 => zlib-1.3}/INDEX (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/LICENSE (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/Makefile (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/Makefile.in (98%) rename third_party/{zlib-1.2.13 => zlib-1.3}/README (87%) rename third_party/{zlib-1.2.13 => zlib-1.3}/adler32.c (88%) rename third_party/{zlib-1.2.13 => zlib-1.3}/amiga/Makefile.pup (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/amiga/Makefile.sas (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/compress.c (86%) rename third_party/{zlib-1.2.13 => zlib-1.3}/configure (97%) mode change 100755 => 100644 rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/README.contrib (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/ada/buffer_demo.adb (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/ada/mtest.adb (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/ada/read.adb (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/ada/readme.txt (93%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/ada/test.adb (99%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/ada/zlib-streams.adb (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/ada/zlib-streams.ads (98%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/ada/zlib-thin.adb (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/ada/zlib-thin.ads (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/ada/zlib.adb (99%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/ada/zlib.ads (99%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/ada/zlib.gpr (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/blast/Makefile (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/blast/README (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/blast/blast.c (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/blast/blast.h (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/blast/test.pk (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/blast/test.txt (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/delphi/ZLib.pas (99%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/delphi/ZLibConst.pas (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/delphi/readme.txt (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/delphi/zlibd32.mak (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/dotzlib/DotZLib.build (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/dotzlib/DotZLib.chm (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/dotzlib/DotZLib.sln (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/dotzlib/DotZLib/AssemblyInfo.cs (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/dotzlib/DotZLib/ChecksumImpl.cs (99%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/dotzlib/DotZLib/CircularBuffer.cs (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/dotzlib/DotZLib/CodecBase.cs (99%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/dotzlib/DotZLib/Deflater.cs (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/dotzlib/DotZLib/DotZLib.cs (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/dotzlib/DotZLib/DotZLib.csproj (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/dotzlib/DotZLib/GZipStream.cs (99%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/dotzlib/DotZLib/Inflater.cs (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/dotzlib/DotZLib/UnitTests.cs (99%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/dotzlib/LICENSE_1_0.txt (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/dotzlib/readme.txt (97%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/gcc_gvmat64/gvmat64.S (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/infback9/README (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/infback9/infback9.c (98%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/infback9/infback9.h (68%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/infback9/inffix9.h (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/infback9/inflate9.h (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/infback9/inftree9.c (97%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/infback9/inftree9.h (92%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/iostream/test.cpp (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/iostream/zfstream.cpp (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/iostream/zfstream.h (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/iostream2/zstream.h (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/iostream2/zstream_test.cpp (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/iostream3/README (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/iostream3/TODO (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/iostream3/test.cc (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/iostream3/zfstream.cc (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/iostream3/zfstream.h (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/minizip/Makefile (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/minizip/Makefile.am (100%) create mode 100644 third_party/zlib-1.3/contrib/minizip/MiniZip64_Changes.txt rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/minizip/MiniZip64_info.txt (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/minizip/configure.ac (93%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/minizip/crypt.h (94%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/minizip/ioapi.c (74%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/minizip/ioapi.h (77%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/minizip/iowin32.c (87%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/minizip/iowin32.h (65%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/minizip/make_vms.com (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/minizip/miniunz.c (92%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/minizip/miniunzip.1 (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/minizip/minizip.1 (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/minizip/minizip.c (91%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/minizip/minizip.pc.in (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/minizip/mztools.c (97%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/minizip/mztools.h (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/minizip/unzip.c (81%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/minizip/unzip.h (76%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/minizip/zip.c (85%) create mode 100644 third_party/zlib-1.3/contrib/minizip/zip.h rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/pascal/example.pas (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/pascal/readme.txt (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/pascal/zlibd32.mak (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/pascal/zlibpas.pas (99%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/puff/Makefile (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/puff/README (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/puff/puff.c (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/puff/puff.h (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/puff/pufftest.c (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/puff/zeros.raw (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/testzlib/testzlib.c (99%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/testzlib/testzlib.txt (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/untgz/Makefile (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/untgz/Makefile.msc (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/untgz/untgz.c (94%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/vstudio/readme.txt (97%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/vstudio/vc10/miniunz.vcxproj (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/vstudio/vc10/miniunz.vcxproj.filters (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/vstudio/vc10/minizip.vcxproj (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/vstudio/vc10/minizip.vcxproj.filters (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/vstudio/vc10/testzlib.vcxproj (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/vstudio/vc10/testzlib.vcxproj.filters (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/vstudio/vc10/testzlibdll.vcxproj (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/vstudio/vc10/testzlibdll.vcxproj.filters (100%) rename third_party/{zlib-1.2.13/contrib/vstudio/vc14 => zlib-1.3/contrib/vstudio/vc10}/zlib.rc (82%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/vstudio/vc10/zlibstat.vcxproj (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/vstudio/vc10/zlibstat.vcxproj.filters (100%) rename third_party/{zlib-1.2.13/contrib/vstudio/vc14 => zlib-1.3/contrib/vstudio/vc10}/zlibvc.def (99%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/vstudio/vc10/zlibvc.sln (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/vstudio/vc10/zlibvc.vcxproj (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/vstudio/vc10/zlibvc.vcxproj.filters (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/vstudio/vc11/miniunz.vcxproj (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/vstudio/vc11/minizip.vcxproj (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/vstudio/vc11/testzlib.vcxproj (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/vstudio/vc11/testzlibdll.vcxproj (100%) rename third_party/{zlib-1.2.13/contrib/vstudio/vc10 => zlib-1.3/contrib/vstudio/vc11}/zlib.rc (82%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/vstudio/vc11/zlibstat.vcxproj (100%) rename third_party/{zlib-1.2.13/contrib/vstudio/vc10 => zlib-1.3/contrib/vstudio/vc11}/zlibvc.def (99%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/vstudio/vc11/zlibvc.sln (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/vstudio/vc11/zlibvc.vcxproj (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/vstudio/vc12/miniunz.vcxproj (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/vstudio/vc12/minizip.vcxproj (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/vstudio/vc12/testzlib.vcxproj (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/vstudio/vc12/testzlibdll.vcxproj (100%) rename third_party/{zlib-1.2.13/contrib/vstudio/vc11 => zlib-1.3/contrib/vstudio/vc12}/zlib.rc (82%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/vstudio/vc12/zlibstat.vcxproj (100%) rename third_party/{zlib-1.2.13/contrib/vstudio/vc11 => zlib-1.3/contrib/vstudio/vc12}/zlibvc.def (99%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/vstudio/vc12/zlibvc.sln (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/vstudio/vc12/zlibvc.vcxproj (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/vstudio/vc14/miniunz.vcxproj (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/vstudio/vc14/minizip.vcxproj (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/vstudio/vc14/testzlib.vcxproj (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/vstudio/vc14/testzlibdll.vcxproj (100%) rename third_party/{zlib-1.2.13/contrib/vstudio/vc12 => zlib-1.3/contrib/vstudio/vc14}/zlib.rc (82%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/vstudio/vc14/zlibstat.vcxproj (100%) rename third_party/{zlib-1.2.13/contrib/vstudio/vc12 => zlib-1.3/contrib/vstudio/vc14}/zlibvc.def (99%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/vstudio/vc14/zlibvc.sln (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/vstudio/vc14/zlibvc.vcxproj (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/vstudio/vc9/miniunz.vcproj (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/vstudio/vc9/minizip.vcproj (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/vstudio/vc9/testzlib.vcproj (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/vstudio/vc9/testzlibdll.vcproj (100%) create mode 100644 third_party/zlib-1.3/contrib/vstudio/vc9/zlib.rc rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/vstudio/vc9/zlibstat.vcproj (100%) create mode 100644 third_party/zlib-1.3/contrib/vstudio/vc9/zlibvc.def rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/vstudio/vc9/zlibvc.sln (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/contrib/vstudio/vc9/zlibvc.vcproj (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/crc32.c (91%) rename third_party/{zlib-1.2.13 => zlib-1.3}/crc32.h (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/deflate.c (94%) rename third_party/{zlib-1.2.13 => zlib-1.3}/deflate.h (96%) rename third_party/{zlib-1.2.13 => zlib-1.3}/doc/algorithm.txt (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/doc/crc-doc.1.0.pdf (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/doc/rfc1950.txt (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/doc/rfc1951.txt (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/doc/rfc1952.txt (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/doc/txtvsbin.txt (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/examples/README.examples (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/examples/enough.c (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/examples/fitblk.c (99%) rename third_party/{zlib-1.2.13 => zlib-1.3}/examples/gun.c (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/examples/gzappend.c (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/examples/gzjoin.c (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/examples/gzlog.c (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/examples/gzlog.h (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/examples/gznorm.c (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/examples/zlib_how.html (96%) rename third_party/{zlib-1.2.13 => zlib-1.3}/examples/zpipe.c (100%) create mode 100644 third_party/zlib-1.3/examples/zran.c create mode 100644 third_party/zlib-1.3/examples/zran.h rename third_party/{zlib-1.2.13 => zlib-1.3}/gzclose.c (93%) rename third_party/{zlib-1.2.13 => zlib-1.3}/gzguts.h (91%) rename third_party/{zlib-1.2.13 => zlib-1.3}/gzlib.c (90%) rename third_party/{zlib-1.2.13 => zlib-1.3}/gzread.c (93%) rename third_party/{zlib-1.2.13 => zlib-1.3}/gzwrite.c (92%) rename third_party/{zlib-1.2.13 => zlib-1.3}/infback.c (97%) rename third_party/{zlib-1.2.13 => zlib-1.3}/inffast.c (98%) rename third_party/{zlib-1.2.13 => zlib-1.3}/inffast.h (83%) rename third_party/{zlib-1.2.13 => zlib-1.3}/inffixed.h (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/inflate.c (96%) rename third_party/{zlib-1.2.13 => zlib-1.3}/inflate.h (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/inftrees.c (97%) rename third_party/{zlib-1.2.13 => zlib-1.3}/inftrees.h (92%) rename third_party/{zlib-1.2.13 => zlib-1.3}/make_vms.com (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/msdos/Makefile.bor (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/msdos/Makefile.dj2 (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/msdos/Makefile.emx (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/msdos/Makefile.msc (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/msdos/Makefile.tc (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/nintendods/Makefile (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/nintendods/README (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/old/Makefile.emx (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/old/Makefile.riscos (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/old/README (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/old/descrip.mms (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/old/os2/Makefile.os2 (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/old/os2/zlib.def (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/old/visual-basic.txt (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/os400/README400 (96%) rename third_party/{zlib-1.2.13 => zlib-1.3}/os400/bndsrc (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/os400/make.sh (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/os400/zlib.inc (99%) rename third_party/{zlib-1.2.13 => zlib-1.3}/qnx/package.qpg (94%) rename third_party/{zlib-1.2.13 => zlib-1.3}/test/example.c (84%) rename third_party/{zlib-1.2.13 => zlib-1.3}/test/infcover.c (99%) rename third_party/{zlib-1.2.13 => zlib-1.3}/test/minigzip.c (88%) rename third_party/{zlib-1.2.13 => zlib-1.3}/treebuild.xml (96%) rename third_party/{zlib-1.2.13 => zlib-1.3}/trees.c (90%) rename third_party/{zlib-1.2.13 => zlib-1.3}/trees.h (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/uncompr.c (90%) rename third_party/{zlib-1.2.13 => zlib-1.3}/watcom/watcom_f.mak (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/watcom/watcom_l.mak (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/win32/DLL_FAQ.txt (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/win32/Makefile.bor (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/win32/Makefile.gcc (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/win32/Makefile.msc (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/win32/README-WIN32.txt (96%) rename third_party/{zlib-1.2.13 => zlib-1.3}/win32/VisualC.txt (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/win32/zlib.def (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/win32/zlib1.rc (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/zconf.h (99%) rename third_party/{zlib-1.2.13 => zlib-1.3}/zconf.h.cmakein (99%) rename third_party/{zlib-1.2.13 => zlib-1.3}/zconf.h.in (99%) rename third_party/{zlib-1.2.13 => zlib-1.3}/zlib.3 (97%) create mode 100644 third_party/zlib-1.3/zlib.3.pdf rename third_party/{zlib-1.2.13 => zlib-1.3}/zlib.h (88%) rename third_party/{zlib-1.2.13 => zlib-1.3}/zlib.map (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/zlib.pc.cmakein (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/zlib.pc.in (100%) rename third_party/{zlib-1.2.13 => zlib-1.3}/zutil.c (87%) rename third_party/{zlib-1.2.13 => zlib-1.3}/zutil.h (90%) diff --git a/.editorconfig b/.editorconfig index 006bc2fc..0b3779e5 100644 --- a/.editorconfig +++ b/.editorconfig @@ -2,3 +2,4 @@ root = true [*] end_of_line = lf +insert_final_newline = true diff --git a/.github/workflows/spelling.yml b/.github/workflows/spelling.yml index 204da7e6..dbfb81a6 100644 --- a/.github/workflows/spelling.yml +++ b/.github/workflows/spelling.yml @@ -10,7 +10,7 @@ jobs: runs-on: ubuntu-22.04 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: codespell-project/actions-codespell@v1 with: diff --git a/README.md b/README.md index 6fd1d396..b10d2306 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ SPDX-License-Identifier: Apache-2.0 ## Description FlatlandRT is a 2D ray tracer visualization tool. -The following pictures were created using Flatland: +The following pictures were created using FlatlandRT: From left to right: Refraction, ambient occlusion and reflection: @@ -122,7 +122,7 @@ additional_languages: python build_flags: - --config=gcc9 + --config=gcc11 ``` #### Code coverage @@ -142,7 +142,7 @@ xdg-open coverage_report/index.html #### Address Sanitizer -There is a build config called `asan` that can be used for detection memory errors. +There is a build config called `asan` that can be used for detecting memory errors. ```shell bazel run --config=asan --compilation_mode=opt //flatland/cli:flatland.cli -- $(pwd)/flatland/scenes/sphere.flatland.xml diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 370ebe74..5cab5816 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -5,13 +5,6 @@ jobs: - - job: MacOSClang13BigSur - displayName: "Apple Clang13 on macOS 11 (Big Sur)" - pool: - vmImage: 'macOS-11' - steps: - - template: devertexwahn/ci/macOS-11-apple-clang13.yaml - - job: MacOSAppleClang14Monterey displayName: "Apple Clang14 on macOS 12 (Monterey)" pool: @@ -35,14 +28,30 @@ jobs: # steps: # - template: devertexwahn/ci/ubuntu-20.04-clang14.yaml - - job: Ubuntu20GCC9 - displayName: "GCC9 fast opt on Ubuntu 20.04" + - job: Ubuntu20GCC9Fast + displayName: "GCC9 fast on Ubuntu 20.04" pool: #name: Default vmImage: 'ubuntu-20.04' steps: - - template: devertexwahn/ci/ubuntu-20.04-gcc9-fast-opt.yaml + - template: devertexwahn/ci/ubuntu-20.04-gcc9-fast.yaml + - job: Ubuntu20GCC9Opt + displayName: "GCC9 opt on Ubuntu 20.04" + pool: + #name: Default + vmImage: 'ubuntu-20.04' + steps: + - template: devertexwahn/ci/ubuntu-20.04-gcc9-opt.yaml + + - job: Ubuntu20GCC9Debug + displayName: "GCC9 debug on Ubuntu 20.04" + pool: + #name: Default + vmImage: 'ubuntu-20.04' + steps: + - template: devertexwahn/ci/ubuntu-20.04-gcc9-dbg.yaml + - job: Ubuntu22GCC11 displayName: "GCC11 fast opt on Ubuntu 22.04" diff --git a/devertexwahn/.bazelrc b/devertexwahn/.bazelrc index 4d0d95ea..b822ee7f 100644 --- a/devertexwahn/.bazelrc +++ b/devertexwahn/.bazelrc @@ -9,6 +9,52 @@ #build --symlink_prefix=/ # Suppress symlink creation (to avoid untracked files issues with git) +#------------------------------------------------------------------------------------- +# Bzlmod +#------------------------------------------------------------------------------------- + +common --enable_bzlmod +#common --registry=file:///%workspace%/registry +common --registry=https://raw.githubusercontent.com/Vertexwahn/bazel-registry/main/ # Check if this makes Windows happy +common --registry=https://raw.githubusercontent.com/bazelboost/registry/main +common --registry=https://bcr.bazel.build + + +#------------------------------------------------------------------------------------- +# C++ compiler settings +#------------------------------------------------------------------------------------- + +# macOS (e.g. Clang 14.0.0) +build:macos --cxxopt=-std=c++2b # see https://clang.llvm.org/cxx_status.html +build:macos --cxxopt=-Wall +build:macos --define compiler=macos +#build:macos --cxxopt=-Werror # Commented out because of Embree +##build:macos --cxxopt=-Wextra +#build:macos --spawn_strategy=local + +# Xcode 15 has some compiler issues - therefore there is this special config +build:macos_xcode15 --config=macos +build:macos_xcode15 --linkopt=-ld_classic # Workaround for Xcode 15 linker bug, see for instance https://github.com/godotengine/godot/pull/81968/files + +# macOS Intel (config used in CI jobs) +build:clang14_macos --cxxopt=-std=c++20 +#build:clang14 --cxxopt=-mavx +#build:clang14 --cxxopt=-mavx2 +#build:clang14 --cxxopt=-msse4.2 +#build:clang14 --cxxopt=-Werror +build:clang14_macos --incompatible_enable_cc_toolchain_resolution +build:clang14_macos --cxxopt=-mwaitpkg +build:clang14_macos --define compiler=clang14_macos + +# macOS M1 (config is used on local MacBook M1 Pro) +build:clang14_macos_m1 --cxxopt=-std=c++20 +build:clang14_macos_m1 --incompatible_enable_cc_toolchain_resolution +build:clang14_macos_m1 --linkopt=-ld_classic # Workaround for Xcode 15 linker bug, see for instance https://github.com/godotengine/godot/pull/81968/files +#build:clang14_macos_m1 --cxxopt=-mwaitpkg # lead to compilation issues on local M1 macBook +build:clang14_macos_m1 --define compiler=clang14_macos_m1 + +# Todo: Add apple_debug config +# https://github.com/RobotLocomotion/drake/search?q=apple_debug # GCC 9.3 build:gcc9 --cxxopt=-std=c++2a @@ -34,16 +80,9 @@ build:gcc11 --cxxopt=-fpermissive # Needed for fmt build:linux --config=gcc11 -# macOS (e.g. Clang 14.0.0) -build:macos --cxxopt=-std=c++2b # see https://clang.llvm.org/cxx_status.html -build:macos --cxxopt=-Wall -build:macos --define compiler=macos -#build:macos --cxxopt=-Werror # Commented out because of Embree -##build:macos --cxxopt=-Wextra -#build:macos --spawn_strategy=local - -# Todo: Add apple_debug config -# https://github.com/RobotLocomotion/drake/search?q=apple_debug +build:gcc11_cpp14 --cxxopt=-std=c++14 +build:gcc11_cpp14 --cxxopt=-Wall +build:gc11_cpp14 --define compiler=gcc11_cpp14 # Clang 14.0.0 (config is used on Ubuntu) build:clang14 --cxxopt=-std=c++20 @@ -52,26 +91,13 @@ build:clang14 --cxxopt=-std=c++20 #build:clang14 --cxxopt=-msse4.2 #build:clang14 --cxxopt=-Werror build:clang14 --incompatible_enable_cc_toolchain_resolution +# Tell Bazel to pass the right flags for llvm-ar, not libtool. Only needed if you are building on darwin. +# See https://github.com/bazelbuild/bazel/blob/5c75d0acec21459bbb13520817e3806e1507e907/tools/cpp/unix_cc_toolchain_config.bzl#L1000-L1024 +build:clang14 --features=-libtool build:clang14 --cxxopt=-mwaitpkg build:clang14 --define compiler=clang14 -# macOS Intel (config used in CI jobs) -build:clang14_macos --cxxopt=-std=c++20 -#build:clang14 --cxxopt=-mavx -#build:clang14 --cxxopt=-mavx2 -#build:clang14 --cxxopt=-msse4.2 -#build:clang14 --cxxopt=-Werror -build:clang14_macos --incompatible_enable_cc_toolchain_resolution -build:clang14_macos --cxxopt=-mwaitpkg -build:clang14_macos --define compiler=clang14_macos - -# macOS M1 (config is used on local MacBook M1 Pro) -build:clang14_macos_m1 --cxxopt=-std=c++20 -build:clang14_macos_m1 --incompatible_enable_cc_toolchain_resolution -#build:clang14_macos_m1 --cxxopt=-mwaitpkg # lead to compilation issues on local M1 macBook -build:clang14_macos_m1 --define compiler=clang14_macos_m1 - -# Mingw +# MinGW build:mingw --cxxopt=-std=c++2a #build:mingw --cxxopt=-Wall #build:mingw --cxxopt=-Werror @@ -82,9 +108,9 @@ build:vs2019 --cxxopt=/std:c++20 build:vs2019 --cxxopt=/Zc:__cplusplus build:vs2019 --enable_runfiles # https://github.com/bazelbuild/bazel/issues/8843 build:vs2019 --copt=-DWIN32_LEAN_AND_MEAN -build:vs2019 --copt=-DNOGDI +#build:vs2019 --copt=-DNOGDI build:vs2019 --host_copt=-DWIN32_LEAN_AND_MEAN -build:vs2019 --host_copt=-DNOGDI +#build:vs2019 --host_copt=-DNOGDI build:vs2019 --define compiler=vs2019 # Visual Studio 2022 @@ -92,9 +118,9 @@ build:vs2022 --cxxopt=/std:c++20 build:vs2022 --cxxopt=/Zc:__cplusplus build:vs2022 --enable_runfiles # https://github.com/bazelbuild/bazel/issues/8843 build:vs2022 --copt=-DWIN32_LEAN_AND_MEAN -build:vs2022 --copt=-DNOGDI +#build:vs2022 --copt=-DNOGDI build:vs2022 --host_copt=-DWIN32_LEAN_AND_MEAN -build:vs2022 --host_copt=-DNOGDI +#build:vs2022 --host_copt=-DNOGDI build:vs2022 --define compiler=vs2022 build:windows --config=vs2022 diff --git a/devertexwahn/.bazelversion b/devertexwahn/.bazelversion index dc0208ab..19b860c1 100644 --- a/devertexwahn/.bazelversion +++ b/devertexwahn/.bazelversion @@ -1 +1 @@ -6.3.1 +6.4.0 diff --git a/devertexwahn/MODULE.bazel b/devertexwahn/MODULE.bazel new file mode 100644 index 00000000..08dd9c80 --- /dev/null +++ b/devertexwahn/MODULE.bazel @@ -0,0 +1,176 @@ +"""FlatlandRT build and test dependencies.""" + +module( + name = "de_vertexwahn", + version = "0.0.1", +) + +# Wait until abseil-cpp has a MODULE.bazel file - maybe we need to wait for Bazel 8 here... +#bazel_dep( +# name = "abseil-cpp", +# version = "20230802.0", +#) + +bazel_dep( + name = "apple_support", + version = "1.11.1", +) + +bazel_dep( + name = "bazel_skylib", + version = "1.5.0", +) + +bazel_dep( + name = "boost.algorithm", + version = "1.83.0.bzl.1", +) + +bazel_dep( + name = "boost.core", + version = "1.83.0.bzl.1", +) + +bazel_dep( + name = "boost.predef", + version = "1.83.0.bzl.1", +) + +bazel_dep( + name = "eigen", + version = "3.4.0", +) + +bazel_dep( + name = "embree", + version = "4.3.0", +) + +bazel_dep( + name = "gazelle", + version = "0.34.0", +) + +bazel_dep( + name = "imath", + version = "3.1.9", + repo_name = "Imath", +) + +bazel_dep( + name = "libdeflate", + version = "1.19", +) + +# Does not compile on windows +#bazel_dep( +# name = "libjpeg_turbo", +# version = "2.1.91", +#) + +# This version uses nasm to build +bazel_dep( + name = "libjpeg_turbo", + version = "2.1.4", +) + +bazel_dep( + name = "libpng", + version = "1.6.40", +) + +bazel_dep( + name = "libwebp", + version = "1.3.2", +) + +bazel_dep( + name = "nasm", + version = "2.14.02", +) + +bazel_dep( + name = "nlohmann_json", + version = "3.11.3", +) + +bazel_dep( + name = "openexr", + version = "3.2.1", +) + +bazel_dep( + name = "platforms", + version = "0.0.8", +) + +bazel_dep( + name = "rules_cc", + version = "0.0.9", +) + +bazel_dep( + name = "rules_go", + version = "0.43.0", +) + +bazel_dep( + name = "rules_license", + version = "0.0.7", +) + +bazel_dep( + name = "rules_oci", + version = "1.4.3", +) + +bazel_dep( + name = "rules_pkg", + version = "0.9.1", +) + +bazel_dep( + name = "zlib", + version = "1.3", +) + +bazel_dep( + name = "container_structure_test", + version = "1.16.0", + dev_dependency = True, +) + +bazel_dep( + name = "googletest", + version = "1.14.0.bcr.1", + dev_dependency = True, +) + +#bazel_dep(name = "catch2", version = "3.4.0", dev_dependency = True) +#bazel_dep(name = "fmt", version = "10.1.1") +#bazel_dep(name = "toolchains_llvm", version = "0.10.1") + +# This projects intends to stay as close as possible to upstream dependencies. +# Therefore, upstream dependencies are copied 1:1 to the `third_party` folder and +# overridden here: + +local_path_override( + module_name = "bazel_skylib", + path = "../third_party/bazel-skylib", +) + +local_path_override( + module_name = "autodiff", + path = "../third_party/autodiff", +) + +local_path_override( + module_name = "openexr", + path = "../third_party/openexr", +) + +local_path_override( + module_name = "rules_pkg", + path = "../third_party/rules_pkg-0.9.1", +) + diff --git a/devertexwahn/WORKSPACE.bazel b/devertexwahn/WORKSPACE.bazel index 0cbfd5f2..7d75eb55 100644 --- a/devertexwahn/WORKSPACE.bazel +++ b/devertexwahn/WORKSPACE.bazel @@ -1,58 +1 @@ -""" - SPDX-FileCopyrightText: Copyright 2022-2023 Julian Amann - SPDX-License-Identifier: Apache-2.0 -""" - -workspace(name = "de_vertexwahn") - -load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") -load("@bazel_tools//tools/build_defs/repo:git.bzl", "git_repository") -load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") -load("//okapi/third_party:okapi_deps.bzl", "okapi_deps") - -#------------------------------------------------------------------------------------- - -okapi_deps() - - -# Boost deps -load("@com_github_nelhage_rules_boost//:boost/boost.bzl", "boost_deps") - -boost_deps() - - -#------------------------------------------------------------------------------------- -# OpenEXR -#------------------------------------------------------------------------------------- -load("@com_openexr//:bazel/third_party/openexr_deps.bzl", "openexr_deps") - -openexr_deps() - -#------------------------------------------------------------------------------------- -# LLVM Toolchain -#------------------------------------------------------------------------------------- - -load("@com_grail_bazel_toolchain//toolchain:deps.bzl", "bazel_toolchain_dependencies") - -bazel_toolchain_dependencies() - -load("@com_grail_bazel_toolchain//toolchain:rules.bzl", "llvm_toolchain") - -llvm_toolchain( - name = "llvm_toolchain", - #llvm_version = "15.0.6", - llvm_version = "14.0.0", -) - -load("@llvm_toolchain//:toolchains.bzl", "llvm_register_toolchains") - -llvm_register_toolchains() - -#------------------------------------------------------------------------------------- -# Pkg -#------------------------------------------------------------------------------------- - -load("@rules_pkg//:deps.bzl", "rules_pkg_dependencies") - -rules_pkg_dependencies() - +# Dummy file to keep IDEs happy diff --git a/devertexwahn/WORKSPACE.bzlmod b/devertexwahn/WORKSPACE.bzlmod new file mode 100644 index 00000000..e2accc21 --- /dev/null +++ b/devertexwahn/WORKSPACE.bzlmod @@ -0,0 +1,42 @@ +""" + SPDX-FileCopyrightText: Copyright 2022-2023 Julian Amann + SPDX-License-Identifier: Apache-2.0 +""" + +workspace(name = "de_vertexwahn") + +load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") +load("@bazel_tools//tools/build_defs/repo:git.bzl", "git_repository") +load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") +load("//okapi/third_party:okapi_deps.bzl", "okapi_deps") + +#------------------------------------------------------------------------------------- + +okapi_deps() + +# Boost deps +load("@com_github_nelhage_rules_boost//:boost/boost.bzl", "boost_deps") + +boost_deps() + + +#------------------------------------------------------------------------------------- +# LLVM Toolchain +#------------------------------------------------------------------------------------- + +load("@com_grail_bazel_toolchain//toolchain:deps.bzl", "bazel_toolchain_dependencies") + +bazel_toolchain_dependencies() + +load("@com_grail_bazel_toolchain//toolchain:rules.bzl", "llvm_toolchain") + +llvm_toolchain( + name = "llvm_toolchain", + #llvm_version = "15.0.6", + llvm_version = "14.0.0", +) + +load("@llvm_toolchain//:toolchains.bzl", "llvm_register_toolchains") + +llvm_register_toolchains() + diff --git a/devertexwahn/ci/macOS-11-apple-clang13.yaml b/devertexwahn/ci/macOS-11-apple-clang13.yaml deleted file mode 100644 index d11cf5a3..00000000 --- a/devertexwahn/ci/macOS-11-apple-clang13.yaml +++ /dev/null @@ -1,61 +0,0 @@ -# -# SPDX-FileCopyrightText: Copyright 2022-2023 Julian Amann -# SPDX-License-Identifier: Apache-2.0 -# - -# Apple Clang 13 on macOS 11 -# Make sure we can build with Apple Clang13 in all different compilation modes -steps: - - checkout: self - clean: true - fetchDepth: 1 - lfs: false - submodules: false - - - script: | - sw_vers - uname - displayName: "Show OS version" - - - script: | - cd devertexwahn - bazel version - displayName: "Show Bazel version" - - - script: | - clang --version - displayName: "Show Clang version" - - - # fastbuild - - script: | - cd devertexwahn - bazel build --config=macos -- //... - displayName: "Bazel build macos-fastbuild" - - - script: | - cd devertexwahn - bazel test --config=macos -- //... - displayName: "Bazel test macos-fastbuild" - - # dbg - - script: | - cd devertexwahn - bazel build --config=macos --compilation_mode=dbg -- //... - displayName: "Bazel build macos-dbg" - - - script: | - cd devertexwahn - bazel test --config=macos --compilation_mode=dbg -- //... - displayName: "Bazel test macos-dbg" - - # opt - - script: | - cd devertexwahn - bazel build --config=macos --compilation_mode=opt -- //... - displayName: "Bazel build macos-opt" - - - script: | - cd devertexwahn - bazel test --config=macos --compilation_mode=opt -- //... - displayName: "Bazel test macos-opt" diff --git a/devertexwahn/ci/macOS-12-apple-clang14.yaml b/devertexwahn/ci/macOS-12-apple-clang14.yaml index 3c87b2c8..af7bb7a2 100644 --- a/devertexwahn/ci/macOS-12-apple-clang14.yaml +++ b/devertexwahn/ci/macOS-12-apple-clang14.yaml @@ -30,32 +30,32 @@ steps: # fastbuild - script: | cd devertexwahn - bazel build --config=macos -- //... + bazel build --config=macos -- //... displayName: "Bazel build macos-fastbuild" - script: | cd devertexwahn - bazel test --config=macos -- //... + bazel test --config=macos -- //... displayName: "Bazel test macos-fastbuild" # dbg - script: | cd devertexwahn - bazel build --config=macos --compilation_mode=dbg -- //... + bazel build --config=macos --compilation_mode=dbg -- //... displayName: "Bazel build macos-dbg" - script: | cd devertexwahn - bazel test --config=macos --compilation_mode=dbg -- //... + bazel test --config=macos --compilation_mode=dbg -- //... displayName: "Bazel test macos-dbg" # opt - script: | cd devertexwahn - bazel build --config=macos --compilation_mode=opt -- //... + bazel build --config=macos --compilation_mode=opt -- //... displayName: "Bazel build macos-opt" - script: | cd devertexwahn - bazel test --config=macos --compilation_mode=opt -- //... + bazel test --config=macos --compilation_mode=opt -- //... displayName: "Bazel test macos-opt" diff --git a/devertexwahn/ci/macOS-13-apple-clang14.yaml b/devertexwahn/ci/macOS-13-apple-clang14.yaml index 0523589c..d037ec20 100644 --- a/devertexwahn/ci/macOS-13-apple-clang14.yaml +++ b/devertexwahn/ci/macOS-13-apple-clang14.yaml @@ -34,32 +34,32 @@ steps: # fastbuild - script: | cd devertexwahn - bazel build --config=macos -- //... + bazel build --config=macos -- //... displayName: "Bazel build macos-fastbuild" - script: | cd devertexwahn - bazel test --config=macos -- //... + bazel test --config=macos -- //... displayName: "Bazel test macos-fastbuild" # dbg - script: | cd devertexwahn - bazel build --config=macos --compilation_mode=dbg -- //... + bazel build --config=macos --compilation_mode=dbg -- //... displayName: "Bazel build macos-dbg" - script: | cd devertexwahn - bazel test --config=macos --compilation_mode=dbg -- //... + bazel test --config=macos --compilation_mode=dbg -- //... displayName: "Bazel test macos-dbg" # opt - script: | cd devertexwahn - bazel build --config=macos --compilation_mode=opt -- //... + bazel build --config=macos --compilation_mode=opt -- //... displayName: "Bazel build macos-opt" - script: | cd devertexwahn - bazel test --config=macos --compilation_mode=opt -- //... + bazel test --config=macos --compilation_mode=opt -- //... displayName: "Bazel test macos-opt" diff --git a/devertexwahn/ci/ubuntu-20.04-clang14.yaml b/devertexwahn/ci/ubuntu-20.04-clang14.yaml index 93888273..c535e429 100644 --- a/devertexwahn/ci/ubuntu-20.04-clang14.yaml +++ b/devertexwahn/ci/ubuntu-20.04-clang14.yaml @@ -6,15 +6,24 @@ # Clang 14 on Ubunutu 20.04 # Make sure we can build with Clang 14 in all different compilation modes steps: + - script: | + df + displayName: 'Show disk space' + - checkout: self clean: true fetchDepth: 1 lfs: false submodules: false + - script: | lsb_release -a - displayName: "Show OS version" + displayName: 'Show OS version' + + - script: | + df + displayName: 'Show disk space' - script: | cd devertexwahn @@ -25,21 +34,25 @@ steps: # fastbuild - script: | cd devertexwahn - bazel build --config=clang14 -- //... + bazel build --config=clang14 -- //... displayName: 'Bazel build clang14-fastbuild' - script: | cd devertexwahn - bazel test --config=clang14 -- //... + bazel test --config=clang14 -- //... displayName: 'Bazel test clang14-fastbuild' # dbg - script: | cd devertexwahn - bazel build --config=clang14 --compilation_mode=dbg -- //... + bazel build --config=clang14 --compilation_mode=dbg -- //... displayName: 'Bazel build clang14-dbg' - script: | cd devertexwahn - bazel test --config=clang14 --compilation_mode=dbg -- //... + bazel test --config=clang14 --compilation_mode=dbg -- //... displayName: 'Bazel test clang14-dbg' + + - script: | + df + displayName: 'Show disk space' diff --git a/devertexwahn/ci/ubuntu-20.04-gcc9-dbg.yaml b/devertexwahn/ci/ubuntu-20.04-gcc9-dbg.yaml index 26713d25..c9e1fc3f 100644 --- a/devertexwahn/ci/ubuntu-20.04-gcc9-dbg.yaml +++ b/devertexwahn/ci/ubuntu-20.04-gcc9-dbg.yaml @@ -7,32 +7,62 @@ # Make sure we can build with GCC 9 in all different compilation modes steps: + - script: | + df + displayName: 'Show disk space' + - checkout: self clean: true fetchDepth: 1 lfs: false submodules: false + - script: | lsb_release -a - displayName: "Show OS version" + displayName: 'Show OS version' + + - script: | + df + displayName: 'Show disk space' - script: | cd devertexwahn bazel version - displayName: "Show Bazel version" + displayName: 'Show Bazel version' - script: | gcc --version - displayName: "Show GCC version" + displayName: 'Show GCC version' + + + - script: | + df + displayName: 'Show disk space' - - script: | cd devertexwahn - bazel build --config=gcc9 --compilation_mode=dbg -- //... - displayName: "Bazel build gcc9-dbg" + bazel build --config=gcc9 --compilation_mode=dbg -- //... -//okapi/... + displayName: 'Bazel build gcc9-dbg - Part 1' + + - script: | + df + displayName: 'Show disk space' + + - script: | + cd devertexwahn + bazel clean # free some space + displayName: 'Bazel clean' + + - script: | + df + displayName: 'Show disk space' - script: | cd devertexwahn - bazel test --config=gcc9 --compilation_mode=dbg -- //... - displayName: "Bazel test gcc9-dbg" + bazel build --config=gcc9 --compilation_mode=dbg -- //okapi/... + displayName: 'Bazel build gcc9-dbg - Part 2' + + - script: | + df + displayName: 'Show disk space' diff --git a/devertexwahn/ci/ubuntu-20.04-gcc9-fast-opt.yaml b/devertexwahn/ci/ubuntu-20.04-gcc9-fast-opt.yaml deleted file mode 100644 index d468c3f7..00000000 --- a/devertexwahn/ci/ubuntu-20.04-gcc9-fast-opt.yaml +++ /dev/null @@ -1,40 +0,0 @@ -# -# SPDX-FileCopyrightText: Copyright 2022-2023 Julian Amann -# SPDX-License-Identifier: Apache-2.0 -# - -# GCC9 on Ubuntu 20.04 -# Make sure we can build with GCC 9 in all different compilation modes - -steps: - - checkout: self - clean: true - fetchDepth: 1 - lfs: false - submodules: false - - - - script: | - lsb_release -a - displayName: "Show OS version" - - - script: | - cd devertexwahn - bazel version - displayName: "Show Bazel version" - - - script: | - gcc --version - displayName: "Show GCC version" - - - - script: | - cd devertexwahn - bazel build --config=gcc9 -- //... - displayName: "Bazel build gcc9-fastbuild" - - - script: | - cd devertexwahn - bazel test --config=gcc9 -- //... - displayName: "Bazel test gcc9-fastbuild" - diff --git a/devertexwahn/ci/ubuntu-22.04-clang14.yaml b/devertexwahn/ci/ubuntu-22.04-clang14.yaml index 0b3a6ccf..155c4efc 100644 --- a/devertexwahn/ci/ubuntu-22.04-clang14.yaml +++ b/devertexwahn/ci/ubuntu-22.04-clang14.yaml @@ -7,16 +7,25 @@ # Make sure we can build with Clang 14 in all different compilation modes steps: + - script: | + df + displayName: 'Show disk space' + - checkout: self clean: true fetchDepth: 1 lfs: false submodules: false + - script: | lsb_release -a displayName: "Show OS version" + - script: | + df + displayName: 'Show disk space' + - script: | cd devertexwahn bazel version @@ -26,31 +35,35 @@ steps: # fastbuild - script: | cd devertexwahn - bazel build --config=clang14 -- //... + bazel build --config=clang14 -- //... displayName: 'Bazel build clang14-fastbuild' - script: | cd devertexwahn - bazel test --config=clang14 -- //... + bazel test --config=clang14 -- //... displayName: 'Bazel test clang14-fastbuild' # dbg - script: | cd devertexwahn - bazel build --config=clang14 --compilation_mode=dbg -- //... + bazel build --config=clang14 --compilation_mode=dbg -- //... displayName: 'Bazel build clang14-dbg' - script: | cd devertexwahn - bazel test --config=clang14 --compilation_mode=dbg -- //... + bazel test --config=clang14 --compilation_mode=dbg -- //... displayName: 'Bazel test clang14-dbg' - script: | cd devertexwahn - bazel build --config=clang14 --compilation_mode=opt -- //... + bazel build --config=clang14 --compilation_mode=opt -- //... displayName: 'Bazel build clang14-opt' - script: | cd devertexwahn - bazel test --config=clang14 --compilation_mode=opt -- //... + bazel test --config=clang14 --compilation_mode=opt -- //... displayName: 'Bazel test clang14-opt' + + - script: | + df + displayName: 'Show disk space' diff --git a/devertexwahn/ci/ubuntu-22.04-gcc11-dbg.yaml b/devertexwahn/ci/ubuntu-22.04-gcc11-dbg.yaml index ba2b2c08..5e33e90a 100644 --- a/devertexwahn/ci/ubuntu-22.04-gcc11-dbg.yaml +++ b/devertexwahn/ci/ubuntu-22.04-gcc11-dbg.yaml @@ -7,6 +7,10 @@ # Make sure we can build with GCC9 in all different compilation modes steps: + - script: | + df + displayName: 'Show disk space' + - checkout: self clean: true fetchDepth: 1 @@ -18,6 +22,10 @@ steps: lsb_release -a displayName: "Show OS version" + - script: | + df + displayName: 'Show disk space' + - script: | cd devertexwahn bazel version @@ -44,3 +52,7 @@ steps: bazel query //... bazel cquery --config=gcc11 //... displayName: "Bazel query" + + - script: | + df + displayName: 'Show disk space' diff --git a/devertexwahn/ci/ubuntu-22.04-gcc11-fast-opt.yaml b/devertexwahn/ci/ubuntu-22.04-gcc11-fast-opt.yaml index e03d0a0e..ee93a714 100644 --- a/devertexwahn/ci/ubuntu-22.04-gcc11-fast-opt.yaml +++ b/devertexwahn/ci/ubuntu-22.04-gcc11-fast-opt.yaml @@ -3,10 +3,14 @@ # SPDX-License-Identifier: Apache-2.0 # -# GCC9 on Ubuntu 20.04 -# Make sure we can build with GCC9 in all different compilation modes +# GCC11 on Ubuntu 22.04 +# Make sure we can build with GCC11 in all different compilation modes steps: + - script: | + df + displayName: 'Show disk space' + - checkout: self clean: true fetchDepth: 1 @@ -18,6 +22,10 @@ steps: lsb_release -a displayName: "Show OS version" + - script: | + df + displayName: 'Show disk space' + - script: | cd devertexwahn bazel version @@ -47,3 +55,7 @@ steps: cd devertexwahn bazel test --config=gcc11 --compilation_mode=opt -- //... displayName: "Bazel test gcc11-opt" + + - script: | + df + displayName: 'Show disk space' diff --git a/devertexwahn/core/BUILD.bazel b/devertexwahn/core/BUILD.bazel index 2fa2aa2c..9c591ca7 100644 --- a/devertexwahn/core/BUILD.bazel +++ b/devertexwahn/core/BUILD.bazel @@ -11,7 +11,8 @@ cc_library( hdrs = ["exception.h"], deps = [ ":namespace", - "@boost//:predef", + "@boost.predef", + #"@boost//:predef", ], ) @@ -21,7 +22,7 @@ cc_test( srcs = ["exception_test.cpp"], deps = [ ":exception", - "@com_google_googletest//:gtest_main", + "@googletest//:gtest_main", ], ) @@ -47,7 +48,8 @@ cc_library( ], deps = [ ":namespace", - "@boost//:core", + "@boost.core", + #"@boost//:core", ], ) @@ -72,7 +74,7 @@ cc_test( ], deps = [ ":object", - "@com_google_googletest//:gtest_main", + "@googletest//:gtest_main", ], ) @@ -101,7 +103,7 @@ cc_test( ":object_factory", "//flatland/rendering/integrator", "//flatland/rendering/scene/shape:disk", - "@com_google_googletest//:gtest_main", + "@googletest//:gtest_main", ], ) @@ -127,7 +129,7 @@ cc_test( ], deps = [ "//core:property_set", - "@com_google_googletest//:gtest_main", + "@googletest//:gtest_main", ], ) @@ -148,7 +150,7 @@ cc_test( ], deps = [ "//core:reference_counted", - "@com_google_googletest//:gtest_main", + "@googletest//:gtest_main", ], ) @@ -172,6 +174,6 @@ cc_test( ], deps = [ "//core:timer", - "@com_google_googletest//:gtest_main", + "@googletest//:gtest_main", ], ) diff --git a/devertexwahn/core/object_factory.h b/devertexwahn/core/object_factory.h index f8926937..3cfa1d4f 100644 --- a/devertexwahn/core/object_factory.h +++ b/devertexwahn/core/object_factory.h @@ -47,6 +47,7 @@ class ObjectFactory { virtual ~ObjectFactory() = default; + [[nodiscard]] ReferenceCounted create_instance(std::string_view name, const PropertySetType &ps) const { if (creation_function_.find(std::string(name)) == creation_function_.end()) { throw ObjectFactoryClassDoesNotExist(name); diff --git a/devertexwahn/core/object_factory_test.cpp b/devertexwahn/core/object_factory_test.cpp index 6a6a0631..238cb489 100644 --- a/devertexwahn/core/object_factory_test.cpp +++ b/devertexwahn/core/object_factory_test.cpp @@ -21,9 +21,9 @@ TEST(ObjectFactoryClassAlreadyRegisteredException, what) { EXPECT_STREQ(ofe.what(), "Class with name 'houston we have a problem' was already registered"); } -class MockIntegrator : public IntegratorType<2, float> { +class MockIntegrator : public IntegratorType { public: - explicit MockIntegrator(const PropertySet &ps) : IntegratorType<2, float>(ps) {} + explicit MockIntegrator(const PropertySet &ps) : IntegratorType(ps) {} MOCK_METHOD(Color3f, trace, (const Scene *scene, Sampler *sampler, Ray &ray, const int depth), (const, override)); }; diff --git a/devertexwahn/core/property_set.h b/devertexwahn/core/property_set.h index 862658c7..ad9e74ac 100644 --- a/devertexwahn/core/property_set.h +++ b/devertexwahn/core/property_set.h @@ -99,6 +99,7 @@ class PropertySetType { } template + [[nodiscard]] const ValueType &get_property(const std::string &name) const { if (has_property(name)) { const VariantType &vt = property_name_to_value_.at(name); @@ -114,7 +115,9 @@ class PropertySetType { } // A default value can be provided in the case a property does not exist + template + [[nodiscard]] const ValueType &get_property(const std::string &name, const ValueType &default_value) const { if (has_property(name)) { return get_property(name); diff --git a/devertexwahn/core/reference_counted_test.cpp b/devertexwahn/core/reference_counted_test.cpp index d273f98f..94f850a0 100644 --- a/devertexwahn/core/reference_counted_test.cpp +++ b/devertexwahn/core/reference_counted_test.cpp @@ -4,7 +4,6 @@ */ #include "core/reference_counted.h" - #include "gmock/gmock.h" using namespace de_vertexwahn; @@ -19,11 +18,9 @@ class Dummy { count--; } - static int count; + inline static int count = 0; }; -int Dummy::count = 0; - TEST(Memory, Memory_When_RefrenceCountedObjectDies_ExpectoZeroCount) { { ReferenceCounted foo = make_reference_counted(); diff --git a/devertexwahn/core/tests/third_party/BUILD.bazel b/devertexwahn/core/tests/third_party/BUILD.bazel index b0ffd9e6..091bbe0a 100644 --- a/devertexwahn/core/tests/third_party/BUILD.bazel +++ b/devertexwahn/core/tests/third_party/BUILD.bazel @@ -10,8 +10,8 @@ cc_test( "fmt_test.cpp", ], deps = [ - "@com_google_googletest//:gtest_main", "@fmt", + "@googletest//:gtest_main", ], ) @@ -22,7 +22,7 @@ cc_test( "glog_test.cpp", ], deps = [ - "@com_google_googletest//:gtest_main", "@glog", + "@googletest//:gtest_main", ], ) diff --git a/devertexwahn/coverage.sh b/devertexwahn/coverage.sh index b3d8d857..1a1f9ef9 100755 --- a/devertexwahn/coverage.sh +++ b/devertexwahn/coverage.sh @@ -14,7 +14,7 @@ if [ "$#" -ne 1 ]; then exit 1 fi -additional_bazel_config=$1 +additional_bazel_config=$1 bazel coverage \ --config=gcc11 \ diff --git a/devertexwahn/flatland/docs/example_scenes.md b/devertexwahn/flatland/docs/example_scenes.md index a83f51f0..cf122a7d 100644 --- a/devertexwahn/flatland/docs/example_scenes.md +++ b/devertexwahn/flatland/docs/example_scenes.md @@ -10,6 +10,11 @@ SPDX-License-Identifier: Apache-2.0 ![out](../scenes/reference_images/bunny_ref.svg) +```shell +# GCC 11 on Ubuntu 22.04 - assuming that pwd is devertexwahn +bazel run --config=gcc11 //flatland/cli:flatland.cli -- --scene_filename=$(pwd)/flatland/scenes/bunny/bunny.flatland.xml +``` + ### disk.flatland.xml ![out](../scenes/reference_images/disk_ref.svg) diff --git a/devertexwahn/flatland/docs/user_manual.md b/devertexwahn/flatland/docs/user_manual.md index 1a283e4c..57d6e525 100644 --- a/devertexwahn/flatland/docs/user_manual.md +++ b/devertexwahn/flatland/docs/user_manual.md @@ -58,4 +58,4 @@ flatland ### Scene file format -The scene file format is heavily influence by the scene format used by [Mitsuba 2](https://mitsuba2.readthedocs.io/en/latest/src/getting_started/file_format.html) and [Nori](https://github.com/wjakob/nori). +The scene file format is heavily influenced by the scene format used by [Mitsuba 2](https://mitsuba2.readthedocs.io/en/latest/src/getting_started/file_format.html) and [Nori](https://github.com/wjakob/nori). diff --git a/devertexwahn/flatland/rendering/BUILD.bazel b/devertexwahn/flatland/rendering/BUILD.bazel index cb8908bc..3fe36abc 100644 --- a/devertexwahn/flatland/rendering/BUILD.bazel +++ b/devertexwahn/flatland/rendering/BUILD.bazel @@ -5,6 +5,28 @@ package(default_visibility = ["//visibility:public"]) +cc_library( + name = "fresnel", + srcs = ["fresnel.h"], + deps = [ + "//core:namespace", + "//math:vector", + ], +) + +cc_test( + name = "fresnel_test", + size = "small", + srcs = [ + "fresnel_test.cpp", + ], + deps = [ + ":fresnel", + "//math:normal", + "@googletest//:gtest_main", + ], +) + cc_library( name = "property_set", hdrs = [ @@ -29,7 +51,7 @@ cc_test( ], deps = [ ":property_set", - "@com_google_googletest//:gtest_main", + "@googletest//:gtest_main", ], ) @@ -41,7 +63,7 @@ cc_test( ], deps = [ ":property_set", - "@com_google_googletest//:gtest_main", + "@googletest//:gtest_main", ], ) @@ -77,7 +99,7 @@ cc_test( ], deps = [ ":sampler", - "@com_google_googletest//:gtest_main", + "@googletest//:gtest_main", "@hypothesis", ], ) diff --git a/devertexwahn/flatland/rendering/bsdf/BUILD.bazel b/devertexwahn/flatland/rendering/bsdf/BUILD.bazel index ef4da118..b169bae6 100644 --- a/devertexwahn/flatland/rendering/bsdf/BUILD.bazel +++ b/devertexwahn/flatland/rendering/bsdf/BUILD.bazel @@ -24,7 +24,7 @@ cc_test( ], deps = [ ":bsdf", - "@com_google_googletest//:gtest_main", + "@googletest//:gtest_main", ], ) @@ -45,6 +45,6 @@ cc_test( ], deps = [ ":svg_material", - "@com_google_googletest//:gtest_main", + "@googletest//:gtest_main", ], ) diff --git a/devertexwahn/flatland/rendering/bsdf/bsdf.h b/devertexwahn/flatland/rendering/bsdf/bsdf.h index aaf6dba8..80a9cd16 100644 --- a/devertexwahn/flatland/rendering/bsdf/bsdf.h +++ b/devertexwahn/flatland/rendering/bsdf/bsdf.h @@ -16,80 +16,51 @@ DE_VERTEXWAHN_BEGIN_NAMESPACE -enum class InterfaceInteraction { - SpecularTransmission, - MirrorReflection -}; - -template +template struct BSDFSampleType { using Scalar = ScalarType; - using Vector = VectorType; + using Vector = VectorType; Vector wi; Vector wo; }; -using BSDFSample2f = BSDFSampleType<2, float>; -using BSDFSample3f = BSDFSampleType<3, float>; +using BSDFSample2f = BSDFSampleType; +using BSDFSample3f = BSDFSampleType; template -using BSDFSample2 = BSDFSampleType<2, ScalarType>; +using BSDFSample2 = BSDFSampleType; template -using BSDFSample3 = BSDFSampleType<3, ScalarType>; +using BSDFSample3 = BSDFSampleType; // This interface expects that wi and wo are a normalized vectors on the unit sphere // that are given in the reflectance coordinate system. // The BSDF is not aware of any world space coordinate system. // If you want to talk to this interface you have first to transform from world space to // reflection space -template +template class BSDFType : public Object { public: using Scalar = ScalarType; - using Point2 = PointType<2, ScalarType>; - using Vector = VectorType; - using Color = ColorType<3, ScalarType>; - using BSDFSample = BSDFSampleType; - - BSDFType(const PropertySet &ps) { - refraction_index_ = ps.get_property("refraction_index", 1.f); - - std::string interface_interaction = ps.get_property("interface_interaction", - "specular_transmission"); - - if (interface_interaction == "specular_transmission") { - interface_interaction_ = InterfaceInteraction::SpecularTransmission; - } else if (interface_interaction == "mirror_reflection") { - interface_interaction_ = InterfaceInteraction::MirrorReflection; - } else { - interface_interaction_ = InterfaceInteraction::SpecularTransmission; - } - } + using Point2 = PointType; + using Vector = VectorType; + using Color = ColorType; + using BSDFSample = BSDFSampleType; - // todo: move this to a dielectric material class - Scalar refraction_index() const { - return refraction_index_; - } + BSDFType(const PropertySet &ps) {} [[nodiscard]] - InterfaceInteraction interface_interaction_type() const { - return interface_interaction_; - } - - [[nodiscard]] virtual Color sample(BSDFSample& sample, const Point2& sample_point) const = 0; - [[nodiscard]] virtual Scalar pdf(const BSDFSample& sample) const = 0; - [[nodiscard]] virtual Color evaluate(const BSDFSample& sample) const = 0; - -private: - Scalar refraction_index_ = Scalar{0}; - InterfaceInteraction interface_interaction_ = InterfaceInteraction::SpecularTransmission; + virtual Color sample(BSDFSample& sample, const Point2& sample_point) const = 0; + [[nodiscard]] + virtual Scalar pdf(const BSDFSample& sample) const = 0; + [[nodiscard]] + virtual Color evaluate(const BSDFSample& sample) const = 0; }; -using BSDF2f = BSDFType<2, float>; -using BSDF2d = BSDFType<2, double>; -using BSDF3f = BSDFType<3, float>; -using BSDF3d = BSDFType<3, double>; +using BSDF2f = BSDFType; +using BSDF2d = BSDFType; +using BSDF3f = BSDFType; +using BSDF3d = BSDFType; DE_VERTEXWAHN_END_NAMESPACE diff --git a/devertexwahn/flatland/rendering/bsdf/bsdf_test.cpp b/devertexwahn/flatland/rendering/bsdf/bsdf_test.cpp index de5d250a..ec86d4be 100644 --- a/devertexwahn/flatland/rendering/bsdf/bsdf_test.cpp +++ b/devertexwahn/flatland/rendering/bsdf/bsdf_test.cpp @@ -34,8 +34,8 @@ TEST(BxDF, WhenADefaultInitalized_ThenDefaultMaterialValues) { EXPECT_THAT(bsdf.sample(bsdf_sample, Point2f(0.f, 0.f)), Color3f(0.f)); EXPECT_THAT(bsdf.evaluate(bsdf_sample), Color3f(0.f)); - EXPECT_THAT(bsdf.refraction_index(), 1.f); - EXPECT_THAT(bsdf.interface_interaction_type(), InterfaceInteraction::SpecularTransmission); + //EXPECT_THAT(bsdf.refraction_index(), 1.f); + //EXPECT_THAT(bsdf.interface_interaction_type(), InterfaceInteraction::SpecularTransmission); } TEST(BxDF, GivenAPropertySet_WhenInitializingMaterial_ExpectProperValues) { @@ -44,8 +44,8 @@ TEST(BxDF, GivenAPropertySet_WhenInitializingMaterial_ExpectProperValues) { ps.add_property("reflection_index", 0.f); DummyBxDF bsdf(ps); - EXPECT_THAT(bsdf.refraction_index(), 1.f); - EXPECT_THAT(bsdf.interface_interaction_type(), InterfaceInteraction::SpecularTransmission); + //EXPECT_THAT(bsdf.refraction_index(), 1.f); + //EXPECT_THAT(bsdf.interface_interaction_type(), InterfaceInteraction::SpecularTransmission); } TEST(BxDF, ctor_mirror) { @@ -53,7 +53,7 @@ TEST(BxDF, ctor_mirror) { ps.add_property("interface_interaction", std::string("mirror_reflection")); DummyBxDF bsdf(ps); - EXPECT_THAT(bsdf.interface_interaction_type(), InterfaceInteraction::MirrorReflection); + //EXPECT_THAT(bsdf.interface_interaction_type(), InterfaceInteraction::MirrorReflection); } TEST(BxDF, ctor_undefined_type) { @@ -61,5 +61,5 @@ TEST(BxDF, ctor_undefined_type) { ps.add_property("interface_interaction", std::string("undefined_type")); DummyBxDF bsdf(ps); - EXPECT_THAT(bsdf.interface_interaction_type(), InterfaceInteraction::SpecularTransmission); + //EXPECT_THAT(bsdf.interface_interaction_type(), InterfaceInteraction::SpecularTransmission); } diff --git a/devertexwahn/flatland/rendering/bsdf/svg_material.h b/devertexwahn/flatland/rendering/bsdf/svg_material.h index d719b6e4..cfd9c433 100644 --- a/devertexwahn/flatland/rendering/bsdf/svg_material.h +++ b/devertexwahn/flatland/rendering/bsdf/svg_material.h @@ -11,12 +11,17 @@ DE_VERTEXWAHN_BEGIN_NAMESPACE -class SvgMaterial final : public BSDF2f { +class SvgMaterial : public BSDF2f { public: SvgMaterial(const PropertySet &ps) : BSDF2f(ps) { stroke_color_ = ps.get_property("stroke_color", Color3f{0.f, 0.f, 0.f}); stroke_width_ = ps.get_property("stroke_width", 1.f); fill_color_ = ps.get_property("fill_color", Color3f{1.f, 1.f, 1.f}); + + std::string interface_interaction = ps.get_property("interface_interaction", + "specular_transmission"); + + } [[nodiscard]] @@ -28,14 +33,35 @@ class SvgMaterial final : public BSDF2f { [[nodiscard]] Color3f fill_color() const; - [[nodiscard]] virtual Color3f sample(BSDFSample2f& sample, const Point2& sample_point) const override; - [[nodiscard]] virtual float pdf(const BSDFSample2f& sample) const override { return 0.f; }; - [[nodiscard]] virtual Color3f evaluate(const BSDFSample2f& sample) const override; + [[nodiscard]] + virtual Color3f sample(BSDFSample2f& sample, const Point2& sample_point) const override; + [[nodiscard]] + virtual float pdf(const BSDFSample2f& sample) const override { return 0.f; }; + [[nodiscard]] + virtual Color3f evaluate(const BSDFSample2f& sample) const override; + +private: + Color3f stroke_color_{0.f, 0.f, 0.f}; + Color3f fill_color_{1.f, 1.f, 1.f}; + float stroke_width_{1.f}; +}; + +class GlassMaterial : public SvgMaterial { +public: + GlassMaterial() = default; + // todo: move this to a dielectric material class + [[nodiscard]] + Scalar refraction_index() const { + return refraction_index_; + } private: - Color3f stroke_color_ = Color3f{0.f, 0.f, 0.f}; - Color3f fill_color_ = Color3f{1.f, 1.f, 1.f}; - float stroke_width_ = 1.f; + Scalar refraction_index_ = Scalar{0}; +}; + +class MirrorMaterial : public SvgMaterial { +public: + MirrorMaterial() = default; }; DE_VERTEXWAHN_END_NAMESPACE diff --git a/devertexwahn/flatland/rendering/canvas/BUILD.bazel b/devertexwahn/flatland/rendering/canvas/BUILD.bazel index ecf308c6..99895c1e 100644 --- a/devertexwahn/flatland/rendering/canvas/BUILD.bazel +++ b/devertexwahn/flatland/rendering/canvas/BUILD.bazel @@ -34,6 +34,6 @@ cc_test( deps = [ ":svg_canvas", "//flatland/rendering/scene:load_scene", - "@com_google_googletest//:gtest_main", + "@googletest//:gtest_main", ], ) diff --git a/devertexwahn/flatland/rendering/canvas/svg_canvas.h b/devertexwahn/flatland/rendering/canvas/svg_canvas.h index 0c1534c9..9a93d650 100644 --- a/devertexwahn/flatland/rendering/canvas/svg_canvas.h +++ b/devertexwahn/flatland/rendering/canvas/svg_canvas.h @@ -22,7 +22,7 @@ class SvgCanvasType { public: using Ray = Ray2; using Label = LabelType2; - using Point = PointType<2, ScalarType>; + using Point = PointType; using Scalar = ScalarType; using Shape = Shape2; using AxisAlignedBoundingBox = AxisAlignedBoundingBox2; diff --git a/devertexwahn/flatland/rendering/fresnel.h b/devertexwahn/flatland/rendering/fresnel.h new file mode 100644 index 00000000..fbf1b299 --- /dev/null +++ b/devertexwahn/flatland/rendering/fresnel.h @@ -0,0 +1,43 @@ +/* + * SPDX-FileCopyrightText: Copyright 2023 Julian Amann + * SPDX-License-Identifier: Apache-2.0 + */ + +#pragma once +#ifndef De_Vertexwahn_Flatland_Rendering_fresnel_ba618a3b_8405_49fb_bd9c_36d9474e98de_h +#define De_Vertexwahn_Flatland_Rendering_fresnel_ba618a3b_8405_49fb_bd9c_36d9474e98de_h + +#include "core/namespace.h" +#include "math/vector.h" + +DE_VERTEXWAHN_BEGIN_NAMESPACE + +// compute reflection direction +Vector3f reflect(const Vector3f& v, const Vector3f& n) { + return -v + 2.0f * v.dot(n) * n; +} + +// compute refracted direction +bool refract(const Vector3f& v, const Vector3f& n, float iorI, float iorT, + Vector3f& t) { + const Vector3f t_h = -iorI / iorT * (v - v.dot(n) * n); + // total reflection + if (t_h.norm() > 1.0f) { + return false; + } + const Vector3f t_p = -std::sqrt(std::max(1.0f - t_h.norm(), 0.0f)) * n; + t = t_h + t_p; + return true; +} + +// schlick approximation of fresnel reflectance +float fresnel(float cosThetaI, float iorI, float iorT) { + const float f0 = + (iorI - iorT) * (iorI - iorT) / ((iorI + iorT) * (iorI + iorT)); + const auto pow5 = [](float x) { return x * x * x * x * x; }; + return f0 + (1.0f - f0) * pow5(std::max(1.0f - std::abs(cosThetaI), 0.0f)); +} + +DE_VERTEXWAHN_END_NAMESPACE + +#endif // end define De_Vertexwahn_Flatland_Rendering_fresnel_ba618a3b_8405_49fb_bd9c_36d9474e98de_h diff --git a/devertexwahn/flatland/rendering/fresnel_test.cpp b/devertexwahn/flatland/rendering/fresnel_test.cpp new file mode 100644 index 00000000..3a5fd1ee --- /dev/null +++ b/devertexwahn/flatland/rendering/fresnel_test.cpp @@ -0,0 +1,51 @@ +/* + * SPDX-FileCopyrightText: Copyright 2023 Julian Amann + * SPDX-License-Identifier: Apache-2.0 + */ + +#include "flatland/rendering/fresnel.h" + +#include "math/normal.h" + +#include "gmock/gmock.h" + +using namespace de_vertexwahn; + +TEST(fresnel, reflect) { + Vector3f v{-1.f, 1.f, 0.f}; + Vector3f n{0.f, 1.f, 0.f}; + + EXPECT_THAT(reflect(v,n), (Vector3f{1.f, 1.f, 0.f})); +} + +TEST(RefractionVacuumToGlass, + Given_IncidentVectorIs45Degrees_When_ComputingRefraction_Then_RefratedVectorIsAbout26Degrees) { + // Arrange + const Normal3f normal{0.f, 1.f, 0.f}; + Vector3f incident{1.f, -1.f, 0.f}; + Vector3f wi = -incident; + wi.normalize(); + + const auto refraction_index_vacuum = 1.f; + const auto refraction_index_glass = 1.6f; + + // Act + Vector3f refracted_direction; + bool valid_refraction = refract(wi, normal, refraction_index_vacuum, refraction_index_glass, refracted_direction); + + // Assert + + EXPECT_TRUE(valid_refraction); + EXPECT_TRUE(refracted_direction.x() > 0.f); + EXPECT_TRUE(refracted_direction.y() < 0.f); + + //EXPECT_THAT(refracted_direction.norm(), testing::FloatEq(1.f)); + /* + float theta = degree_to_radian(26.23f); + Eigen::Rotation2Df rotation_transform(theta); + Vector2f rotatedVector = rotation_transform.toRotationMatrix() * Vector2f{0.f, -1.f}; + + EXPECT_THAT(refracted_direction.x(), testing::FloatNear(rotatedVector.x(), .0001f)); + EXPECT_THAT(refracted_direction.y(), testing::FloatNear(rotatedVector.y(), .0001f)); + */ +} diff --git a/devertexwahn/flatland/rendering/integrator/BUILD.bazel b/devertexwahn/flatland/rendering/integrator/BUILD.bazel index eb0b043b..b03ec1db 100644 --- a/devertexwahn/flatland/rendering/integrator/BUILD.bazel +++ b/devertexwahn/flatland/rendering/integrator/BUILD.bazel @@ -26,7 +26,7 @@ cc_test( "//flatland/rendering", "//flatland/rendering/integrator:ambient_occlusion", "//flatland/rendering/scene:load_scene", - "@com_google_googletest//:gtest_main", + "@googletest//:gtest_main", ], ) @@ -62,7 +62,7 @@ cc_test( ":path_mirror_reflection", "//flatland/rendering", "//flatland/rendering/scene:load_scene", - "@com_google_googletest//:gtest_main", + "@googletest//:gtest_main", ], ) @@ -90,6 +90,6 @@ cc_test( ":path_specular_transmission", "//flatland/rendering", "//flatland/rendering/scene:load_scene", - "@com_google_googletest//:gtest_main", + "@googletest//:gtest_main", ], ) diff --git a/devertexwahn/flatland/rendering/integrator/ambient_occlusion.h b/devertexwahn/flatland/rendering/integrator/ambient_occlusion.h index e03ea243..b9e288f1 100644 --- a/devertexwahn/flatland/rendering/integrator/ambient_occlusion.h +++ b/devertexwahn/flatland/rendering/integrator/ambient_occlusion.h @@ -13,19 +13,19 @@ DE_VERTEXWAHN_BEGIN_NAMESPACE -template -class AmbientOcclusion : public IntegratorType { +template +class AmbientOcclusion : public IntegratorType { public: - using Base = IntegratorType; - using Color = ColorType<3, ScalarType>; + using Base = IntegratorType; + using Color = ColorType; using Scalar = ScalarType; - using Vector = VectorType; - using Point = PointType; - using Ray = RayType; - using MediumEvent = MediumEventType; + using Vector = VectorType; + using Point = PointType; + using Ray = RayType; + using MediumEvent = MediumEventType; using Sampler = SamplerType; - AmbientOcclusion(const PropertySet& ps) : IntegratorType(ps) { + AmbientOcclusion(const PropertySet& ps) : IntegratorType(ps) { background_color_ = ps.get_property("background_color", Color3f{Scalar{0.0}, Scalar{0.0}, Scalar{0.0}}); use_random_sampling_ = ps.get_property("random_sampling", false); sample_count_ = ps.get_property("sample_count", 10); @@ -34,7 +34,7 @@ class AmbientOcclusion : public IntegratorType { } Color trace( - const SceneType *scene, + const SceneType *scene, Sampler *sampler, Ray &ray, const int depth) const override { @@ -78,12 +78,12 @@ class AmbientOcclusion : public IntegratorType { private: Color background_color_{Scalar{0.0}, Scalar{0.0}, Scalar{0.0}}; - bool use_random_sampling_ = false; - int sample_count_ = 10; + bool use_random_sampling_{false}; + int sample_count_{10}; }; -using AmbientOcclusion2f = AmbientOcclusion<2, float>; -using AmbientOcclusion2d = AmbientOcclusion<2, double>; +using AmbientOcclusion2f = AmbientOcclusion; +using AmbientOcclusion2d = AmbientOcclusion; DE_VERTEXWAHN_END_NAMESPACE diff --git a/devertexwahn/flatland/rendering/integrator/ambient_occlusion_test.cpp b/devertexwahn/flatland/rendering/integrator/ambient_occlusion_test.cpp index f0b8a88f..62e5fbd9 100644 --- a/devertexwahn/flatland/rendering/integrator/ambient_occlusion_test.cpp +++ b/devertexwahn/flatland/rendering/integrator/ambient_occlusion_test.cpp @@ -14,7 +14,7 @@ using namespace de_vertexwahn; TEST(AmbientOcclusion2, TestBackgroundColor) { // Arrange Scene2f scene; - class NullIntersector : public IntersectorType<2, float> { + class NullIntersector : public IntersectorType { public: NullIntersector() = default; diff --git a/devertexwahn/flatland/rendering/integrator/integrator.h b/devertexwahn/flatland/rendering/integrator/integrator.h index 5980e67c..7b108532 100644 --- a/devertexwahn/flatland/rendering/integrator/integrator.h +++ b/devertexwahn/flatland/rendering/integrator/integrator.h @@ -16,18 +16,18 @@ DE_VERTEXWAHN_BEGIN_NAMESPACE -template +template class SceneType; template -using Scene2 = SceneType<2, ScalarType>; +using Scene2 = SceneType; using Scene2f = Scene2; -template +template class DebugReverseLightPathType { public: - using MediumEvent = MediumEventType; + using MediumEvent = MediumEventType; void clear() { std::scoped_lock lock{mutex}; @@ -39,18 +39,18 @@ class DebugReverseLightPathType { } std::mutex mutex; - using Point = PointType; + using Point = PointType; std::vector medium_events; }; -template +template class IntegratorType : public Object { public: - using Ray = RayType; - using Scene = SceneType; + using Ray = RayType; + using Scene = SceneType; using SvgCanvas = SvgCanvasType; using Sampler = SamplerType; - using DebugReverseLightPath = DebugReverseLightPathType; + using DebugReverseLightPath = DebugReverseLightPathType; IntegratorType(const PropertySet& ps) { } @@ -72,10 +72,10 @@ class IntegratorType : public Object { }; template -class IntegratorType<2, ScalarType> : public Object { +class IntegratorType : public Object { public: - using Ray = RayType<2, ScalarType>; - using Scene = SceneType<2, ScalarType>; + using Ray = RayType; + using Scene = SceneType; using SvgCanvas = SvgCanvasType; using Sampler = SamplerType; @@ -98,10 +98,10 @@ class IntegratorType<2, ScalarType> : public Object { ReferenceCounted canvas_ = nullptr; }; -using Integrator2f = IntegratorType<2, float>; -using Integrator2d = IntegratorType<2, double>; -using Integrator3f = IntegratorType<3, float>; -using Integrator3d = IntegratorType<3, double>; +using Integrator2f = IntegratorType; +using Integrator2d = IntegratorType; +using Integrator3f = IntegratorType; +using Integrator3d = IntegratorType; DE_VERTEXWAHN_END_NAMESPACE diff --git a/devertexwahn/flatland/rendering/integrator/path_mirror_reflection.h b/devertexwahn/flatland/rendering/integrator/path_mirror_reflection.h index f78f997a..edf3487e 100644 --- a/devertexwahn/flatland/rendering/integrator/path_mirror_reflection.h +++ b/devertexwahn/flatland/rendering/integrator/path_mirror_reflection.h @@ -15,19 +15,19 @@ DE_VERTEXWAHN_BEGIN_NAMESPACE // from pbrt v3 with modifications template Vector2 reflect(const Vector2 &wo, const Normal2 &normal) { - return -wo + 2 * wo.dot(normal) * normal; + return -wo + ScalarType{2} * wo.dot(normal) * normal; } // This integrator follows a sensor ray and only expects at each surface interaction a mirror reflection template -class PathMirrorReflection2 : public IntegratorType<2, ScalarType> { +class PathMirrorReflection2 final : public IntegratorType { public: - using Base = IntegratorType<2, ScalarType>; - using Color = ColorType<3, ScalarType>; + using Base = IntegratorType; + using Color = ColorType; using Scalar = ScalarType; using Sampler = SamplerType; - PathMirrorReflection2(const PropertySet &ps) : IntegratorType<2, ScalarType>(ps) { + PathMirrorReflection2(const PropertySet &ps) : IntegratorType(ps) { max_depth = ps.get_property("max_depth", 5); } @@ -49,14 +49,13 @@ class PathMirrorReflection2 : public IntegratorType<2, ScalarType> { ray.max_t = me.t; // compute reflection - Vector2 wi = -ray.direction; wi.normalize(); // inside or outside? - Vector2 reflectedDirection = reflect(wi, me.geo_frame.n.normalized()); + Vector2 reflected_direction = reflect(wi, me.geo_frame.n.normalized()); - Ray2f reflectedRay(me.p + reflectedDirection * ScalarType{0.01}, reflectedDirection, ScalarType{0.0}, ScalarType{20000.0}); + Ray2f reflectedRay(me.p + reflected_direction * ScalarType{0.01}, reflected_direction, ScalarType{0.0}, ScalarType{20000.0}); trace(scene, sampler, reflectedRay, depth+1); } @@ -70,7 +69,7 @@ class PathMirrorReflection2 : public IntegratorType<2, ScalarType> { } private: - int max_depth = 0; + int max_depth{}; }; using PathMirrorReflection2f = PathMirrorReflection2; diff --git a/devertexwahn/flatland/rendering/integrator/path_specular_transmission.h b/devertexwahn/flatland/rendering/integrator/path_specular_transmission.h index 2a7f9363..d9f5f10c 100644 --- a/devertexwahn/flatland/rendering/integrator/path_specular_transmission.h +++ b/devertexwahn/flatland/rendering/integrator/path_specular_transmission.h @@ -13,7 +13,7 @@ DE_VERTEXWAHN_BEGIN_NAMESPACE // This integrator follows a sensor ray and only expects at each surface interaction a specular transmission -class PathSpecularTransmission : public Integrator2f { +class PathSpecularTransmission final : public Integrator2f { public: PathSpecularTransmission(const PropertySet &ps); @@ -22,7 +22,7 @@ class PathSpecularTransmission : public Integrator2f { Color3f trace(const Scene2f *scene, Sampler *sampler, Ray2f &ray, const int depth) const override; private: - int max_depth = 0; + int max_depth{}; }; DE_VERTEXWAHN_END_NAMESPACE diff --git a/devertexwahn/flatland/rendering/intersector/BUILD.bazel b/devertexwahn/flatland/rendering/intersector/BUILD.bazel index ab2d0018..9fa5ff2b 100644 --- a/devertexwahn/flatland/rendering/intersector/BUILD.bazel +++ b/devertexwahn/flatland/rendering/intersector/BUILD.bazel @@ -51,6 +51,6 @@ cc_test( ], deps = [ ":quadtree_intersector", - "@com_google_googletest//:gtest_main", + "@googletest//:gtest_main", ], ) diff --git a/devertexwahn/flatland/rendering/intersector/brute_force_intersector.h b/devertexwahn/flatland/rendering/intersector/brute_force_intersector.h index fd5feb88..2c625913 100644 --- a/devertexwahn/flatland/rendering/intersector/brute_force_intersector.h +++ b/devertexwahn/flatland/rendering/intersector/brute_force_intersector.h @@ -13,12 +13,12 @@ DE_VERTEXWAHN_BEGIN_NAMESPACE -template -class BruteForceIntersector : public IntersectorType { +template +class BruteForceIntersector : public IntersectorType { public: - using Shape = ShapeType; - using Ray = RayType; - using MediumEvent = MediumEventType; + using Shape = ShapeType; + using Ray = RayType; + using MediumEvent = MediumEventType; using Scalar = ScalarType; BruteForceIntersector(const PropertySet &ps) { @@ -53,11 +53,11 @@ class BruteForceIntersector : public IntersectorType { std::vector> shapes_; }; -using BruteForceIntersector2f = BruteForceIntersector<2, float>; -using BruteForceIntersector2d = BruteForceIntersector<2, double>; +using BruteForceIntersector2f = BruteForceIntersector; +using BruteForceIntersector2d = BruteForceIntersector; -using BruteForceIntersector3f = BruteForceIntersector<3, float>; -using BruteForceIntersector3d = BruteForceIntersector<3, double>; +using BruteForceIntersector3f = BruteForceIntersector; +using BruteForceIntersector3d = BruteForceIntersector; DE_VERTEXWAHN_END_NAMESPACE diff --git a/devertexwahn/flatland/rendering/intersector/intersector.h b/devertexwahn/flatland/rendering/intersector/intersector.h index 63b3583c..d1c20778 100644 --- a/devertexwahn/flatland/rendering/intersector/intersector.h +++ b/devertexwahn/flatland/rendering/intersector/intersector.h @@ -13,20 +13,20 @@ DE_VERTEXWAHN_BEGIN_NAMESPACE -template +template struct MediumEventType; -template +template class ShapeType; -template +template class IntersectorType : public Object { public: - using Ray = RayType; - using MediumEvent = MediumEventType; - using Shape = ShapeType; + using Ray = RayType; + using MediumEvent = MediumEventType; + using Shape = ShapeType; - virtual void build_acceleration_structure(std::vector> shapes) = 0; + virtual void build_acceleration_structure(std::vector> shapes) = 0; virtual bool intersect(const Ray &ray, MediumEvent &me) const = 0; }; diff --git a/devertexwahn/flatland/rendering/intersector/quadtree_intersector.h b/devertexwahn/flatland/rendering/intersector/quadtree_intersector.h index 648f0d74..93475671 100644 --- a/devertexwahn/flatland/rendering/intersector/quadtree_intersector.h +++ b/devertexwahn/flatland/rendering/intersector/quadtree_intersector.h @@ -23,10 +23,10 @@ struct SubShapeIdentifier { SubShapeId sub_shape_index; }; -template +template class IShapesSubBoundsProvider { public: - using AxisAlignedBoundingBox = AxisAlignedBoundingBoxType; + using AxisAlignedBoundingBox = AxisAlignedBoundingBoxType; [[nodiscard]] virtual std::vector sub_shape_ids() const = 0; @@ -39,7 +39,7 @@ class IShapesSubBoundsProvider { bounds(const SubShapeIdentifier &id) const = 0; // Minimal AABB of a specific sub shape }; -using IShapesSubBoundsProvider2f = IShapesSubBoundsProvider<2, float>; +using IShapesSubBoundsProvider2f = IShapesSubBoundsProvider; class TriangleMeshesBoundsProvider2f : public IShapesSubBoundsProvider2f { public: @@ -151,7 +151,7 @@ struct QuadtreeBuildDescription { QuadtreeNode *build_quadtree(const QuadtreeBuildDescription &qtbd); -class QuadtreeIntersector : public IntersectorType<2, float> { +class QuadtreeIntersector : public IntersectorType { public: explicit QuadtreeIntersector(const PropertySet &ps) { auto str_strategy = ps.get_property("strategy", "StopSplitIfOneChildHasAsManySubShapesAsParent"); diff --git a/devertexwahn/flatland/rendering/sampler.h b/devertexwahn/flatland/rendering/sampler.h index f6f1936e..5f595187 100644 --- a/devertexwahn/flatland/rendering/sampler.h +++ b/devertexwahn/flatland/rendering/sampler.h @@ -28,8 +28,10 @@ class SamplerType : public Object { virtual ~SamplerType() {} + [[nodiscard]] virtual ScalarType next_1d() = 0; + [[nodiscard]] virtual Point2 next_2d() = 0; [[nodiscard]] @@ -37,6 +39,7 @@ class SamplerType : public Object { return sample_count_; }; + [[nodiscard]] virtual std::unique_ptr clone() = 0; protected: @@ -54,20 +57,24 @@ class StaticDebugSamplerType : public SamplerType { virtual ~StaticDebugSamplerType() {} + [[nodiscard]] Scalar next_1d() override { return Scalar{0.5}; } + [[nodiscard]] Point next_2d() override { return Point(Scalar{0.5}, Scalar{0.5}); } + [[nodiscard]] std::unique_ptr> clone() override { PropertySet ps; ps.add_property("sample_count", Base::sample_count_); return std::make_unique(ps); } + [[nodiscard]] std::string to_string() const override { return "PixelCenterSampler"; } @@ -88,10 +95,12 @@ class IndependentSamplerType : public SamplerType { virtual ~IndependentSamplerType() {} + [[nodiscard]] ScalarType next_1d() override { return uniform_distribution_(rng_); } + [[nodiscard]] Point2 next_2d() override { auto x = uniform_distribution_(rng_); auto y = uniform_distribution_(rng_); @@ -103,6 +112,7 @@ class IndependentSamplerType : public SamplerType { return "IndependentSampler"; } + [[nodiscard]] std::unique_ptr> clone() override { PropertySet ps; ps.add_property("sample_count", Base::sample_count_); diff --git a/devertexwahn/flatland/rendering/scene/BUILD.bazel b/devertexwahn/flatland/rendering/scene/BUILD.bazel index 1f06608c..4a9ecd36 100644 --- a/devertexwahn/flatland/rendering/scene/BUILD.bazel +++ b/devertexwahn/flatland/rendering/scene/BUILD.bazel @@ -49,6 +49,6 @@ cc_test( ], deps = [ ":load_scene", - "@com_google_googletest//:gtest_main", + "@googletest//:gtest_main", ], ) diff --git a/devertexwahn/flatland/rendering/scene/load_scene.cpp b/devertexwahn/flatland/rendering/scene/load_scene.cpp index 46ede615..4468cde5 100644 --- a/devertexwahn/flatland/rendering/scene/load_scene.cpp +++ b/devertexwahn/flatland/rendering/scene/load_scene.cpp @@ -1,6 +1,10 @@ /* * SPDX-FileCopyrightText: Copyright 2022-2023 Julian Amann * SPDX-License-Identifier: Apache-2.0 + * + * This file also contains code from Mitsuba 3 - the corresponding sections are marked in the code + * SPDX-FileCopyrightText: 2017 Wenzel Jakob + * SPDX-License-Identifier: BSD-3-Clause-LBNL */ #include "flatland/rendering/scene/load_scene.h" @@ -18,6 +22,30 @@ DE_VERTEXWAHN_BEGIN_NAMESPACE +// Copied from https://github.com/mitsuba-renderer/mitsuba3/blob/16261c1bd1f4805b8799300f93c91ba3af8174f0/src/core/string.cpp#L75 +// Mitsuba3 +// TODO: Move to core - string class +// or replace by boost::split(tokens, csv, boost::is_any_of(","));? +std::vector tokenize(const std::string &string, + const std::string &delim = ", ", + bool include_empty = false) { + std::string::size_type last_pos = 0, pos = string.find_first_of(delim, last_pos); + std::vector tokens; + + while (last_pos != std::string::npos) { + std::string substr = string.substr(last_pos, pos - last_pos); + if (!substr.empty() || include_empty) + tokens.push_back(std::move(substr)); + last_pos = pos; + if (last_pos != std::string::npos) { + last_pos += 1; + pos = string.find_first_of(delim, last_pos); + } + } + + return tokens; +} + template <> Transform44f read_transform<3>(const pugi::xml_node &xmlTransform) { Transform44f transform = identity(); @@ -66,7 +94,28 @@ Transform44f read_transform<3>(const pugi::xml_node &xmlTransform) { } if(transformType == "matrix") { - throw std::runtime_error("matrix as transform not implemented"); + // copied from Mitsuba 3 with some minor changes + std::vector tokens = tokenize(node.attribute("value").value()); + if (tokens.size() != 16 /*&& tokens.size() != 9*/) { + throw std::runtime_error("matrix: expected 16 values"); + } + Matrix44f matrix; + if (tokens.size() == 16) { + for (int i = 0; i < 4; ++i) { + for (int j = 0; j < 4; ++j) { + try { + matrix(i,j) = std::stof(tokens[i * 4 + j]); + //matrix(i, j) = string::stof(tokens[i * 4 + j]); + } catch (...) { + //src.throw_error(node, "could not parse floating point value \"%s\"", + // tokens[i * 4 + j]); + throw std::runtime_error("could not parse floating point value"); + } + } + } + } + + transform = Transform44f(matrix); } } @@ -219,7 +268,7 @@ ReferenceCounted load_scene2f(std::string_view filename) { if (!result) return nullptr; - auto scene = make_reference_counted>(); + auto scene = make_reference_counted>(); std::filesystem::path p(filename); bool integrator_tag_found = false; @@ -240,7 +289,7 @@ ReferenceCounted load_scene2f(std::string_view filename) { // Construct sensor PropertySet sensor_ps = read_all_properties(scene_elements); sensor_ps.add_property("film", film); - auto sensor = make_reference_counted>(sensor_ps); + auto sensor = make_reference_counted>(sensor_ps); auto xml_transform = scene_elements.child("transform"); if (xml_transform) { @@ -257,7 +306,7 @@ ReferenceCounted load_scene2f(std::string_view filename) { auto ps = read_all_properties(scene_elements); try { - auto integrator = std::dynamic_pointer_cast>( + auto integrator = std::dynamic_pointer_cast>( object_factory.create_instance(type, ps)); scene->set_integrator(integrator); } catch (...) { @@ -293,7 +342,7 @@ ReferenceCounted load_scene2f(std::string_view filename) { ps.add_property("transform", transform); - auto shape = std::dynamic_pointer_cast>( + auto shape = std::dynamic_pointer_cast>( object_factory.create_instance(type, ps)); auto xml_bxdf = scene_elements.child("bsdf"); @@ -303,7 +352,7 @@ ReferenceCounted load_scene2f(std::string_view filename) { } if (xml_bxdf) { auto bsdf_ps = read_all_properties(xml_bxdf); - auto bsdf = std::dynamic_pointer_cast>( + auto bsdf = std::dynamic_pointer_cast>( object_factory.create_instance(str_bsdf_type, bsdf_ps)); shape->set_bsdf(bsdf); } @@ -316,7 +365,7 @@ ReferenceCounted load_scene2f(std::string_view filename) { auto ps = read_all_properties(scene_elements); - auto intersector = std::dynamic_pointer_cast>( + auto intersector = std::dynamic_pointer_cast>( object_factory.create_instance(type, ps)); scene->set_intersector(intersector); } @@ -331,7 +380,7 @@ ReferenceCounted load_scene2f(std::string_view filename) { } if (!scene->has_intersector()) { - auto intersector = std::dynamic_pointer_cast>( + auto intersector = std::dynamic_pointer_cast>( object_factory.create_instance("brute_force", PropertySet{})); scene->set_intersector(intersector); } @@ -349,4 +398,4 @@ ReferenceCounted load_scene2f(std::string_view filename) { return scene; } -DE_VERTEXWAHN_END_NAMESPACE \ No newline at end of file +DE_VERTEXWAHN_END_NAMESPACE diff --git a/devertexwahn/flatland/rendering/scene/scene.h b/devertexwahn/flatland/rendering/scene/scene.h index 8825c1ca..49f2a1d4 100644 --- a/devertexwahn/flatland/rendering/scene/scene.h +++ b/devertexwahn/flatland/rendering/scene/scene.h @@ -18,18 +18,18 @@ DE_VERTEXWAHN_BEGIN_NAMESPACE -template +template class SceneType { public: - using Shape = ShapeType; - using Ray = RayType; - using MediumEvent = MediumEventType; - using Sensor = SensorType; - using Integrator = IntegratorType; + using Shape = ShapeType; + using Ray = RayType; + using MediumEvent = MediumEventType; + using Sensor = SensorType; + using Integrator = IntegratorType; using Sampler = SamplerType; using Label = LabelType2; using Scalar = ScalarType; - using Intersector = IntersectorType; + using Intersector = IntersectorType; SceneType() = default; @@ -67,6 +67,7 @@ class SceneType { integrator_ = integrator; } + [[nodiscard]] ReferenceCounted integrator() const { return integrator_; } @@ -75,10 +76,12 @@ class SceneType { annotations_.push_back(text); } + [[nodiscard]] std::vector