re2 1.20.0 → 1.20.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1492) hide show
  1. package/.github/actions/linux-alpine-node-16/entrypoint.sh +2 -0
  2. package/.github/actions/linux-alpine-node-18/entrypoint.sh +3 -1
  3. package/.github/actions/linux-alpine-node-20/entrypoint.sh +3 -1
  4. package/.github/actions/linux-node-12/entrypoint.sh +2 -0
  5. package/.github/actions/linux-node-18/entrypoint.sh +3 -1
  6. package/.github/actions/linux-node-20/entrypoint.sh +3 -1
  7. package/README.md +2 -0
  8. package/binding.gyp +1 -0
  9. package/package.json +2 -2
  10. package/vendor/abseil-cpp/.clang-format +4 -0
  11. package/vendor/abseil-cpp/.github/ISSUE_TEMPLATE/00-bug_report.yml +53 -0
  12. package/vendor/abseil-cpp/.github/ISSUE_TEMPLATE/config.yml +5 -0
  13. package/vendor/abseil-cpp/ABSEIL_ISSUE_TEMPLATE.md +22 -0
  14. package/vendor/abseil-cpp/AUTHORS +6 -0
  15. package/vendor/abseil-cpp/BUILD.bazel +25 -0
  16. package/vendor/abseil-cpp/CMake/AbseilDll.cmake +809 -0
  17. package/vendor/abseil-cpp/CMake/AbseilHelpers.cmake +466 -0
  18. package/vendor/abseil-cpp/CMake/Googletest/CMakeLists.txt.in +14 -0
  19. package/vendor/abseil-cpp/CMake/Googletest/DownloadGTest.cmake +41 -0
  20. package/vendor/abseil-cpp/CMake/README.md +188 -0
  21. package/vendor/abseil-cpp/CMake/abslConfig.cmake.in +8 -0
  22. package/vendor/abseil-cpp/CMake/install_test_project/CMakeLists.txt +25 -0
  23. package/vendor/abseil-cpp/CMake/install_test_project/simple.cc +32 -0
  24. package/vendor/abseil-cpp/CMake/install_test_project/test.sh +112 -0
  25. package/vendor/abseil-cpp/CMakeLists.txt +239 -0
  26. package/vendor/abseil-cpp/CONTRIBUTING.md +141 -0
  27. package/vendor/abseil-cpp/FAQ.md +167 -0
  28. package/vendor/abseil-cpp/LICENSE +203 -0
  29. package/vendor/abseil-cpp/README.md +163 -0
  30. package/vendor/abseil-cpp/UPGRADES.md +17 -0
  31. package/vendor/abseil-cpp/WORKSPACE +62 -0
  32. package/vendor/abseil-cpp/absl/BUILD.bazel +125 -0
  33. package/vendor/abseil-cpp/absl/CMakeLists.txt +44 -0
  34. package/vendor/abseil-cpp/absl/abseil.podspec.gen.py +229 -0
  35. package/vendor/abseil-cpp/absl/algorithm/BUILD.bazel +92 -0
  36. package/vendor/abseil-cpp/absl/algorithm/CMakeLists.txt +70 -0
  37. package/vendor/abseil-cpp/absl/algorithm/algorithm.h +159 -0
  38. package/vendor/abseil-cpp/absl/algorithm/algorithm_test.cc +191 -0
  39. package/vendor/abseil-cpp/absl/algorithm/container.h +1773 -0
  40. package/vendor/abseil-cpp/absl/algorithm/container_test.cc +1127 -0
  41. package/vendor/abseil-cpp/absl/algorithm/equal_benchmark.cc +126 -0
  42. package/vendor/abseil-cpp/absl/base/BUILD.bazel +783 -0
  43. package/vendor/abseil-cpp/absl/base/CMakeLists.txt +685 -0
  44. package/vendor/abseil-cpp/absl/base/attributes.h +782 -0
  45. package/vendor/abseil-cpp/absl/base/bit_cast_test.cc +109 -0
  46. package/vendor/abseil-cpp/absl/base/call_once.h +219 -0
  47. package/vendor/abseil-cpp/absl/base/call_once_test.cc +107 -0
  48. package/vendor/abseil-cpp/absl/base/casts.h +180 -0
  49. package/vendor/abseil-cpp/absl/base/config.h +954 -0
  50. package/vendor/abseil-cpp/absl/base/config_test.cc +60 -0
  51. package/vendor/abseil-cpp/absl/base/const_init.h +76 -0
  52. package/vendor/abseil-cpp/absl/base/dynamic_annotations.h +471 -0
  53. package/vendor/abseil-cpp/absl/base/exception_safety_testing_test.cc +959 -0
  54. package/vendor/abseil-cpp/absl/base/inline_variable_test.cc +64 -0
  55. package/vendor/abseil-cpp/absl/base/inline_variable_test_a.cc +27 -0
  56. package/vendor/abseil-cpp/absl/base/inline_variable_test_b.cc +27 -0
  57. package/vendor/abseil-cpp/absl/base/internal/atomic_hook.h +200 -0
  58. package/vendor/abseil-cpp/absl/base/internal/atomic_hook_test.cc +97 -0
  59. package/vendor/abseil-cpp/absl/base/internal/atomic_hook_test_helper.cc +32 -0
  60. package/vendor/abseil-cpp/absl/base/internal/atomic_hook_test_helper.h +34 -0
  61. package/vendor/abseil-cpp/absl/base/internal/cmake_thread_test.cc +22 -0
  62. package/vendor/abseil-cpp/absl/base/internal/cycleclock.cc +77 -0
  63. package/vendor/abseil-cpp/absl/base/internal/cycleclock.h +144 -0
  64. package/vendor/abseil-cpp/absl/base/internal/cycleclock_config.h +55 -0
  65. package/vendor/abseil-cpp/absl/base/internal/direct_mmap.h +170 -0
  66. package/vendor/abseil-cpp/absl/base/internal/dynamic_annotations.h +398 -0
  67. package/vendor/abseil-cpp/absl/base/internal/endian.h +282 -0
  68. package/vendor/abseil-cpp/absl/base/internal/endian_test.cc +263 -0
  69. package/vendor/abseil-cpp/absl/base/internal/errno_saver.h +43 -0
  70. package/vendor/abseil-cpp/absl/base/internal/errno_saver_test.cc +45 -0
  71. package/vendor/abseil-cpp/absl/base/internal/exception_safety_testing.cc +79 -0
  72. package/vendor/abseil-cpp/absl/base/internal/exception_safety_testing.h +1109 -0
  73. package/vendor/abseil-cpp/absl/base/internal/exception_testing.h +42 -0
  74. package/vendor/abseil-cpp/absl/base/internal/fast_type_id.h +50 -0
  75. package/vendor/abseil-cpp/absl/base/internal/fast_type_id_test.cc +123 -0
  76. package/vendor/abseil-cpp/absl/base/internal/hide_ptr.h +51 -0
  77. package/vendor/abseil-cpp/absl/base/internal/identity.h +37 -0
  78. package/vendor/abseil-cpp/absl/base/internal/inline_variable.h +107 -0
  79. package/vendor/abseil-cpp/absl/base/internal/inline_variable_testing.h +46 -0
  80. package/vendor/abseil-cpp/absl/base/internal/invoke.h +241 -0
  81. package/vendor/abseil-cpp/absl/base/internal/low_level_alloc.cc +620 -0
  82. package/vendor/abseil-cpp/absl/base/internal/low_level_alloc.h +126 -0
  83. package/vendor/abseil-cpp/absl/base/internal/low_level_alloc_test.cc +180 -0
  84. package/vendor/abseil-cpp/absl/base/internal/low_level_scheduling.h +134 -0
  85. package/vendor/abseil-cpp/absl/base/internal/per_thread_tls.h +52 -0
  86. package/vendor/abseil-cpp/absl/base/internal/prefetch.h +138 -0
  87. package/vendor/abseil-cpp/absl/base/internal/prefetch_test.cc +43 -0
  88. package/vendor/abseil-cpp/absl/base/internal/pretty_function.h +33 -0
  89. package/vendor/abseil-cpp/absl/base/internal/raw_logging.cc +253 -0
  90. package/vendor/abseil-cpp/absl/base/internal/raw_logging.h +195 -0
  91. package/vendor/abseil-cpp/absl/base/internal/scheduling_mode.h +58 -0
  92. package/vendor/abseil-cpp/absl/base/internal/scoped_set_env.cc +81 -0
  93. package/vendor/abseil-cpp/absl/base/internal/scoped_set_env.h +45 -0
  94. package/vendor/abseil-cpp/absl/base/internal/scoped_set_env_test.cc +99 -0
  95. package/vendor/abseil-cpp/absl/base/internal/spinlock.cc +232 -0
  96. package/vendor/abseil-cpp/absl/base/internal/spinlock.h +252 -0
  97. package/vendor/abseil-cpp/absl/base/internal/spinlock_akaros.inc +35 -0
  98. package/vendor/abseil-cpp/absl/base/internal/spinlock_benchmark.cc +52 -0
  99. package/vendor/abseil-cpp/absl/base/internal/spinlock_linux.inc +71 -0
  100. package/vendor/abseil-cpp/absl/base/internal/spinlock_posix.inc +46 -0
  101. package/vendor/abseil-cpp/absl/base/internal/spinlock_wait.cc +81 -0
  102. package/vendor/abseil-cpp/absl/base/internal/spinlock_wait.h +95 -0
  103. package/vendor/abseil-cpp/absl/base/internal/spinlock_win32.inc +40 -0
  104. package/vendor/abseil-cpp/absl/base/internal/strerror.cc +88 -0
  105. package/vendor/abseil-cpp/absl/base/internal/strerror.h +39 -0
  106. package/vendor/abseil-cpp/absl/base/internal/strerror_benchmark.cc +29 -0
  107. package/vendor/abseil-cpp/absl/base/internal/strerror_test.cc +88 -0
  108. package/vendor/abseil-cpp/absl/base/internal/sysinfo.cc +511 -0
  109. package/vendor/abseil-cpp/absl/base/internal/sysinfo.h +74 -0
  110. package/vendor/abseil-cpp/absl/base/internal/sysinfo_test.cc +88 -0
  111. package/vendor/abseil-cpp/absl/base/internal/thread_annotations.h +280 -0
  112. package/vendor/abseil-cpp/absl/base/internal/thread_identity.cc +156 -0
  113. package/vendor/abseil-cpp/absl/base/internal/thread_identity.h +269 -0
  114. package/vendor/abseil-cpp/absl/base/internal/thread_identity_benchmark.cc +38 -0
  115. package/vendor/abseil-cpp/absl/base/internal/thread_identity_test.cc +129 -0
  116. package/vendor/abseil-cpp/absl/base/internal/throw_delegate.cc +212 -0
  117. package/vendor/abseil-cpp/absl/base/internal/throw_delegate.h +75 -0
  118. package/vendor/abseil-cpp/absl/base/internal/tsan_mutex_interface.h +68 -0
  119. package/vendor/abseil-cpp/absl/base/internal/unaligned_access.h +82 -0
  120. package/vendor/abseil-cpp/absl/base/internal/unique_small_name_test.cc +77 -0
  121. package/vendor/abseil-cpp/absl/base/internal/unscaledcycleclock.cc +153 -0
  122. package/vendor/abseil-cpp/absl/base/internal/unscaledcycleclock.h +96 -0
  123. package/vendor/abseil-cpp/absl/base/internal/unscaledcycleclock_config.h +62 -0
  124. package/vendor/abseil-cpp/absl/base/invoke_test.cc +331 -0
  125. package/vendor/abseil-cpp/absl/base/log_severity.cc +55 -0
  126. package/vendor/abseil-cpp/absl/base/log_severity.h +172 -0
  127. package/vendor/abseil-cpp/absl/base/log_severity_test.cc +245 -0
  128. package/vendor/abseil-cpp/absl/base/macros.h +141 -0
  129. package/vendor/abseil-cpp/absl/base/optimization.h +304 -0
  130. package/vendor/abseil-cpp/absl/base/optimization_test.cc +129 -0
  131. package/vendor/abseil-cpp/absl/base/options.h +232 -0
  132. package/vendor/abseil-cpp/absl/base/policy_checks.h +113 -0
  133. package/vendor/abseil-cpp/absl/base/port.h +25 -0
  134. package/vendor/abseil-cpp/absl/base/raw_logging_test.cc +79 -0
  135. package/vendor/abseil-cpp/absl/base/spinlock_test_common.cc +272 -0
  136. package/vendor/abseil-cpp/absl/base/thread_annotations.h +335 -0
  137. package/vendor/abseil-cpp/absl/base/throw_delegate_test.cc +175 -0
  138. package/vendor/abseil-cpp/absl/cleanup/BUILD.bazel +65 -0
  139. package/vendor/abseil-cpp/absl/cleanup/CMakeLists.txt +56 -0
  140. package/vendor/abseil-cpp/absl/cleanup/cleanup.h +140 -0
  141. package/vendor/abseil-cpp/absl/cleanup/cleanup_test.cc +311 -0
  142. package/vendor/abseil-cpp/absl/cleanup/internal/cleanup.h +100 -0
  143. package/vendor/abseil-cpp/absl/container/BUILD.bazel +1031 -0
  144. package/vendor/abseil-cpp/absl/container/CMakeLists.txt +967 -0
  145. package/vendor/abseil-cpp/absl/container/btree_benchmark.cc +764 -0
  146. package/vendor/abseil-cpp/absl/container/btree_map.h +885 -0
  147. package/vendor/abseil-cpp/absl/container/btree_set.h +821 -0
  148. package/vendor/abseil-cpp/absl/container/btree_test.cc +3470 -0
  149. package/vendor/abseil-cpp/absl/container/btree_test.h +166 -0
  150. package/vendor/abseil-cpp/absl/container/fixed_array.h +531 -0
  151. package/vendor/abseil-cpp/absl/container/fixed_array_benchmark.cc +67 -0
  152. package/vendor/abseil-cpp/absl/container/fixed_array_exception_safety_test.cc +201 -0
  153. package/vendor/abseil-cpp/absl/container/fixed_array_test.cc +837 -0
  154. package/vendor/abseil-cpp/absl/container/flat_hash_map.h +613 -0
  155. package/vendor/abseil-cpp/absl/container/flat_hash_map_test.cc +325 -0
  156. package/vendor/abseil-cpp/absl/container/flat_hash_set.h +503 -0
  157. package/vendor/abseil-cpp/absl/container/flat_hash_set_test.cc +178 -0
  158. package/vendor/abseil-cpp/absl/container/inlined_vector.h +914 -0
  159. package/vendor/abseil-cpp/absl/container/inlined_vector_benchmark.cc +829 -0
  160. package/vendor/abseil-cpp/absl/container/inlined_vector_exception_safety_test.cc +508 -0
  161. package/vendor/abseil-cpp/absl/container/inlined_vector_test.cc +2060 -0
  162. package/vendor/abseil-cpp/absl/container/internal/btree.h +2982 -0
  163. package/vendor/abseil-cpp/absl/container/internal/btree_container.h +713 -0
  164. package/vendor/abseil-cpp/absl/container/internal/common.h +207 -0
  165. package/vendor/abseil-cpp/absl/container/internal/common_policy_traits.h +132 -0
  166. package/vendor/abseil-cpp/absl/container/internal/common_policy_traits_test.cc +120 -0
  167. package/vendor/abseil-cpp/absl/container/internal/compressed_tuple.h +290 -0
  168. package/vendor/abseil-cpp/absl/container/internal/compressed_tuple_test.cc +419 -0
  169. package/vendor/abseil-cpp/absl/container/internal/container_memory.h +454 -0
  170. package/vendor/abseil-cpp/absl/container/internal/container_memory_test.cc +257 -0
  171. package/vendor/abseil-cpp/absl/container/internal/counting_allocator.h +122 -0
  172. package/vendor/abseil-cpp/absl/container/internal/hash_function_defaults.h +163 -0
  173. package/vendor/abseil-cpp/absl/container/internal/hash_function_defaults_test.cc +383 -0
  174. package/vendor/abseil-cpp/absl/container/internal/hash_generator_testing.cc +76 -0
  175. package/vendor/abseil-cpp/absl/container/internal/hash_generator_testing.h +182 -0
  176. package/vendor/abseil-cpp/absl/container/internal/hash_policy_testing.h +184 -0
  177. package/vendor/abseil-cpp/absl/container/internal/hash_policy_testing_test.cc +45 -0
  178. package/vendor/abseil-cpp/absl/container/internal/hash_policy_traits.h +157 -0
  179. package/vendor/abseil-cpp/absl/container/internal/hash_policy_traits_test.cc +80 -0
  180. package/vendor/abseil-cpp/absl/container/internal/hashtable_debug.h +110 -0
  181. package/vendor/abseil-cpp/absl/container/internal/hashtable_debug_hooks.h +85 -0
  182. package/vendor/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +283 -0
  183. package/vendor/abseil-cpp/absl/container/internal/hashtablez_sampler.h +267 -0
  184. package/vendor/abseil-cpp/absl/container/internal/hashtablez_sampler_force_weak_definition.cc +31 -0
  185. package/vendor/abseil-cpp/absl/container/internal/hashtablez_sampler_test.cc +428 -0
  186. package/vendor/abseil-cpp/absl/container/internal/inlined_vector.h +1031 -0
  187. package/vendor/abseil-cpp/absl/container/internal/layout.h +743 -0
  188. package/vendor/abseil-cpp/absl/container/internal/layout_benchmark.cc +122 -0
  189. package/vendor/abseil-cpp/absl/container/internal/layout_test.cc +1641 -0
  190. package/vendor/abseil-cpp/absl/container/internal/node_slot_policy.h +92 -0
  191. package/vendor/abseil-cpp/absl/container/internal/node_slot_policy_test.cc +69 -0
  192. package/vendor/abseil-cpp/absl/container/internal/raw_hash_map.h +198 -0
  193. package/vendor/abseil-cpp/absl/container/internal/raw_hash_set.cc +222 -0
  194. package/vendor/abseil-cpp/absl/container/internal/raw_hash_set.h +2685 -0
  195. package/vendor/abseil-cpp/absl/container/internal/raw_hash_set_allocator_test.cc +505 -0
  196. package/vendor/abseil-cpp/absl/container/internal/raw_hash_set_benchmark.cc +544 -0
  197. package/vendor/abseil-cpp/absl/container/internal/raw_hash_set_probe_benchmark.cc +590 -0
  198. package/vendor/abseil-cpp/absl/container/internal/raw_hash_set_test.cc +2324 -0
  199. package/vendor/abseil-cpp/absl/container/internal/test_instance_tracker.cc +29 -0
  200. package/vendor/abseil-cpp/absl/container/internal/test_instance_tracker.h +274 -0
  201. package/vendor/abseil-cpp/absl/container/internal/test_instance_tracker_test.cc +184 -0
  202. package/vendor/abseil-cpp/absl/container/internal/tracked.h +83 -0
  203. package/vendor/abseil-cpp/absl/container/internal/unordered_map_constructor_test.h +494 -0
  204. package/vendor/abseil-cpp/absl/container/internal/unordered_map_lookup_test.h +117 -0
  205. package/vendor/abseil-cpp/absl/container/internal/unordered_map_members_test.h +87 -0
  206. package/vendor/abseil-cpp/absl/container/internal/unordered_map_modifiers_test.h +352 -0
  207. package/vendor/abseil-cpp/absl/container/internal/unordered_map_test.cc +50 -0
  208. package/vendor/abseil-cpp/absl/container/internal/unordered_set_constructor_test.h +496 -0
  209. package/vendor/abseil-cpp/absl/container/internal/unordered_set_lookup_test.h +91 -0
  210. package/vendor/abseil-cpp/absl/container/internal/unordered_set_members_test.h +86 -0
  211. package/vendor/abseil-cpp/absl/container/internal/unordered_set_modifiers_test.h +221 -0
  212. package/vendor/abseil-cpp/absl/container/internal/unordered_set_test.cc +41 -0
  213. package/vendor/abseil-cpp/absl/container/node_hash_map.h +604 -0
  214. package/vendor/abseil-cpp/absl/container/node_hash_map_test.cc +286 -0
  215. package/vendor/abseil-cpp/absl/container/node_hash_set.h +500 -0
  216. package/vendor/abseil-cpp/absl/container/node_hash_set_test.cc +143 -0
  217. package/vendor/abseil-cpp/absl/container/sample_element_size_test.cc +114 -0
  218. package/vendor/abseil-cpp/absl/copts/AbseilConfigureCopts.cmake +96 -0
  219. package/vendor/abseil-cpp/absl/copts/GENERATED_AbseilCopts.cmake +229 -0
  220. package/vendor/abseil-cpp/absl/copts/GENERATED_copts.bzl +230 -0
  221. package/vendor/abseil-cpp/absl/copts/configure_copts.bzl +82 -0
  222. package/vendor/abseil-cpp/absl/copts/copts.py +191 -0
  223. package/vendor/abseil-cpp/absl/copts/generate_copts.py +109 -0
  224. package/vendor/abseil-cpp/absl/crc/BUILD.bazel +210 -0
  225. package/vendor/abseil-cpp/absl/crc/CMakeLists.txt +176 -0
  226. package/vendor/abseil-cpp/absl/crc/crc32c.cc +99 -0
  227. package/vendor/abseil-cpp/absl/crc/crc32c.h +183 -0
  228. package/vendor/abseil-cpp/absl/crc/crc32c_benchmark.cc +183 -0
  229. package/vendor/abseil-cpp/absl/crc/crc32c_test.cc +194 -0
  230. package/vendor/abseil-cpp/absl/crc/internal/cpu_detect.cc +256 -0
  231. package/vendor/abseil-cpp/absl/crc/internal/cpu_detect.h +57 -0
  232. package/vendor/abseil-cpp/absl/crc/internal/crc.cc +468 -0
  233. package/vendor/abseil-cpp/absl/crc/internal/crc.h +91 -0
  234. package/vendor/abseil-cpp/absl/crc/internal/crc32_x86_arm_combined_simd.h +269 -0
  235. package/vendor/abseil-cpp/absl/crc/internal/crc32c.h +39 -0
  236. package/vendor/abseil-cpp/absl/crc/internal/crc32c_inline.h +72 -0
  237. package/vendor/abseil-cpp/absl/crc/internal/crc_cord_state.cc +130 -0
  238. package/vendor/abseil-cpp/absl/crc/internal/crc_cord_state.h +159 -0
  239. package/vendor/abseil-cpp/absl/crc/internal/crc_cord_state_test.cc +124 -0
  240. package/vendor/abseil-cpp/absl/crc/internal/crc_internal.h +179 -0
  241. package/vendor/abseil-cpp/absl/crc/internal/crc_memcpy.h +119 -0
  242. package/vendor/abseil-cpp/absl/crc/internal/crc_memcpy_fallback.cc +75 -0
  243. package/vendor/abseil-cpp/absl/crc/internal/crc_memcpy_test.cc +169 -0
  244. package/vendor/abseil-cpp/absl/crc/internal/crc_memcpy_x86_64.cc +434 -0
  245. package/vendor/abseil-cpp/absl/crc/internal/crc_non_temporal_memcpy.cc +93 -0
  246. package/vendor/abseil-cpp/absl/crc/internal/crc_x86_arm_combined.cc +725 -0
  247. package/vendor/abseil-cpp/absl/crc/internal/non_temporal_arm_intrinsics.h +79 -0
  248. package/vendor/abseil-cpp/absl/crc/internal/non_temporal_memcpy.h +180 -0
  249. package/vendor/abseil-cpp/absl/crc/internal/non_temporal_memcpy_test.cc +88 -0
  250. package/vendor/abseil-cpp/absl/debugging/BUILD.bazel +322 -0
  251. package/vendor/abseil-cpp/absl/debugging/CMakeLists.txt +294 -0
  252. package/vendor/abseil-cpp/absl/debugging/failure_signal_handler.cc +389 -0
  253. package/vendor/abseil-cpp/absl/debugging/failure_signal_handler.h +121 -0
  254. package/vendor/abseil-cpp/absl/debugging/failure_signal_handler_test.cc +165 -0
  255. package/vendor/abseil-cpp/absl/debugging/internal/address_is_readable.cc +96 -0
  256. package/vendor/abseil-cpp/absl/debugging/internal/address_is_readable.h +32 -0
  257. package/vendor/abseil-cpp/absl/debugging/internal/demangle.cc +1988 -0
  258. package/vendor/abseil-cpp/absl/debugging/internal/demangle.h +71 -0
  259. package/vendor/abseil-cpp/absl/debugging/internal/demangle_test.cc +243 -0
  260. package/vendor/abseil-cpp/absl/debugging/internal/elf_mem_image.cc +386 -0
  261. package/vendor/abseil-cpp/absl/debugging/internal/elf_mem_image.h +139 -0
  262. package/vendor/abseil-cpp/absl/debugging/internal/examine_stack.cc +317 -0
  263. package/vendor/abseil-cpp/absl/debugging/internal/examine_stack.h +64 -0
  264. package/vendor/abseil-cpp/absl/debugging/internal/stack_consumption.cc +185 -0
  265. package/vendor/abseil-cpp/absl/debugging/internal/stack_consumption.h +50 -0
  266. package/vendor/abseil-cpp/absl/debugging/internal/stack_consumption_test.cc +50 -0
  267. package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +206 -0
  268. package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_arm-inl.inc +139 -0
  269. package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_config.h +88 -0
  270. package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_emscripten-inl.inc +110 -0
  271. package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_generic-inl.inc +108 -0
  272. package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_powerpc-inl.inc +258 -0
  273. package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_riscv-inl.inc +191 -0
  274. package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_unimplemented-inl.inc +24 -0
  275. package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_win32-inl.inc +94 -0
  276. package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_x86-inl.inc +394 -0
  277. package/vendor/abseil-cpp/absl/debugging/internal/symbolize.h +153 -0
  278. package/vendor/abseil-cpp/absl/debugging/internal/vdso_support.cc +205 -0
  279. package/vendor/abseil-cpp/absl/debugging/internal/vdso_support.h +158 -0
  280. package/vendor/abseil-cpp/absl/debugging/leak_check.cc +73 -0
  281. package/vendor/abseil-cpp/absl/debugging/leak_check.h +150 -0
  282. package/vendor/abseil-cpp/absl/debugging/leak_check_fail_test.cc +41 -0
  283. package/vendor/abseil-cpp/absl/debugging/leak_check_test.cc +41 -0
  284. package/vendor/abseil-cpp/absl/debugging/stacktrace.cc +142 -0
  285. package/vendor/abseil-cpp/absl/debugging/stacktrace.h +231 -0
  286. package/vendor/abseil-cpp/absl/debugging/stacktrace_benchmark.cc +55 -0
  287. package/vendor/abseil-cpp/absl/debugging/stacktrace_test.cc +47 -0
  288. package/vendor/abseil-cpp/absl/debugging/symbolize.cc +43 -0
  289. package/vendor/abseil-cpp/absl/debugging/symbolize.h +99 -0
  290. package/vendor/abseil-cpp/absl/debugging/symbolize_darwin.inc +102 -0
  291. package/vendor/abseil-cpp/absl/debugging/symbolize_elf.inc +1637 -0
  292. package/vendor/abseil-cpp/absl/debugging/symbolize_emscripten.inc +72 -0
  293. package/vendor/abseil-cpp/absl/debugging/symbolize_test.cc +612 -0
  294. package/vendor/abseil-cpp/absl/debugging/symbolize_unimplemented.inc +40 -0
  295. package/vendor/abseil-cpp/absl/debugging/symbolize_win32.inc +82 -0
  296. package/vendor/abseil-cpp/absl/flags/BUILD.bazel +583 -0
  297. package/vendor/abseil-cpp/absl/flags/CMakeLists.txt +471 -0
  298. package/vendor/abseil-cpp/absl/flags/commandlineflag.cc +34 -0
  299. package/vendor/abseil-cpp/absl/flags/commandlineflag.h +200 -0
  300. package/vendor/abseil-cpp/absl/flags/commandlineflag_test.cc +231 -0
  301. package/vendor/abseil-cpp/absl/flags/config.h +68 -0
  302. package/vendor/abseil-cpp/absl/flags/config_test.cc +61 -0
  303. package/vendor/abseil-cpp/absl/flags/declare.h +73 -0
  304. package/vendor/abseil-cpp/absl/flags/flag.cc +38 -0
  305. package/vendor/abseil-cpp/absl/flags/flag.h +310 -0
  306. package/vendor/abseil-cpp/absl/flags/flag_benchmark.cc +251 -0
  307. package/vendor/abseil-cpp/absl/flags/flag_benchmark.lds +13 -0
  308. package/vendor/abseil-cpp/absl/flags/flag_test.cc +1166 -0
  309. package/vendor/abseil-cpp/absl/flags/flag_test_defs.cc +24 -0
  310. package/vendor/abseil-cpp/absl/flags/internal/commandlineflag.cc +26 -0
  311. package/vendor/abseil-cpp/absl/flags/internal/commandlineflag.h +68 -0
  312. package/vendor/abseil-cpp/absl/flags/internal/flag.cc +615 -0
  313. package/vendor/abseil-cpp/absl/flags/internal/flag.h +800 -0
  314. package/vendor/abseil-cpp/absl/flags/internal/flag_msvc.inc +116 -0
  315. package/vendor/abseil-cpp/absl/flags/internal/parse.h +63 -0
  316. package/vendor/abseil-cpp/absl/flags/internal/path_util.h +62 -0
  317. package/vendor/abseil-cpp/absl/flags/internal/path_util_test.cc +46 -0
  318. package/vendor/abseil-cpp/absl/flags/internal/private_handle_accessor.cc +65 -0
  319. package/vendor/abseil-cpp/absl/flags/internal/private_handle_accessor.h +61 -0
  320. package/vendor/abseil-cpp/absl/flags/internal/program_name.cc +60 -0
  321. package/vendor/abseil-cpp/absl/flags/internal/program_name.h +50 -0
  322. package/vendor/abseil-cpp/absl/flags/internal/program_name_test.cc +61 -0
  323. package/vendor/abseil-cpp/absl/flags/internal/registry.h +97 -0
  324. package/vendor/abseil-cpp/absl/flags/internal/sequence_lock.h +187 -0
  325. package/vendor/abseil-cpp/absl/flags/internal/sequence_lock_test.cc +169 -0
  326. package/vendor/abseil-cpp/absl/flags/internal/usage.cc +526 -0
  327. package/vendor/abseil-cpp/absl/flags/internal/usage.h +104 -0
  328. package/vendor/abseil-cpp/absl/flags/internal/usage_test.cc +504 -0
  329. package/vendor/abseil-cpp/absl/flags/marshalling.cc +241 -0
  330. package/vendor/abseil-cpp/absl/flags/marshalling.h +356 -0
  331. package/vendor/abseil-cpp/absl/flags/marshalling_test.cc +1070 -0
  332. package/vendor/abseil-cpp/absl/flags/parse.cc +890 -0
  333. package/vendor/abseil-cpp/absl/flags/parse.h +60 -0
  334. package/vendor/abseil-cpp/absl/flags/parse_test.cc +1004 -0
  335. package/vendor/abseil-cpp/absl/flags/reflection.cc +354 -0
  336. package/vendor/abseil-cpp/absl/flags/reflection.h +90 -0
  337. package/vendor/abseil-cpp/absl/flags/reflection_test.cc +265 -0
  338. package/vendor/abseil-cpp/absl/flags/usage.cc +65 -0
  339. package/vendor/abseil-cpp/absl/flags/usage.h +43 -0
  340. package/vendor/abseil-cpp/absl/flags/usage_config.cc +165 -0
  341. package/vendor/abseil-cpp/absl/flags/usage_config.h +135 -0
  342. package/vendor/abseil-cpp/absl/flags/usage_config_test.cc +205 -0
  343. package/vendor/abseil-cpp/absl/functional/BUILD.bazel +128 -0
  344. package/vendor/abseil-cpp/absl/functional/CMakeLists.txt +109 -0
  345. package/vendor/abseil-cpp/absl/functional/any_invocable.h +316 -0
  346. package/vendor/abseil-cpp/absl/functional/any_invocable_test.cc +1719 -0
  347. package/vendor/abseil-cpp/absl/functional/bind_front.h +193 -0
  348. package/vendor/abseil-cpp/absl/functional/bind_front_test.cc +231 -0
  349. package/vendor/abseil-cpp/absl/functional/function_ref.h +143 -0
  350. package/vendor/abseil-cpp/absl/functional/function_ref_test.cc +258 -0
  351. package/vendor/abseil-cpp/absl/functional/function_type_benchmark.cc +176 -0
  352. package/vendor/abseil-cpp/absl/functional/internal/any_invocable.h +878 -0
  353. package/vendor/abseil-cpp/absl/functional/internal/front_binder.h +95 -0
  354. package/vendor/abseil-cpp/absl/functional/internal/function_ref.h +106 -0
  355. package/vendor/abseil-cpp/absl/hash/BUILD.bazel +176 -0
  356. package/vendor/abseil-cpp/absl/hash/CMakeLists.txt +160 -0
  357. package/vendor/abseil-cpp/absl/hash/hash.h +421 -0
  358. package/vendor/abseil-cpp/absl/hash/hash_benchmark.cc +323 -0
  359. package/vendor/abseil-cpp/absl/hash/hash_test.cc +1277 -0
  360. package/vendor/abseil-cpp/absl/hash/hash_testing.h +378 -0
  361. package/vendor/abseil-cpp/absl/hash/internal/city.cc +349 -0
  362. package/vendor/abseil-cpp/absl/hash/internal/city.h +78 -0
  363. package/vendor/abseil-cpp/absl/hash/internal/city_test.cc +597 -0
  364. package/vendor/abseil-cpp/absl/hash/internal/hash.cc +69 -0
  365. package/vendor/abseil-cpp/absl/hash/internal/hash.h +1305 -0
  366. package/vendor/abseil-cpp/absl/hash/internal/low_level_hash.cc +112 -0
  367. package/vendor/abseil-cpp/absl/hash/internal/low_level_hash.h +50 -0
  368. package/vendor/abseil-cpp/absl/hash/internal/low_level_hash_test.cc +532 -0
  369. package/vendor/abseil-cpp/absl/hash/internal/print_hash_of.cc +23 -0
  370. package/vendor/abseil-cpp/absl/hash/internal/spy_hash_state.h +266 -0
  371. package/vendor/abseil-cpp/absl/log/BUILD.bazel +596 -0
  372. package/vendor/abseil-cpp/absl/log/CMakeLists.txt +1042 -0
  373. package/vendor/abseil-cpp/absl/log/absl_check.h +105 -0
  374. package/vendor/abseil-cpp/absl/log/absl_check_test.cc +58 -0
  375. package/vendor/abseil-cpp/absl/log/absl_log.h +94 -0
  376. package/vendor/abseil-cpp/absl/log/absl_log_basic_test.cc +21 -0
  377. package/vendor/abseil-cpp/absl/log/check.h +183 -0
  378. package/vendor/abseil-cpp/absl/log/check_test.cc +58 -0
  379. package/vendor/abseil-cpp/absl/log/check_test_impl.h +528 -0
  380. package/vendor/abseil-cpp/absl/log/die_if_null.cc +32 -0
  381. package/vendor/abseil-cpp/absl/log/die_if_null.h +76 -0
  382. package/vendor/abseil-cpp/absl/log/die_if_null_test.cc +107 -0
  383. package/vendor/abseil-cpp/absl/log/flags.cc +112 -0
  384. package/vendor/abseil-cpp/absl/log/flags.h +43 -0
  385. package/vendor/abseil-cpp/absl/log/flags_test.cc +184 -0
  386. package/vendor/abseil-cpp/absl/log/globals.cc +148 -0
  387. package/vendor/abseil-cpp/absl/log/globals.h +165 -0
  388. package/vendor/abseil-cpp/absl/log/globals_test.cc +91 -0
  389. package/vendor/abseil-cpp/absl/log/initialize.cc +34 -0
  390. package/vendor/abseil-cpp/absl/log/initialize.h +45 -0
  391. package/vendor/abseil-cpp/absl/log/internal/BUILD.bazel +383 -0
  392. package/vendor/abseil-cpp/absl/log/internal/append_truncated.h +47 -0
  393. package/vendor/abseil-cpp/absl/log/internal/check_impl.h +150 -0
  394. package/vendor/abseil-cpp/absl/log/internal/check_op.cc +118 -0
  395. package/vendor/abseil-cpp/absl/log/internal/check_op.h +392 -0
  396. package/vendor/abseil-cpp/absl/log/internal/conditions.cc +83 -0
  397. package/vendor/abseil-cpp/absl/log/internal/conditions.h +222 -0
  398. package/vendor/abseil-cpp/absl/log/internal/config.h +45 -0
  399. package/vendor/abseil-cpp/absl/log/internal/flags.h +53 -0
  400. package/vendor/abseil-cpp/absl/log/internal/globals.cc +125 -0
  401. package/vendor/abseil-cpp/absl/log/internal/globals.h +101 -0
  402. package/vendor/abseil-cpp/absl/log/internal/log_format.cc +203 -0
  403. package/vendor/abseil-cpp/absl/log/internal/log_format.h +78 -0
  404. package/vendor/abseil-cpp/absl/log/internal/log_impl.h +212 -0
  405. package/vendor/abseil-cpp/absl/log/internal/log_message.cc +618 -0
  406. package/vendor/abseil-cpp/absl/log/internal/log_message.h +355 -0
  407. package/vendor/abseil-cpp/absl/log/internal/log_sink_set.cc +296 -0
  408. package/vendor/abseil-cpp/absl/log/internal/log_sink_set.h +54 -0
  409. package/vendor/abseil-cpp/absl/log/internal/nullguard.cc +35 -0
  410. package/vendor/abseil-cpp/absl/log/internal/nullguard.h +88 -0
  411. package/vendor/abseil-cpp/absl/log/internal/nullstream.h +134 -0
  412. package/vendor/abseil-cpp/absl/log/internal/proto.cc +220 -0
  413. package/vendor/abseil-cpp/absl/log/internal/proto.h +288 -0
  414. package/vendor/abseil-cpp/absl/log/internal/stderr_log_sink_test.cc +105 -0
  415. package/vendor/abseil-cpp/absl/log/internal/strip.h +71 -0
  416. package/vendor/abseil-cpp/absl/log/internal/structured.h +58 -0
  417. package/vendor/abseil-cpp/absl/log/internal/test_actions.cc +75 -0
  418. package/vendor/abseil-cpp/absl/log/internal/test_actions.h +90 -0
  419. package/vendor/abseil-cpp/absl/log/internal/test_helpers.cc +82 -0
  420. package/vendor/abseil-cpp/absl/log/internal/test_helpers.h +71 -0
  421. package/vendor/abseil-cpp/absl/log/internal/test_matchers.cc +217 -0
  422. package/vendor/abseil-cpp/absl/log/internal/test_matchers.h +94 -0
  423. package/vendor/abseil-cpp/absl/log/internal/voidify.h +44 -0
  424. package/vendor/abseil-cpp/absl/log/log.h +308 -0
  425. package/vendor/abseil-cpp/absl/log/log_basic_test.cc +21 -0
  426. package/vendor/abseil-cpp/absl/log/log_basic_test_impl.h +455 -0
  427. package/vendor/abseil-cpp/absl/log/log_benchmark.cc +97 -0
  428. package/vendor/abseil-cpp/absl/log/log_entry.cc +29 -0
  429. package/vendor/abseil-cpp/absl/log/log_entry.h +220 -0
  430. package/vendor/abseil-cpp/absl/log/log_entry_test.cc +468 -0
  431. package/vendor/abseil-cpp/absl/log/log_format_test.cc +1872 -0
  432. package/vendor/abseil-cpp/absl/log/log_macro_hygiene_test.cc +187 -0
  433. package/vendor/abseil-cpp/absl/log/log_modifier_methods_test.cc +233 -0
  434. package/vendor/abseil-cpp/absl/log/log_sink.cc +23 -0
  435. package/vendor/abseil-cpp/absl/log/log_sink.h +64 -0
  436. package/vendor/abseil-cpp/absl/log/log_sink_registry.h +61 -0
  437. package/vendor/abseil-cpp/absl/log/log_sink_test.cc +419 -0
  438. package/vendor/abseil-cpp/absl/log/log_streamer.h +171 -0
  439. package/vendor/abseil-cpp/absl/log/log_streamer_test.cc +365 -0
  440. package/vendor/abseil-cpp/absl/log/scoped_mock_log.cc +86 -0
  441. package/vendor/abseil-cpp/absl/log/scoped_mock_log.h +194 -0
  442. package/vendor/abseil-cpp/absl/log/scoped_mock_log_test.cc +290 -0
  443. package/vendor/abseil-cpp/absl/log/stripping_test.cc +340 -0
  444. package/vendor/abseil-cpp/absl/log/structured.h +70 -0
  445. package/vendor/abseil-cpp/absl/log/structured_test.cc +63 -0
  446. package/vendor/abseil-cpp/absl/memory/BUILD.bazel +52 -0
  447. package/vendor/abseil-cpp/absl/memory/CMakeLists.txt +41 -0
  448. package/vendor/abseil-cpp/absl/memory/memory.h +278 -0
  449. package/vendor/abseil-cpp/absl/memory/memory_test.cc +222 -0
  450. package/vendor/abseil-cpp/absl/meta/BUILD.bazel +50 -0
  451. package/vendor/abseil-cpp/absl/meta/CMakeLists.txt +53 -0
  452. package/vendor/abseil-cpp/absl/meta/type_traits.h +889 -0
  453. package/vendor/abseil-cpp/absl/meta/type_traits_test.cc +1448 -0
  454. package/vendor/abseil-cpp/absl/numeric/BUILD.bazel +127 -0
  455. package/vendor/abseil-cpp/absl/numeric/CMakeLists.txt +99 -0
  456. package/vendor/abseil-cpp/absl/numeric/bits.h +177 -0
  457. package/vendor/abseil-cpp/absl/numeric/bits_benchmark.cc +73 -0
  458. package/vendor/abseil-cpp/absl/numeric/bits_test.cc +573 -0
  459. package/vendor/abseil-cpp/absl/numeric/int128.cc +387 -0
  460. package/vendor/abseil-cpp/absl/numeric/int128.h +1165 -0
  461. package/vendor/abseil-cpp/absl/numeric/int128_benchmark.cc +282 -0
  462. package/vendor/abseil-cpp/absl/numeric/int128_have_intrinsic.inc +296 -0
  463. package/vendor/abseil-cpp/absl/numeric/int128_no_intrinsic.inc +311 -0
  464. package/vendor/abseil-cpp/absl/numeric/int128_stream_test.cc +1393 -0
  465. package/vendor/abseil-cpp/absl/numeric/int128_test.cc +1261 -0
  466. package/vendor/abseil-cpp/absl/numeric/internal/bits.h +358 -0
  467. package/vendor/abseil-cpp/absl/numeric/internal/representation.h +55 -0
  468. package/vendor/abseil-cpp/absl/profiling/BUILD.bazel +129 -0
  469. package/vendor/abseil-cpp/absl/profiling/CMakeLists.txt +93 -0
  470. package/vendor/abseil-cpp/absl/profiling/internal/exponential_biased.cc +93 -0
  471. package/vendor/abseil-cpp/absl/profiling/internal/exponential_biased.h +130 -0
  472. package/vendor/abseil-cpp/absl/profiling/internal/exponential_biased_test.cc +203 -0
  473. package/vendor/abseil-cpp/absl/profiling/internal/periodic_sampler.cc +53 -0
  474. package/vendor/abseil-cpp/absl/profiling/internal/periodic_sampler.h +211 -0
  475. package/vendor/abseil-cpp/absl/profiling/internal/periodic_sampler_benchmark.cc +79 -0
  476. package/vendor/abseil-cpp/absl/profiling/internal/periodic_sampler_test.cc +177 -0
  477. package/vendor/abseil-cpp/absl/profiling/internal/sample_recorder.h +253 -0
  478. package/vendor/abseil-cpp/absl/profiling/internal/sample_recorder_test.cc +184 -0
  479. package/vendor/abseil-cpp/absl/random/BUILD.bazel +517 -0
  480. package/vendor/abseil-cpp/absl/random/CMakeLists.txt +1216 -0
  481. package/vendor/abseil-cpp/absl/random/benchmarks.cc +383 -0
  482. package/vendor/abseil-cpp/absl/random/bernoulli_distribution.h +200 -0
  483. package/vendor/abseil-cpp/absl/random/bernoulli_distribution_test.cc +217 -0
  484. package/vendor/abseil-cpp/absl/random/beta_distribution.h +427 -0
  485. package/vendor/abseil-cpp/absl/random/beta_distribution_test.cc +620 -0
  486. package/vendor/abseil-cpp/absl/random/bit_gen_ref.h +185 -0
  487. package/vendor/abseil-cpp/absl/random/bit_gen_ref_test.cc +102 -0
  488. package/vendor/abseil-cpp/absl/random/discrete_distribution.cc +98 -0
  489. package/vendor/abseil-cpp/absl/random/discrete_distribution.h +247 -0
  490. package/vendor/abseil-cpp/absl/random/discrete_distribution_test.cc +251 -0
  491. package/vendor/abseil-cpp/absl/random/distributions.h +452 -0
  492. package/vendor/abseil-cpp/absl/random/distributions_test.cc +466 -0
  493. package/vendor/abseil-cpp/absl/random/examples_test.cc +99 -0
  494. package/vendor/abseil-cpp/absl/random/exponential_distribution.h +165 -0
  495. package/vendor/abseil-cpp/absl/random/exponential_distribution_test.cc +428 -0
  496. package/vendor/abseil-cpp/absl/random/gaussian_distribution.cc +104 -0
  497. package/vendor/abseil-cpp/absl/random/gaussian_distribution.h +275 -0
  498. package/vendor/abseil-cpp/absl/random/gaussian_distribution_test.cc +563 -0
  499. package/vendor/abseil-cpp/absl/random/generators_test.cc +185 -0
  500. package/vendor/abseil-cpp/absl/random/internal/BUILD.bazel +753 -0
  501. package/vendor/abseil-cpp/absl/random/internal/chi_square.cc +233 -0
  502. package/vendor/abseil-cpp/absl/random/internal/chi_square.h +89 -0
  503. package/vendor/abseil-cpp/absl/random/internal/chi_square_test.cc +365 -0
  504. package/vendor/abseil-cpp/absl/random/internal/distribution_caller.h +95 -0
  505. package/vendor/abseil-cpp/absl/random/internal/distribution_test_util.cc +418 -0
  506. package/vendor/abseil-cpp/absl/random/internal/distribution_test_util.h +113 -0
  507. package/vendor/abseil-cpp/absl/random/internal/distribution_test_util_test.cc +193 -0
  508. package/vendor/abseil-cpp/absl/random/internal/explicit_seed_seq.h +92 -0
  509. package/vendor/abseil-cpp/absl/random/internal/explicit_seed_seq_test.cc +237 -0
  510. package/vendor/abseil-cpp/absl/random/internal/fast_uniform_bits.h +270 -0
  511. package/vendor/abseil-cpp/absl/random/internal/fast_uniform_bits_test.cc +336 -0
  512. package/vendor/abseil-cpp/absl/random/internal/fastmath.h +57 -0
  513. package/vendor/abseil-cpp/absl/random/internal/fastmath_test.cc +97 -0
  514. package/vendor/abseil-cpp/absl/random/internal/gaussian_distribution_gentables.cc +143 -0
  515. package/vendor/abseil-cpp/absl/random/internal/generate_real.h +144 -0
  516. package/vendor/abseil-cpp/absl/random/internal/generate_real_test.cc +496 -0
  517. package/vendor/abseil-cpp/absl/random/internal/iostream_state_saver.h +245 -0
  518. package/vendor/abseil-cpp/absl/random/internal/iostream_state_saver_test.cc +372 -0
  519. package/vendor/abseil-cpp/absl/random/internal/mock_helpers.h +135 -0
  520. package/vendor/abseil-cpp/absl/random/internal/mock_overload_set.h +100 -0
  521. package/vendor/abseil-cpp/absl/random/internal/nanobenchmark.cc +804 -0
  522. package/vendor/abseil-cpp/absl/random/internal/nanobenchmark.h +172 -0
  523. package/vendor/abseil-cpp/absl/random/internal/nanobenchmark_test.cc +77 -0
  524. package/vendor/abseil-cpp/absl/random/internal/nonsecure_base.h +161 -0
  525. package/vendor/abseil-cpp/absl/random/internal/nonsecure_base_test.cc +227 -0
  526. package/vendor/abseil-cpp/absl/random/internal/pcg_engine.h +287 -0
  527. package/vendor/abseil-cpp/absl/random/internal/pcg_engine_test.cc +638 -0
  528. package/vendor/abseil-cpp/absl/random/internal/platform.h +171 -0
  529. package/vendor/abseil-cpp/absl/random/internal/pool_urbg.cc +253 -0
  530. package/vendor/abseil-cpp/absl/random/internal/pool_urbg.h +131 -0
  531. package/vendor/abseil-cpp/absl/random/internal/pool_urbg_test.cc +182 -0
  532. package/vendor/abseil-cpp/absl/random/internal/randen.cc +91 -0
  533. package/vendor/abseil-cpp/absl/random/internal/randen.h +96 -0
  534. package/vendor/abseil-cpp/absl/random/internal/randen_benchmarks.cc +174 -0
  535. package/vendor/abseil-cpp/absl/random/internal/randen_detect.cc +225 -0
  536. package/vendor/abseil-cpp/absl/random/internal/randen_detect.h +33 -0
  537. package/vendor/abseil-cpp/absl/random/internal/randen_engine.h +264 -0
  538. package/vendor/abseil-cpp/absl/random/internal/randen_engine_test.cc +656 -0
  539. package/vendor/abseil-cpp/absl/random/internal/randen_hwaes.cc +526 -0
  540. package/vendor/abseil-cpp/absl/random/internal/randen_hwaes.h +50 -0
  541. package/vendor/abseil-cpp/absl/random/internal/randen_hwaes_test.cc +99 -0
  542. package/vendor/abseil-cpp/absl/random/internal/randen_round_keys.cc +462 -0
  543. package/vendor/abseil-cpp/absl/random/internal/randen_slow.cc +471 -0
  544. package/vendor/abseil-cpp/absl/random/internal/randen_slow.h +40 -0
  545. package/vendor/abseil-cpp/absl/random/internal/randen_slow_test.cc +61 -0
  546. package/vendor/abseil-cpp/absl/random/internal/randen_test.cc +75 -0
  547. package/vendor/abseil-cpp/absl/random/internal/randen_traits.h +88 -0
  548. package/vendor/abseil-cpp/absl/random/internal/salted_seed_seq.h +165 -0
  549. package/vendor/abseil-cpp/absl/random/internal/salted_seed_seq_test.cc +168 -0
  550. package/vendor/abseil-cpp/absl/random/internal/seed_material.cc +267 -0
  551. package/vendor/abseil-cpp/absl/random/internal/seed_material.h +104 -0
  552. package/vendor/abseil-cpp/absl/random/internal/seed_material_test.cc +202 -0
  553. package/vendor/abseil-cpp/absl/random/internal/sequence_urbg.h +60 -0
  554. package/vendor/abseil-cpp/absl/random/internal/traits.h +149 -0
  555. package/vendor/abseil-cpp/absl/random/internal/traits_test.cc +126 -0
  556. package/vendor/abseil-cpp/absl/random/internal/uniform_helper.h +244 -0
  557. package/vendor/abseil-cpp/absl/random/internal/uniform_helper_test.cc +279 -0
  558. package/vendor/abseil-cpp/absl/random/internal/wide_multiply.h +96 -0
  559. package/vendor/abseil-cpp/absl/random/internal/wide_multiply_test.cc +119 -0
  560. package/vendor/abseil-cpp/absl/random/log_uniform_int_distribution.h +256 -0
  561. package/vendor/abseil-cpp/absl/random/log_uniform_int_distribution_test.cc +280 -0
  562. package/vendor/abseil-cpp/absl/random/mock_distributions.h +266 -0
  563. package/vendor/abseil-cpp/absl/random/mock_distributions_test.cc +72 -0
  564. package/vendor/abseil-cpp/absl/random/mocking_bit_gen.h +240 -0
  565. package/vendor/abseil-cpp/absl/random/mocking_bit_gen_test.cc +394 -0
  566. package/vendor/abseil-cpp/absl/random/poisson_distribution.h +261 -0
  567. package/vendor/abseil-cpp/absl/random/poisson_distribution_test.cc +573 -0
  568. package/vendor/abseil-cpp/absl/random/random.h +189 -0
  569. package/vendor/abseil-cpp/absl/random/seed_gen_exception.cc +46 -0
  570. package/vendor/abseil-cpp/absl/random/seed_gen_exception.h +55 -0
  571. package/vendor/abseil-cpp/absl/random/seed_sequences.cc +29 -0
  572. package/vendor/abseil-cpp/absl/random/seed_sequences.h +111 -0
  573. package/vendor/abseil-cpp/absl/random/seed_sequences_test.cc +126 -0
  574. package/vendor/abseil-cpp/absl/random/uniform_int_distribution.h +275 -0
  575. package/vendor/abseil-cpp/absl/random/uniform_int_distribution_test.cc +260 -0
  576. package/vendor/abseil-cpp/absl/random/uniform_real_distribution.h +202 -0
  577. package/vendor/abseil-cpp/absl/random/uniform_real_distribution_test.cc +395 -0
  578. package/vendor/abseil-cpp/absl/random/zipf_distribution.h +272 -0
  579. package/vendor/abseil-cpp/absl/random/zipf_distribution_test.cc +427 -0
  580. package/vendor/abseil-cpp/absl/status/BUILD.bazel +109 -0
  581. package/vendor/abseil-cpp/absl/status/CMakeLists.txt +91 -0
  582. package/vendor/abseil-cpp/absl/status/internal/status_internal.h +87 -0
  583. package/vendor/abseil-cpp/absl/status/internal/statusor_internal.h +396 -0
  584. package/vendor/abseil-cpp/absl/status/status.cc +623 -0
  585. package/vendor/abseil-cpp/absl/status/status.h +892 -0
  586. package/vendor/abseil-cpp/absl/status/status_payload_printer.cc +38 -0
  587. package/vendor/abseil-cpp/absl/status/status_payload_printer.h +51 -0
  588. package/vendor/abseil-cpp/absl/status/status_test.cc +509 -0
  589. package/vendor/abseil-cpp/absl/status/statusor.cc +103 -0
  590. package/vendor/abseil-cpp/absl/status/statusor.h +776 -0
  591. package/vendor/abseil-cpp/absl/status/statusor_test.cc +1847 -0
  592. package/vendor/abseil-cpp/absl/strings/BUILD.bazel +1319 -0
  593. package/vendor/abseil-cpp/absl/strings/CMakeLists.txt +1119 -0
  594. package/vendor/abseil-cpp/absl/strings/ascii.cc +200 -0
  595. package/vendor/abseil-cpp/absl/strings/ascii.h +242 -0
  596. package/vendor/abseil-cpp/absl/strings/ascii_benchmark.cc +120 -0
  597. package/vendor/abseil-cpp/absl/strings/ascii_test.cc +357 -0
  598. package/vendor/abseil-cpp/absl/strings/atod_manual_test.cc +193 -0
  599. package/vendor/abseil-cpp/absl/strings/charconv.cc +1422 -0
  600. package/vendor/abseil-cpp/absl/strings/charconv.h +120 -0
  601. package/vendor/abseil-cpp/absl/strings/charconv_benchmark.cc +204 -0
  602. package/vendor/abseil-cpp/absl/strings/charconv_test.cc +782 -0
  603. package/vendor/abseil-cpp/absl/strings/cord.cc +1380 -0
  604. package/vendor/abseil-cpp/absl/strings/cord.h +1633 -0
  605. package/vendor/abseil-cpp/absl/strings/cord_analysis.cc +188 -0
  606. package/vendor/abseil-cpp/absl/strings/cord_analysis.h +44 -0
  607. package/vendor/abseil-cpp/absl/strings/cord_buffer.cc +30 -0
  608. package/vendor/abseil-cpp/absl/strings/cord_buffer.h +575 -0
  609. package/vendor/abseil-cpp/absl/strings/cord_buffer_test.cc +320 -0
  610. package/vendor/abseil-cpp/absl/strings/cord_ring_reader_test.cc +180 -0
  611. package/vendor/abseil-cpp/absl/strings/cord_ring_test.cc +1454 -0
  612. package/vendor/abseil-cpp/absl/strings/cord_test.cc +3125 -0
  613. package/vendor/abseil-cpp/absl/strings/cord_test_helpers.h +122 -0
  614. package/vendor/abseil-cpp/absl/strings/cordz_test.cc +466 -0
  615. package/vendor/abseil-cpp/absl/strings/cordz_test_helpers.h +151 -0
  616. package/vendor/abseil-cpp/absl/strings/escaping.cc +960 -0
  617. package/vendor/abseil-cpp/absl/strings/escaping.h +169 -0
  618. package/vendor/abseil-cpp/absl/strings/escaping_benchmark.cc +94 -0
  619. package/vendor/abseil-cpp/absl/strings/escaping_test.cc +706 -0
  620. package/vendor/abseil-cpp/absl/strings/internal/char_map.h +158 -0
  621. package/vendor/abseil-cpp/absl/strings/internal/char_map_benchmark.cc +61 -0
  622. package/vendor/abseil-cpp/absl/strings/internal/char_map_test.cc +172 -0
  623. package/vendor/abseil-cpp/absl/strings/internal/charconv_bigint.cc +359 -0
  624. package/vendor/abseil-cpp/absl/strings/internal/charconv_bigint.h +423 -0
  625. package/vendor/abseil-cpp/absl/strings/internal/charconv_bigint_test.cc +260 -0
  626. package/vendor/abseil-cpp/absl/strings/internal/charconv_parse.cc +504 -0
  627. package/vendor/abseil-cpp/absl/strings/internal/charconv_parse.h +99 -0
  628. package/vendor/abseil-cpp/absl/strings/internal/charconv_parse_test.cc +357 -0
  629. package/vendor/abseil-cpp/absl/strings/internal/cord_data_edge.h +63 -0
  630. package/vendor/abseil-cpp/absl/strings/internal/cord_data_edge_test.cc +130 -0
  631. package/vendor/abseil-cpp/absl/strings/internal/cord_internal.cc +77 -0
  632. package/vendor/abseil-cpp/absl/strings/internal/cord_internal.h +915 -0
  633. package/vendor/abseil-cpp/absl/strings/internal/cord_rep_btree.cc +1232 -0
  634. package/vendor/abseil-cpp/absl/strings/internal/cord_rep_btree.h +936 -0
  635. package/vendor/abseil-cpp/absl/strings/internal/cord_rep_btree_navigator.cc +187 -0
  636. package/vendor/abseil-cpp/absl/strings/internal/cord_rep_btree_navigator.h +267 -0
  637. package/vendor/abseil-cpp/absl/strings/internal/cord_rep_btree_navigator_test.cc +346 -0
  638. package/vendor/abseil-cpp/absl/strings/internal/cord_rep_btree_reader.cc +69 -0
  639. package/vendor/abseil-cpp/absl/strings/internal/cord_rep_btree_reader.h +212 -0
  640. package/vendor/abseil-cpp/absl/strings/internal/cord_rep_btree_reader_test.cc +293 -0
  641. package/vendor/abseil-cpp/absl/strings/internal/cord_rep_btree_test.cc +1568 -0
  642. package/vendor/abseil-cpp/absl/strings/internal/cord_rep_consume.cc +62 -0
  643. package/vendor/abseil-cpp/absl/strings/internal/cord_rep_consume.h +50 -0
  644. package/vendor/abseil-cpp/absl/strings/internal/cord_rep_crc.cc +56 -0
  645. package/vendor/abseil-cpp/absl/strings/internal/cord_rep_crc.h +103 -0
  646. package/vendor/abseil-cpp/absl/strings/internal/cord_rep_crc_test.cc +130 -0
  647. package/vendor/abseil-cpp/absl/strings/internal/cord_rep_flat.h +187 -0
  648. package/vendor/abseil-cpp/absl/strings/internal/cord_rep_ring.cc +773 -0
  649. package/vendor/abseil-cpp/absl/strings/internal/cord_rep_ring.h +607 -0
  650. package/vendor/abseil-cpp/absl/strings/internal/cord_rep_ring_reader.h +118 -0
  651. package/vendor/abseil-cpp/absl/strings/internal/cord_rep_test_util.h +205 -0
  652. package/vendor/abseil-cpp/absl/strings/internal/cordz_functions.cc +96 -0
  653. package/vendor/abseil-cpp/absl/strings/internal/cordz_functions.h +77 -0
  654. package/vendor/abseil-cpp/absl/strings/internal/cordz_functions_test.cc +149 -0
  655. package/vendor/abseil-cpp/absl/strings/internal/cordz_handle.cc +139 -0
  656. package/vendor/abseil-cpp/absl/strings/internal/cordz_handle.h +131 -0
  657. package/vendor/abseil-cpp/absl/strings/internal/cordz_handle_test.cc +265 -0
  658. package/vendor/abseil-cpp/absl/strings/internal/cordz_info.cc +421 -0
  659. package/vendor/abseil-cpp/absl/strings/internal/cordz_info.h +298 -0
  660. package/vendor/abseil-cpp/absl/strings/internal/cordz_info_statistics_test.cc +557 -0
  661. package/vendor/abseil-cpp/absl/strings/internal/cordz_info_test.cc +342 -0
  662. package/vendor/abseil-cpp/absl/strings/internal/cordz_sample_token.cc +64 -0
  663. package/vendor/abseil-cpp/absl/strings/internal/cordz_sample_token.h +97 -0
  664. package/vendor/abseil-cpp/absl/strings/internal/cordz_sample_token_test.cc +208 -0
  665. package/vendor/abseil-cpp/absl/strings/internal/cordz_statistics.h +88 -0
  666. package/vendor/abseil-cpp/absl/strings/internal/cordz_update_scope.h +71 -0
  667. package/vendor/abseil-cpp/absl/strings/internal/cordz_update_scope_test.cc +49 -0
  668. package/vendor/abseil-cpp/absl/strings/internal/cordz_update_tracker.h +123 -0
  669. package/vendor/abseil-cpp/absl/strings/internal/cordz_update_tracker_test.cc +147 -0
  670. package/vendor/abseil-cpp/absl/strings/internal/damerau_levenshtein_distance.cc +93 -0
  671. package/vendor/abseil-cpp/absl/strings/internal/damerau_levenshtein_distance.h +34 -0
  672. package/vendor/abseil-cpp/absl/strings/internal/damerau_levenshtein_distance_test.cc +99 -0
  673. package/vendor/abseil-cpp/absl/strings/internal/escaping.cc +183 -0
  674. package/vendor/abseil-cpp/absl/strings/internal/escaping.h +56 -0
  675. package/vendor/abseil-cpp/absl/strings/internal/escaping_test_common.h +133 -0
  676. package/vendor/abseil-cpp/absl/strings/internal/has_absl_stringify.h +55 -0
  677. package/vendor/abseil-cpp/absl/strings/internal/memutil.cc +115 -0
  678. package/vendor/abseil-cpp/absl/strings/internal/memutil.h +148 -0
  679. package/vendor/abseil-cpp/absl/strings/internal/memutil_benchmark.cc +323 -0
  680. package/vendor/abseil-cpp/absl/strings/internal/memutil_test.cc +179 -0
  681. package/vendor/abseil-cpp/absl/strings/internal/numbers_test_common.h +184 -0
  682. package/vendor/abseil-cpp/absl/strings/internal/ostringstream.cc +43 -0
  683. package/vendor/abseil-cpp/absl/strings/internal/ostringstream.h +114 -0
  684. package/vendor/abseil-cpp/absl/strings/internal/ostringstream_benchmark.cc +106 -0
  685. package/vendor/abseil-cpp/absl/strings/internal/ostringstream_test.cc +131 -0
  686. package/vendor/abseil-cpp/absl/strings/internal/pow10_helper.cc +122 -0
  687. package/vendor/abseil-cpp/absl/strings/internal/pow10_helper.h +40 -0
  688. package/vendor/abseil-cpp/absl/strings/internal/pow10_helper_test.cc +122 -0
  689. package/vendor/abseil-cpp/absl/strings/internal/resize_uninitialized.h +119 -0
  690. package/vendor/abseil-cpp/absl/strings/internal/resize_uninitialized_test.cc +133 -0
  691. package/vendor/abseil-cpp/absl/strings/internal/stl_type_traits.h +248 -0
  692. package/vendor/abseil-cpp/absl/strings/internal/str_format/arg.cc +555 -0
  693. package/vendor/abseil-cpp/absl/strings/internal/str_format/arg.h +623 -0
  694. package/vendor/abseil-cpp/absl/strings/internal/str_format/arg_test.cc +130 -0
  695. package/vendor/abseil-cpp/absl/strings/internal/str_format/bind.cc +259 -0
  696. package/vendor/abseil-cpp/absl/strings/internal/str_format/bind.h +249 -0
  697. package/vendor/abseil-cpp/absl/strings/internal/str_format/bind_test.cc +157 -0
  698. package/vendor/abseil-cpp/absl/strings/internal/str_format/checker.h +100 -0
  699. package/vendor/abseil-cpp/absl/strings/internal/str_format/checker_test.cc +176 -0
  700. package/vendor/abseil-cpp/absl/strings/internal/str_format/constexpr_parser.h +351 -0
  701. package/vendor/abseil-cpp/absl/strings/internal/str_format/convert_test.cc +1257 -0
  702. package/vendor/abseil-cpp/absl/strings/internal/str_format/extension.cc +75 -0
  703. package/vendor/abseil-cpp/absl/strings/internal/str_format/extension.h +450 -0
  704. package/vendor/abseil-cpp/absl/strings/internal/str_format/extension_test.cc +109 -0
  705. package/vendor/abseil-cpp/absl/strings/internal/str_format/float_conversion.cc +1457 -0
  706. package/vendor/abseil-cpp/absl/strings/internal/str_format/float_conversion.h +37 -0
  707. package/vendor/abseil-cpp/absl/strings/internal/str_format/output.cc +72 -0
  708. package/vendor/abseil-cpp/absl/strings/internal/str_format/output.h +97 -0
  709. package/vendor/abseil-cpp/absl/strings/internal/str_format/output_test.cc +79 -0
  710. package/vendor/abseil-cpp/absl/strings/internal/str_format/parser.cc +140 -0
  711. package/vendor/abseil-cpp/absl/strings/internal/str_format/parser.h +268 -0
  712. package/vendor/abseil-cpp/absl/strings/internal/str_format/parser_test.cc +438 -0
  713. package/vendor/abseil-cpp/absl/strings/internal/str_join_internal.h +317 -0
  714. package/vendor/abseil-cpp/absl/strings/internal/str_split_internal.h +431 -0
  715. package/vendor/abseil-cpp/absl/strings/internal/string_constant.h +72 -0
  716. package/vendor/abseil-cpp/absl/strings/internal/string_constant_test.cc +60 -0
  717. package/vendor/abseil-cpp/absl/strings/internal/stringify_sink.cc +28 -0
  718. package/vendor/abseil-cpp/absl/strings/internal/stringify_sink.h +57 -0
  719. package/vendor/abseil-cpp/absl/strings/internal/utf8.cc +53 -0
  720. package/vendor/abseil-cpp/absl/strings/internal/utf8.h +50 -0
  721. package/vendor/abseil-cpp/absl/strings/internal/utf8_test.cc +66 -0
  722. package/vendor/abseil-cpp/absl/strings/match.cc +43 -0
  723. package/vendor/abseil-cpp/absl/strings/match.h +100 -0
  724. package/vendor/abseil-cpp/absl/strings/match_test.cc +127 -0
  725. package/vendor/abseil-cpp/absl/strings/numbers.cc +1096 -0
  726. package/vendor/abseil-cpp/absl/strings/numbers.h +303 -0
  727. package/vendor/abseil-cpp/absl/strings/numbers_benchmark.cc +286 -0
  728. package/vendor/abseil-cpp/absl/strings/numbers_test.cc +1722 -0
  729. package/vendor/abseil-cpp/absl/strings/str_cat.cc +249 -0
  730. package/vendor/abseil-cpp/absl/strings/str_cat.h +462 -0
  731. package/vendor/abseil-cpp/absl/strings/str_cat_benchmark.cc +187 -0
  732. package/vendor/abseil-cpp/absl/strings/str_cat_test.cc +665 -0
  733. package/vendor/abseil-cpp/absl/strings/str_format.h +874 -0
  734. package/vendor/abseil-cpp/absl/strings/str_format_test.cc +1212 -0
  735. package/vendor/abseil-cpp/absl/strings/str_join.h +287 -0
  736. package/vendor/abseil-cpp/absl/strings/str_join_benchmark.cc +97 -0
  737. package/vendor/abseil-cpp/absl/strings/str_join_test.cc +608 -0
  738. package/vendor/abseil-cpp/absl/strings/str_replace.cc +82 -0
  739. package/vendor/abseil-cpp/absl/strings/str_replace.h +219 -0
  740. package/vendor/abseil-cpp/absl/strings/str_replace_benchmark.cc +122 -0
  741. package/vendor/abseil-cpp/absl/strings/str_replace_test.cc +341 -0
  742. package/vendor/abseil-cpp/absl/strings/str_split.cc +139 -0
  743. package/vendor/abseil-cpp/absl/strings/str_split.h +547 -0
  744. package/vendor/abseil-cpp/absl/strings/str_split_benchmark.cc +180 -0
  745. package/vendor/abseil-cpp/absl/strings/str_split_test.cc +981 -0
  746. package/vendor/abseil-cpp/absl/strings/string_view.cc +219 -0
  747. package/vendor/abseil-cpp/absl/strings/string_view.h +704 -0
  748. package/vendor/abseil-cpp/absl/strings/string_view_benchmark.cc +381 -0
  749. package/vendor/abseil-cpp/absl/strings/string_view_test.cc +1308 -0
  750. package/vendor/abseil-cpp/absl/strings/strip.h +93 -0
  751. package/vendor/abseil-cpp/absl/strings/strip_test.cc +198 -0
  752. package/vendor/abseil-cpp/absl/strings/substitute.cc +174 -0
  753. package/vendor/abseil-cpp/absl/strings/substitute.h +755 -0
  754. package/vendor/abseil-cpp/absl/strings/substitute_test.cc +285 -0
  755. package/vendor/abseil-cpp/absl/synchronization/BUILD.bazel +333 -0
  756. package/vendor/abseil-cpp/absl/synchronization/CMakeLists.txt +235 -0
  757. package/vendor/abseil-cpp/absl/synchronization/barrier.cc +52 -0
  758. package/vendor/abseil-cpp/absl/synchronization/barrier.h +79 -0
  759. package/vendor/abseil-cpp/absl/synchronization/barrier_test.cc +75 -0
  760. package/vendor/abseil-cpp/absl/synchronization/blocking_counter.cc +67 -0
  761. package/vendor/abseil-cpp/absl/synchronization/blocking_counter.h +101 -0
  762. package/vendor/abseil-cpp/absl/synchronization/blocking_counter_benchmark.cc +83 -0
  763. package/vendor/abseil-cpp/absl/synchronization/blocking_counter_test.cc +80 -0
  764. package/vendor/abseil-cpp/absl/synchronization/internal/create_thread_identity.cc +143 -0
  765. package/vendor/abseil-cpp/absl/synchronization/internal/create_thread_identity.h +56 -0
  766. package/vendor/abseil-cpp/absl/synchronization/internal/futex.h +157 -0
  767. package/vendor/abseil-cpp/absl/synchronization/internal/graphcycles.cc +704 -0
  768. package/vendor/abseil-cpp/absl/synchronization/internal/graphcycles.h +141 -0
  769. package/vendor/abseil-cpp/absl/synchronization/internal/graphcycles_benchmark.cc +44 -0
  770. package/vendor/abseil-cpp/absl/synchronization/internal/graphcycles_test.cc +464 -0
  771. package/vendor/abseil-cpp/absl/synchronization/internal/kernel_timeout.h +170 -0
  772. package/vendor/abseil-cpp/absl/synchronization/internal/per_thread_sem.cc +102 -0
  773. package/vendor/abseil-cpp/absl/synchronization/internal/per_thread_sem.h +110 -0
  774. package/vendor/abseil-cpp/absl/synchronization/internal/per_thread_sem_test.cc +190 -0
  775. package/vendor/abseil-cpp/absl/synchronization/internal/thread_pool.h +96 -0
  776. package/vendor/abseil-cpp/absl/synchronization/internal/waiter.cc +403 -0
  777. package/vendor/abseil-cpp/absl/synchronization/internal/waiter.h +161 -0
  778. package/vendor/abseil-cpp/absl/synchronization/lifetime_test.cc +181 -0
  779. package/vendor/abseil-cpp/absl/synchronization/mutex.cc +2835 -0
  780. package/vendor/abseil-cpp/absl/synchronization/mutex.h +1129 -0
  781. package/vendor/abseil-cpp/absl/synchronization/mutex_benchmark.cc +310 -0
  782. package/vendor/abseil-cpp/absl/synchronization/mutex_method_pointer_test.cc +138 -0
  783. package/vendor/abseil-cpp/absl/synchronization/mutex_test.cc +1733 -0
  784. package/vendor/abseil-cpp/absl/synchronization/notification.cc +77 -0
  785. package/vendor/abseil-cpp/absl/synchronization/notification.h +123 -0
  786. package/vendor/abseil-cpp/absl/synchronization/notification_test.cc +133 -0
  787. package/vendor/abseil-cpp/absl/time/BUILD.bazel +148 -0
  788. package/vendor/abseil-cpp/absl/time/CMakeLists.txt +140 -0
  789. package/vendor/abseil-cpp/absl/time/civil_time.cc +199 -0
  790. package/vendor/abseil-cpp/absl/time/civil_time.h +563 -0
  791. package/vendor/abseil-cpp/absl/time/civil_time_benchmark.cc +127 -0
  792. package/vendor/abseil-cpp/absl/time/civil_time_test.cc +1243 -0
  793. package/vendor/abseil-cpp/absl/time/clock.cc +591 -0
  794. package/vendor/abseil-cpp/absl/time/clock.h +74 -0
  795. package/vendor/abseil-cpp/absl/time/clock_benchmark.cc +74 -0
  796. package/vendor/abseil-cpp/absl/time/clock_test.cc +122 -0
  797. package/vendor/abseil-cpp/absl/time/duration.cc +955 -0
  798. package/vendor/abseil-cpp/absl/time/duration_benchmark.cc +444 -0
  799. package/vendor/abseil-cpp/absl/time/duration_test.cc +1856 -0
  800. package/vendor/abseil-cpp/absl/time/flag_test.cc +147 -0
  801. package/vendor/abseil-cpp/absl/time/format.cc +161 -0
  802. package/vendor/abseil-cpp/absl/time/format_benchmark.cc +64 -0
  803. package/vendor/abseil-cpp/absl/time/format_test.cc +441 -0
  804. package/vendor/abseil-cpp/absl/time/internal/cctz/BUILD.bazel +159 -0
  805. package/vendor/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time.h +332 -0
  806. package/vendor/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time_detail.h +632 -0
  807. package/vendor/abseil-cpp/absl/time/internal/cctz/include/cctz/time_zone.h +459 -0
  808. package/vendor/abseil-cpp/absl/time/internal/cctz/include/cctz/zone_info_source.h +102 -0
  809. package/vendor/abseil-cpp/absl/time/internal/cctz/src/cctz_benchmark.cc +1033 -0
  810. package/vendor/abseil-cpp/absl/time/internal/cctz/src/civil_time_detail.cc +94 -0
  811. package/vendor/abseil-cpp/absl/time/internal/cctz/src/civil_time_test.cc +1066 -0
  812. package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.cc +140 -0
  813. package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.h +52 -0
  814. package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc +1029 -0
  815. package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_format_test.cc +1688 -0
  816. package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.cc +45 -0
  817. package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.h +77 -0
  818. package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.cc +113 -0
  819. package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.h +93 -0
  820. package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.cc +1048 -0
  821. package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.h +137 -0
  822. package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.cc +315 -0
  823. package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.h +55 -0
  824. package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc +237 -0
  825. package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup_test.cc +1504 -0
  826. package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_posix.cc +159 -0
  827. package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_posix.h +132 -0
  828. package/vendor/abseil-cpp/absl/time/internal/cctz/src/tzfile.h +122 -0
  829. package/vendor/abseil-cpp/absl/time/internal/cctz/src/zone_info_source.cc +116 -0
  830. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/README.zoneinfo +38 -0
  831. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/version +1 -0
  832. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Abidjan +0 -0
  833. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Accra +0 -0
  834. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Addis_Ababa +0 -0
  835. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Algiers +0 -0
  836. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Asmara +0 -0
  837. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Asmera +0 -0
  838. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Bamako +0 -0
  839. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Bangui +0 -0
  840. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Banjul +0 -0
  841. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Bissau +0 -0
  842. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Blantyre +0 -0
  843. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Brazzaville +0 -0
  844. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Bujumbura +0 -0
  845. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Cairo +0 -0
  846. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Casablanca +0 -0
  847. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Ceuta +0 -0
  848. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Conakry +0 -0
  849. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Dakar +0 -0
  850. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Dar_es_Salaam +0 -0
  851. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Djibouti +0 -0
  852. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Douala +0 -0
  853. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/El_Aaiun +0 -0
  854. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Freetown +0 -0
  855. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Gaborone +0 -0
  856. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Harare +0 -0
  857. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Johannesburg +0 -0
  858. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Juba +0 -0
  859. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Kampala +0 -0
  860. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Khartoum +0 -0
  861. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Kigali +0 -0
  862. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Kinshasa +0 -0
  863. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Lagos +0 -0
  864. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Libreville +0 -0
  865. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Lome +0 -0
  866. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Luanda +0 -0
  867. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Lubumbashi +0 -0
  868. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Lusaka +0 -0
  869. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Malabo +0 -0
  870. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Maputo +0 -0
  871. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Maseru +0 -0
  872. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Mbabane +0 -0
  873. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Mogadishu +0 -0
  874. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Monrovia +0 -0
  875. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Nairobi +0 -0
  876. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Ndjamena +0 -0
  877. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Niamey +0 -0
  878. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Nouakchott +0 -0
  879. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Ouagadougou +0 -0
  880. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Porto-Novo +0 -0
  881. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Sao_Tome +0 -0
  882. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Timbuktu +0 -0
  883. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Tripoli +0 -0
  884. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Tunis +0 -0
  885. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Windhoek +0 -0
  886. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Adak +0 -0
  887. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Anchorage +0 -0
  888. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Anguilla +0 -0
  889. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Antigua +0 -0
  890. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Araguaina +0 -0
  891. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Buenos_Aires +0 -0
  892. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Catamarca +0 -0
  893. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/ComodRivadavia +0 -0
  894. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Cordoba +0 -0
  895. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Jujuy +0 -0
  896. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/La_Rioja +0 -0
  897. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Mendoza +0 -0
  898. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Rio_Gallegos +0 -0
  899. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Salta +0 -0
  900. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/San_Juan +0 -0
  901. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/San_Luis +0 -0
  902. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Tucuman +0 -0
  903. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Ushuaia +0 -0
  904. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Aruba +0 -0
  905. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Asuncion +0 -0
  906. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Atikokan +0 -0
  907. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Atka +0 -0
  908. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Bahia +0 -0
  909. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Bahia_Banderas +0 -0
  910. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Barbados +0 -0
  911. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Belem +0 -0
  912. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Belize +0 -0
  913. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Blanc-Sablon +0 -0
  914. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Boa_Vista +0 -0
  915. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Bogota +0 -0
  916. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Boise +0 -0
  917. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Buenos_Aires +0 -0
  918. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Cambridge_Bay +0 -0
  919. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Campo_Grande +0 -0
  920. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Cancun +0 -0
  921. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Caracas +0 -0
  922. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Catamarca +0 -0
  923. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Cayenne +0 -0
  924. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Cayman +0 -0
  925. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Chicago +0 -0
  926. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Chihuahua +0 -0
  927. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Ciudad_Juarez +0 -0
  928. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Coral_Harbour +0 -0
  929. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Cordoba +0 -0
  930. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Costa_Rica +0 -0
  931. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Creston +0 -0
  932. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Cuiaba +0 -0
  933. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Curacao +0 -0
  934. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Danmarkshavn +0 -0
  935. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Dawson +0 -0
  936. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Dawson_Creek +0 -0
  937. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Denver +0 -0
  938. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Detroit +0 -0
  939. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Dominica +0 -0
  940. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Edmonton +0 -0
  941. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Eirunepe +0 -0
  942. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/El_Salvador +0 -0
  943. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Ensenada +0 -0
  944. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Fort_Nelson +0 -0
  945. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Fort_Wayne +0 -0
  946. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Fortaleza +0 -0
  947. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Glace_Bay +0 -0
  948. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Godthab +0 -0
  949. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Goose_Bay +0 -0
  950. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Grand_Turk +0 -0
  951. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Grenada +0 -0
  952. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Guadeloupe +0 -0
  953. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Guatemala +0 -0
  954. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Guayaquil +0 -0
  955. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Guyana +0 -0
  956. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Halifax +0 -0
  957. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Havana +0 -0
  958. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Hermosillo +0 -0
  959. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Indianapolis +0 -0
  960. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Knox +0 -0
  961. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Marengo +0 -0
  962. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Petersburg +0 -0
  963. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Tell_City +0 -0
  964. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Vevay +0 -0
  965. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Vincennes +0 -0
  966. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Winamac +0 -0
  967. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indianapolis +0 -0
  968. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Inuvik +0 -0
  969. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Iqaluit +0 -0
  970. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Jamaica +0 -0
  971. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Jujuy +0 -0
  972. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Juneau +0 -0
  973. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Kentucky/Louisville +0 -0
  974. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Kentucky/Monticello +0 -0
  975. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Knox_IN +0 -0
  976. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Kralendijk +0 -0
  977. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/La_Paz +0 -0
  978. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Lima +0 -0
  979. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Los_Angeles +0 -0
  980. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Louisville +0 -0
  981. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Lower_Princes +0 -0
  982. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Maceio +0 -0
  983. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Managua +0 -0
  984. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Manaus +0 -0
  985. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Marigot +0 -0
  986. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Martinique +0 -0
  987. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Matamoros +0 -0
  988. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Mazatlan +0 -0
  989. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Mendoza +0 -0
  990. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Menominee +0 -0
  991. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Merida +0 -0
  992. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Metlakatla +0 -0
  993. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Mexico_City +0 -0
  994. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Miquelon +0 -0
  995. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Moncton +0 -0
  996. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Monterrey +0 -0
  997. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Montevideo +0 -0
  998. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Montreal +0 -0
  999. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Montserrat +0 -0
  1000. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Nassau +0 -0
  1001. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/New_York +0 -0
  1002. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Nipigon +0 -0
  1003. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Nome +0 -0
  1004. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Noronha +0 -0
  1005. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/North_Dakota/Beulah +0 -0
  1006. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/North_Dakota/Center +0 -0
  1007. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/North_Dakota/New_Salem +0 -0
  1008. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Nuuk +0 -0
  1009. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Ojinaga +0 -0
  1010. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Panama +0 -0
  1011. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Pangnirtung +0 -0
  1012. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Paramaribo +0 -0
  1013. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Phoenix +0 -0
  1014. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Port-au-Prince +0 -0
  1015. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Port_of_Spain +0 -0
  1016. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Porto_Acre +0 -0
  1017. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Porto_Velho +0 -0
  1018. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Puerto_Rico +0 -0
  1019. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Punta_Arenas +0 -0
  1020. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Rainy_River +0 -0
  1021. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Rankin_Inlet +0 -0
  1022. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Recife +0 -0
  1023. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Regina +0 -0
  1024. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Resolute +0 -0
  1025. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Rio_Branco +0 -0
  1026. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Rosario +0 -0
  1027. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Santa_Isabel +0 -0
  1028. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Santarem +0 -0
  1029. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Santiago +0 -0
  1030. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Santo_Domingo +0 -0
  1031. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Sao_Paulo +0 -0
  1032. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Scoresbysund +0 -0
  1033. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Shiprock +0 -0
  1034. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Sitka +0 -0
  1035. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/St_Barthelemy +0 -0
  1036. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/St_Johns +0 -0
  1037. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/St_Kitts +0 -0
  1038. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/St_Lucia +0 -0
  1039. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/St_Thomas +0 -0
  1040. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/St_Vincent +0 -0
  1041. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Swift_Current +0 -0
  1042. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Tegucigalpa +0 -0
  1043. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Thule +0 -0
  1044. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Thunder_Bay +0 -0
  1045. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Tijuana +0 -0
  1046. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Toronto +0 -0
  1047. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Tortola +0 -0
  1048. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Vancouver +0 -0
  1049. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Virgin +0 -0
  1050. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Whitehorse +0 -0
  1051. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Winnipeg +0 -0
  1052. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Yakutat +0 -0
  1053. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Yellowknife +0 -0
  1054. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Casey +0 -0
  1055. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Davis +0 -0
  1056. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/DumontDUrville +0 -0
  1057. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Macquarie +0 -0
  1058. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Mawson +0 -0
  1059. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/McMurdo +0 -0
  1060. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Palmer +0 -0
  1061. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Rothera +0 -0
  1062. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/South_Pole +0 -0
  1063. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Syowa +0 -0
  1064. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Troll +0 -0
  1065. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Vostok +0 -0
  1066. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Arctic/Longyearbyen +0 -0
  1067. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Aden +0 -0
  1068. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Almaty +0 -0
  1069. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Amman +0 -0
  1070. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Anadyr +0 -0
  1071. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Aqtau +0 -0
  1072. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Aqtobe +0 -0
  1073. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ashgabat +0 -0
  1074. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ashkhabad +0 -0
  1075. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Atyrau +0 -0
  1076. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Baghdad +0 -0
  1077. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Bahrain +0 -0
  1078. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Baku +0 -0
  1079. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Bangkok +0 -0
  1080. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Barnaul +0 -0
  1081. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Beirut +0 -0
  1082. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Bishkek +0 -0
  1083. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Brunei +0 -0
  1084. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Calcutta +0 -0
  1085. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Chita +0 -0
  1086. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Choibalsan +0 -0
  1087. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Chongqing +0 -0
  1088. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Chungking +0 -0
  1089. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Colombo +0 -0
  1090. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Dacca +0 -0
  1091. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Damascus +0 -0
  1092. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Dhaka +0 -0
  1093. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Dili +0 -0
  1094. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Dubai +0 -0
  1095. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Dushanbe +0 -0
  1096. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Famagusta +0 -0
  1097. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Gaza +0 -0
  1098. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Harbin +0 -0
  1099. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Hebron +0 -0
  1100. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ho_Chi_Minh +0 -0
  1101. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Hong_Kong +0 -0
  1102. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Hovd +0 -0
  1103. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Irkutsk +0 -0
  1104. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Istanbul +0 -0
  1105. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Jakarta +0 -0
  1106. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Jayapura +0 -0
  1107. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Jerusalem +0 -0
  1108. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kabul +0 -0
  1109. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kamchatka +0 -0
  1110. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Karachi +0 -0
  1111. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kashgar +0 -0
  1112. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kathmandu +0 -0
  1113. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Katmandu +0 -0
  1114. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Khandyga +0 -0
  1115. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kolkata +0 -0
  1116. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Krasnoyarsk +0 -0
  1117. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kuala_Lumpur +0 -0
  1118. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kuching +0 -0
  1119. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kuwait +0 -0
  1120. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Macao +0 -0
  1121. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Macau +0 -0
  1122. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Magadan +0 -0
  1123. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Makassar +0 -0
  1124. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Manila +0 -0
  1125. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Muscat +0 -0
  1126. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Nicosia +0 -0
  1127. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Novokuznetsk +0 -0
  1128. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Novosibirsk +0 -0
  1129. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Omsk +0 -0
  1130. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Oral +0 -0
  1131. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Phnom_Penh +0 -0
  1132. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Pontianak +0 -0
  1133. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Pyongyang +0 -0
  1134. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Qatar +0 -0
  1135. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Qostanay +0 -0
  1136. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Qyzylorda +0 -0
  1137. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Rangoon +0 -0
  1138. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Riyadh +0 -0
  1139. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Saigon +0 -0
  1140. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Sakhalin +0 -0
  1141. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Samarkand +0 -0
  1142. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Seoul +0 -0
  1143. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Shanghai +0 -0
  1144. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Singapore +0 -0
  1145. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Srednekolymsk +0 -0
  1146. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Taipei +0 -0
  1147. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tashkent +0 -0
  1148. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tbilisi +0 -0
  1149. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tehran +0 -0
  1150. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tel_Aviv +0 -0
  1151. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Thimbu +0 -0
  1152. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Thimphu +0 -0
  1153. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tokyo +0 -0
  1154. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tomsk +0 -0
  1155. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ujung_Pandang +0 -0
  1156. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ulaanbaatar +0 -0
  1157. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ulan_Bator +0 -0
  1158. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Urumqi +0 -0
  1159. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ust-Nera +0 -0
  1160. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Vientiane +0 -0
  1161. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Vladivostok +0 -0
  1162. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Yakutsk +0 -0
  1163. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Yangon +0 -0
  1164. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Yekaterinburg +0 -0
  1165. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Yerevan +0 -0
  1166. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Azores +0 -0
  1167. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Bermuda +0 -0
  1168. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Canary +0 -0
  1169. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Cape_Verde +0 -0
  1170. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Faeroe +0 -0
  1171. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Faroe +0 -0
  1172. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Jan_Mayen +0 -0
  1173. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Madeira +0 -0
  1174. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Reykjavik +0 -0
  1175. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/South_Georgia +0 -0
  1176. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/St_Helena +0 -0
  1177. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Stanley +0 -0
  1178. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/ACT +0 -0
  1179. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Adelaide +0 -0
  1180. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Brisbane +0 -0
  1181. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Broken_Hill +0 -0
  1182. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Canberra +0 -0
  1183. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Currie +0 -0
  1184. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Darwin +0 -0
  1185. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Eucla +0 -0
  1186. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Hobart +0 -0
  1187. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/LHI +0 -0
  1188. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Lindeman +0 -0
  1189. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Lord_Howe +0 -0
  1190. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Melbourne +0 -0
  1191. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/NSW +0 -0
  1192. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/North +0 -0
  1193. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Perth +0 -0
  1194. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Queensland +0 -0
  1195. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/South +0 -0
  1196. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Sydney +0 -0
  1197. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Tasmania +0 -0
  1198. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Victoria +0 -0
  1199. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/West +0 -0
  1200. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Yancowinna +0 -0
  1201. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Brazil/Acre +0 -0
  1202. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Brazil/DeNoronha +0 -0
  1203. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Brazil/East +0 -0
  1204. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Brazil/West +0 -0
  1205. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/CET +0 -0
  1206. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/CST6CDT +0 -0
  1207. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Canada/Atlantic +0 -0
  1208. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Canada/Central +0 -0
  1209. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Canada/Eastern +0 -0
  1210. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Canada/Mountain +0 -0
  1211. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Canada/Newfoundland +0 -0
  1212. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Canada/Pacific +0 -0
  1213. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Canada/Saskatchewan +0 -0
  1214. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Canada/Yukon +0 -0
  1215. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Chile/Continental +0 -0
  1216. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Chile/EasterIsland +0 -0
  1217. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Cuba +0 -0
  1218. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/EET +0 -0
  1219. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/EST +0 -0
  1220. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/EST5EDT +0 -0
  1221. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Egypt +0 -0
  1222. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Eire +0 -0
  1223. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT +0 -0
  1224. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+0 +0 -0
  1225. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+1 +0 -0
  1226. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+10 +0 -0
  1227. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+11 +0 -0
  1228. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+12 +0 -0
  1229. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+2 +0 -0
  1230. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+3 +0 -0
  1231. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+4 +0 -0
  1232. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+5 +0 -0
  1233. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+6 +0 -0
  1234. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+7 +0 -0
  1235. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+8 +0 -0
  1236. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+9 +0 -0
  1237. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-0 +0 -0
  1238. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-1 +0 -0
  1239. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-10 +0 -0
  1240. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-11 +0 -0
  1241. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-12 +0 -0
  1242. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-13 +0 -0
  1243. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-14 +0 -0
  1244. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-2 +0 -0
  1245. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-3 +0 -0
  1246. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-4 +0 -0
  1247. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-5 +0 -0
  1248. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-6 +0 -0
  1249. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-7 +0 -0
  1250. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-8 +0 -0
  1251. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-9 +0 -0
  1252. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT0 +0 -0
  1253. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/Greenwich +0 -0
  1254. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/UCT +0 -0
  1255. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/UTC +0 -0
  1256. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/Universal +0 -0
  1257. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/Zulu +0 -0
  1258. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Amsterdam +0 -0
  1259. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Andorra +0 -0
  1260. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Astrakhan +0 -0
  1261. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Athens +0 -0
  1262. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Belfast +0 -0
  1263. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Belgrade +0 -0
  1264. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Berlin +0 -0
  1265. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Bratislava +0 -0
  1266. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Brussels +0 -0
  1267. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Bucharest +0 -0
  1268. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Budapest +0 -0
  1269. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Busingen +0 -0
  1270. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Chisinau +0 -0
  1271. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Copenhagen +0 -0
  1272. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Dublin +0 -0
  1273. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Gibraltar +0 -0
  1274. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Guernsey +0 -0
  1275. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Helsinki +0 -0
  1276. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Isle_of_Man +0 -0
  1277. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Istanbul +0 -0
  1278. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Jersey +0 -0
  1279. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Kaliningrad +0 -0
  1280. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Kiev +0 -0
  1281. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Kirov +0 -0
  1282. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Kyiv +0 -0
  1283. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Lisbon +0 -0
  1284. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Ljubljana +0 -0
  1285. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/London +0 -0
  1286. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Luxembourg +0 -0
  1287. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Madrid +0 -0
  1288. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Malta +0 -0
  1289. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Mariehamn +0 -0
  1290. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Minsk +0 -0
  1291. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Monaco +0 -0
  1292. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Moscow +0 -0
  1293. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Nicosia +0 -0
  1294. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Oslo +0 -0
  1295. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Paris +0 -0
  1296. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Podgorica +0 -0
  1297. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Prague +0 -0
  1298. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Riga +0 -0
  1299. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Rome +0 -0
  1300. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Samara +0 -0
  1301. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/San_Marino +0 -0
  1302. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Sarajevo +0 -0
  1303. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Saratov +0 -0
  1304. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Simferopol +0 -0
  1305. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Skopje +0 -0
  1306. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Sofia +0 -0
  1307. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Stockholm +0 -0
  1308. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Tallinn +0 -0
  1309. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Tirane +0 -0
  1310. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Tiraspol +0 -0
  1311. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Ulyanovsk +0 -0
  1312. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Uzhgorod +0 -0
  1313. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Vaduz +0 -0
  1314. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Vatican +0 -0
  1315. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Vienna +0 -0
  1316. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Vilnius +0 -0
  1317. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Volgograd +0 -0
  1318. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Warsaw +0 -0
  1319. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Zagreb +0 -0
  1320. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Zaporozhye +0 -0
  1321. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Zurich +0 -0
  1322. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Factory +0 -0
  1323. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/GB +0 -0
  1324. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/GB-Eire +0 -0
  1325. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/GMT +0 -0
  1326. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/GMT+0 +0 -0
  1327. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/GMT-0 +0 -0
  1328. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/GMT0 +0 -0
  1329. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Greenwich +0 -0
  1330. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/HST +0 -0
  1331. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Hongkong +0 -0
  1332. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Iceland +0 -0
  1333. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Antananarivo +0 -0
  1334. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Chagos +0 -0
  1335. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Christmas +0 -0
  1336. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Cocos +0 -0
  1337. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Comoro +0 -0
  1338. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Kerguelen +0 -0
  1339. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Mahe +0 -0
  1340. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Maldives +0 -0
  1341. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Mauritius +0 -0
  1342. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Mayotte +0 -0
  1343. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Reunion +0 -0
  1344. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Iran +0 -0
  1345. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Israel +0 -0
  1346. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Jamaica +0 -0
  1347. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Japan +0 -0
  1348. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Kwajalein +0 -0
  1349. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Libya +0 -0
  1350. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/MET +0 -0
  1351. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/MST +0 -0
  1352. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/MST7MDT +0 -0
  1353. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Mexico/BajaNorte +0 -0
  1354. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Mexico/BajaSur +0 -0
  1355. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Mexico/General +0 -0
  1356. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/NZ +0 -0
  1357. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/NZ-CHAT +0 -0
  1358. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Navajo +0 -0
  1359. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/PRC +0 -0
  1360. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/PST8PDT +0 -0
  1361. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Apia +0 -0
  1362. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Auckland +0 -0
  1363. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Bougainville +0 -0
  1364. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Chatham +0 -0
  1365. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Chuuk +0 -0
  1366. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Easter +0 -0
  1367. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Efate +0 -0
  1368. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Enderbury +0 -0
  1369. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Fakaofo +0 -0
  1370. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Fiji +0 -0
  1371. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Funafuti +0 -0
  1372. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Galapagos +0 -0
  1373. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Gambier +0 -0
  1374. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Guadalcanal +0 -0
  1375. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Guam +0 -0
  1376. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Honolulu +0 -0
  1377. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Johnston +0 -0
  1378. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Kanton +0 -0
  1379. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Kiritimati +0 -0
  1380. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Kosrae +0 -0
  1381. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Kwajalein +0 -0
  1382. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Majuro +0 -0
  1383. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Marquesas +0 -0
  1384. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Midway +0 -0
  1385. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Nauru +0 -0
  1386. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Niue +0 -0
  1387. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Norfolk +0 -0
  1388. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Noumea +0 -0
  1389. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Pago_Pago +0 -0
  1390. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Palau +0 -0
  1391. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Pitcairn +0 -0
  1392. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Pohnpei +0 -0
  1393. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Ponape +0 -0
  1394. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Port_Moresby +0 -0
  1395. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Rarotonga +0 -0
  1396. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Saipan +0 -0
  1397. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Samoa +0 -0
  1398. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Tahiti +0 -0
  1399. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Tarawa +0 -0
  1400. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Tongatapu +0 -0
  1401. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Truk +0 -0
  1402. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Wake +0 -0
  1403. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Wallis +0 -0
  1404. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Yap +0 -0
  1405. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Poland +0 -0
  1406. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Portugal +0 -0
  1407. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/ROC +0 -0
  1408. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/ROK +0 -0
  1409. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Singapore +0 -0
  1410. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Turkey +0 -0
  1411. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/UCT +0 -0
  1412. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Alaska +0 -0
  1413. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Aleutian +0 -0
  1414. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Arizona +0 -0
  1415. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Central +0 -0
  1416. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/East-Indiana +0 -0
  1417. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Eastern +0 -0
  1418. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Hawaii +0 -0
  1419. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Indiana-Starke +0 -0
  1420. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Michigan +0 -0
  1421. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Mountain +0 -0
  1422. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Pacific +0 -0
  1423. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Samoa +0 -0
  1424. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/UTC +0 -0
  1425. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Universal +0 -0
  1426. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/W-SU +0 -0
  1427. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/WET +0 -0
  1428. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Zulu +0 -0
  1429. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/iso3166.tab +274 -0
  1430. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/zone1970.tab +372 -0
  1431. package/vendor/abseil-cpp/absl/time/internal/get_current_time_chrono.inc +31 -0
  1432. package/vendor/abseil-cpp/absl/time/internal/get_current_time_posix.inc +24 -0
  1433. package/vendor/abseil-cpp/absl/time/internal/test_util.cc +32 -0
  1434. package/vendor/abseil-cpp/absl/time/internal/test_util.h +33 -0
  1435. package/vendor/abseil-cpp/absl/time/time.cc +500 -0
  1436. package/vendor/abseil-cpp/absl/time/time.h +1715 -0
  1437. package/vendor/abseil-cpp/absl/time/time_benchmark.cc +321 -0
  1438. package/vendor/abseil-cpp/absl/time/time_test.cc +1290 -0
  1439. package/vendor/abseil-cpp/absl/time/time_zone_test.cc +97 -0
  1440. package/vendor/abseil-cpp/absl/types/BUILD.bazel +336 -0
  1441. package/vendor/abseil-cpp/absl/types/CMakeLists.txt +371 -0
  1442. package/vendor/abseil-cpp/absl/types/any.h +517 -0
  1443. package/vendor/abseil-cpp/absl/types/any_exception_safety_test.cc +173 -0
  1444. package/vendor/abseil-cpp/absl/types/any_test.cc +778 -0
  1445. package/vendor/abseil-cpp/absl/types/bad_any_cast.cc +46 -0
  1446. package/vendor/abseil-cpp/absl/types/bad_any_cast.h +75 -0
  1447. package/vendor/abseil-cpp/absl/types/bad_optional_access.cc +48 -0
  1448. package/vendor/abseil-cpp/absl/types/bad_optional_access.h +78 -0
  1449. package/vendor/abseil-cpp/absl/types/bad_variant_access.cc +64 -0
  1450. package/vendor/abseil-cpp/absl/types/bad_variant_access.h +82 -0
  1451. package/vendor/abseil-cpp/absl/types/compare.h +599 -0
  1452. package/vendor/abseil-cpp/absl/types/compare_test.cc +389 -0
  1453. package/vendor/abseil-cpp/absl/types/internal/conformance_aliases.h +447 -0
  1454. package/vendor/abseil-cpp/absl/types/internal/conformance_archetype.h +978 -0
  1455. package/vendor/abseil-cpp/absl/types/internal/conformance_profile.h +933 -0
  1456. package/vendor/abseil-cpp/absl/types/internal/conformance_testing.h +1386 -0
  1457. package/vendor/abseil-cpp/absl/types/internal/conformance_testing_helpers.h +391 -0
  1458. package/vendor/abseil-cpp/absl/types/internal/conformance_testing_test.cc +1556 -0
  1459. package/vendor/abseil-cpp/absl/types/internal/optional.h +404 -0
  1460. package/vendor/abseil-cpp/absl/types/internal/parentheses.h +34 -0
  1461. package/vendor/abseil-cpp/absl/types/internal/span.h +139 -0
  1462. package/vendor/abseil-cpp/absl/types/internal/transform_args.h +246 -0
  1463. package/vendor/abseil-cpp/absl/types/internal/variant.h +1634 -0
  1464. package/vendor/abseil-cpp/absl/types/optional.h +779 -0
  1465. package/vendor/abseil-cpp/absl/types/optional_exception_safety_test.cc +292 -0
  1466. package/vendor/abseil-cpp/absl/types/optional_test.cc +1675 -0
  1467. package/vendor/abseil-cpp/absl/types/span.h +749 -0
  1468. package/vendor/abseil-cpp/absl/types/span_test.cc +848 -0
  1469. package/vendor/abseil-cpp/absl/types/variant.h +866 -0
  1470. package/vendor/abseil-cpp/absl/types/variant_benchmark.cc +222 -0
  1471. package/vendor/abseil-cpp/absl/types/variant_exception_safety_test.cc +532 -0
  1472. package/vendor/abseil-cpp/absl/types/variant_test.cc +2718 -0
  1473. package/vendor/abseil-cpp/absl/utility/BUILD.bazel +54 -0
  1474. package/vendor/abseil-cpp/absl/utility/CMakeLists.txt +44 -0
  1475. package/vendor/abseil-cpp/absl/utility/utility.h +350 -0
  1476. package/vendor/abseil-cpp/absl/utility/utility_test.cc +376 -0
  1477. package/vendor/abseil-cpp/ci/absl_alternate_options.h +29 -0
  1478. package/vendor/abseil-cpp/ci/cmake_common.sh +25 -0
  1479. package/vendor/abseil-cpp/ci/cmake_install_test.sh +58 -0
  1480. package/vendor/abseil-cpp/ci/linux_clang-latest_libcxx_asan_bazel.sh +102 -0
  1481. package/vendor/abseil-cpp/ci/linux_clang-latest_libcxx_bazel.sh +100 -0
  1482. package/vendor/abseil-cpp/ci/linux_clang-latest_libcxx_tsan_bazel.sh +97 -0
  1483. package/vendor/abseil-cpp/ci/linux_clang-latest_libstdcxx_bazel.sh +95 -0
  1484. package/vendor/abseil-cpp/ci/linux_docker_containers.sh +21 -0
  1485. package/vendor/abseil-cpp/ci/linux_gcc-floor_libstdcxx_bazel.sh +92 -0
  1486. package/vendor/abseil-cpp/ci/linux_gcc-latest_libstdcxx_bazel.sh +98 -0
  1487. package/vendor/abseil-cpp/ci/linux_gcc-latest_libstdcxx_cmake.sh +66 -0
  1488. package/vendor/abseil-cpp/ci/linux_gcc_alpine_cmake.sh +65 -0
  1489. package/vendor/abseil-cpp/ci/macos_xcode_bazel.sh +65 -0
  1490. package/vendor/abseil-cpp/ci/macos_xcode_cmake.sh +57 -0
  1491. package/vendor/abseil-cpp/conanfile.py +51 -0
  1492. package/vendor/abseil-cpp/create_lts.py +133 -0
@@ -0,0 +1,1715 @@
1
+ // Copyright 2017 The Abseil Authors.
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // https://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+ //
15
+ // -----------------------------------------------------------------------------
16
+ // File: time.h
17
+ // -----------------------------------------------------------------------------
18
+ //
19
+ // This header file defines abstractions for computing with absolute points
20
+ // in time, durations of time, and formatting and parsing time within a given
21
+ // time zone. The following abstractions are defined:
22
+ //
23
+ // * `absl::Time` defines an absolute, specific instance in time
24
+ // * `absl::Duration` defines a signed, fixed-length span of time
25
+ // * `absl::TimeZone` defines geopolitical time zone regions (as collected
26
+ // within the IANA Time Zone database (https://www.iana.org/time-zones)).
27
+ //
28
+ // Note: Absolute times are distinct from civil times, which refer to the
29
+ // human-scale time commonly represented by `YYYY-MM-DD hh:mm:ss`. The mapping
30
+ // between absolute and civil times can be specified by use of time zones
31
+ // (`absl::TimeZone` within this API). That is:
32
+ //
33
+ // Civil Time = F(Absolute Time, Time Zone)
34
+ // Absolute Time = G(Civil Time, Time Zone)
35
+ //
36
+ // See civil_time.h for abstractions related to constructing and manipulating
37
+ // civil time.
38
+ //
39
+ // Example:
40
+ //
41
+ // absl::TimeZone nyc;
42
+ // // LoadTimeZone() may fail so it's always better to check for success.
43
+ // if (!absl::LoadTimeZone("America/New_York", &nyc)) {
44
+ // // handle error case
45
+ // }
46
+ //
47
+ // // My flight leaves NYC on Jan 2, 2017 at 03:04:05
48
+ // absl::CivilSecond cs(2017, 1, 2, 3, 4, 5);
49
+ // absl::Time takeoff = absl::FromCivil(cs, nyc);
50
+ //
51
+ // absl::Duration flight_duration = absl::Hours(21) + absl::Minutes(35);
52
+ // absl::Time landing = takeoff + flight_duration;
53
+ //
54
+ // absl::TimeZone syd;
55
+ // if (!absl::LoadTimeZone("Australia/Sydney", &syd)) {
56
+ // // handle error case
57
+ // }
58
+ // std::string s = absl::FormatTime(
59
+ // "My flight will land in Sydney on %Y-%m-%d at %H:%M:%S",
60
+ // landing, syd);
61
+
62
+ #ifndef ABSL_TIME_TIME_H_
63
+ #define ABSL_TIME_TIME_H_
64
+
65
+ #if !defined(_MSC_VER)
66
+ #include <sys/time.h>
67
+ #else
68
+ // We don't include `winsock2.h` because it drags in `windows.h` and friends,
69
+ // and they define conflicting macros like OPAQUE, ERROR, and more. This has the
70
+ // potential to break Abseil users.
71
+ //
72
+ // Instead we only forward declare `timeval` and require Windows users include
73
+ // `winsock2.h` themselves. This is both inconsistent and troublesome, but so is
74
+ // including 'windows.h' so we are picking the lesser of two evils here.
75
+ struct timeval;
76
+ #endif
77
+ #include <chrono> // NOLINT(build/c++11)
78
+ #include <cmath>
79
+ #include <cstdint>
80
+ #include <ctime>
81
+ #include <limits>
82
+ #include <ostream>
83
+ #include <string>
84
+ #include <type_traits>
85
+ #include <utility>
86
+
87
+ #include "absl/base/macros.h"
88
+ #include "absl/strings/string_view.h"
89
+ #include "absl/time/civil_time.h"
90
+ #include "absl/time/internal/cctz/include/cctz/time_zone.h"
91
+
92
+ namespace absl {
93
+ ABSL_NAMESPACE_BEGIN
94
+
95
+ class Duration; // Defined below
96
+ class Time; // Defined below
97
+ class TimeZone; // Defined below
98
+
99
+ namespace time_internal {
100
+ int64_t IDivDuration(bool satq, Duration num, Duration den, Duration* rem);
101
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Time FromUnixDuration(Duration d);
102
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Duration ToUnixDuration(Time t);
103
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr int64_t GetRepHi(Duration d);
104
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr uint32_t GetRepLo(Duration d);
105
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Duration MakeDuration(int64_t hi,
106
+ uint32_t lo);
107
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Duration MakeDuration(int64_t hi,
108
+ int64_t lo);
109
+ ABSL_ATTRIBUTE_CONST_FUNCTION inline Duration MakePosDoubleDuration(double n);
110
+ constexpr int64_t kTicksPerNanosecond = 4;
111
+ constexpr int64_t kTicksPerSecond = 1000 * 1000 * 1000 * kTicksPerNanosecond;
112
+ template <std::intmax_t N>
113
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Duration FromInt64(int64_t v,
114
+ std::ratio<1, N>);
115
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Duration FromInt64(int64_t v,
116
+ std::ratio<60>);
117
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Duration FromInt64(int64_t v,
118
+ std::ratio<3600>);
119
+ template <typename T>
120
+ using EnableIfIntegral = typename std::enable_if<
121
+ std::is_integral<T>::value || std::is_enum<T>::value, int>::type;
122
+ template <typename T>
123
+ using EnableIfFloat =
124
+ typename std::enable_if<std::is_floating_point<T>::value, int>::type;
125
+ } // namespace time_internal
126
+
127
+ // Duration
128
+ //
129
+ // The `absl::Duration` class represents a signed, fixed-length amount of time.
130
+ // A `Duration` is generated using a unit-specific factory function, or is
131
+ // the result of subtracting one `absl::Time` from another. Durations behave
132
+ // like unit-safe integers and they support all the natural integer-like
133
+ // arithmetic operations. Arithmetic overflows and saturates at +/- infinity.
134
+ // `Duration` should be passed by value rather than const reference.
135
+ //
136
+ // Factory functions `Nanoseconds()`, `Microseconds()`, `Milliseconds()`,
137
+ // `Seconds()`, `Minutes()`, `Hours()` and `InfiniteDuration()` allow for
138
+ // creation of constexpr `Duration` values
139
+ //
140
+ // Examples:
141
+ //
142
+ // constexpr absl::Duration ten_ns = absl::Nanoseconds(10);
143
+ // constexpr absl::Duration min = absl::Minutes(1);
144
+ // constexpr absl::Duration hour = absl::Hours(1);
145
+ // absl::Duration dur = 60 * min; // dur == hour
146
+ // absl::Duration half_sec = absl::Milliseconds(500);
147
+ // absl::Duration quarter_sec = 0.25 * absl::Seconds(1);
148
+ //
149
+ // `Duration` values can be easily converted to an integral number of units
150
+ // using the division operator.
151
+ //
152
+ // Example:
153
+ //
154
+ // constexpr absl::Duration dur = absl::Milliseconds(1500);
155
+ // int64_t ns = dur / absl::Nanoseconds(1); // ns == 1500000000
156
+ // int64_t ms = dur / absl::Milliseconds(1); // ms == 1500
157
+ // int64_t sec = dur / absl::Seconds(1); // sec == 1 (subseconds truncated)
158
+ // int64_t min = dur / absl::Minutes(1); // min == 0
159
+ //
160
+ // See the `IDivDuration()` and `FDivDuration()` functions below for details on
161
+ // how to access the fractional parts of the quotient.
162
+ //
163
+ // Alternatively, conversions can be performed using helpers such as
164
+ // `ToInt64Microseconds()` and `ToDoubleSeconds()`.
165
+ class Duration {
166
+ public:
167
+ // Value semantics.
168
+ constexpr Duration() : rep_hi_(0), rep_lo_(0) {} // zero-length duration
169
+
170
+ // Copyable.
171
+ #if !defined(__clang__) && defined(_MSC_VER) && _MSC_VER < 1930
172
+ // Explicitly defining the constexpr copy constructor avoids an MSVC bug.
173
+ constexpr Duration(const Duration& d)
174
+ : rep_hi_(d.rep_hi_), rep_lo_(d.rep_lo_) {}
175
+ #else
176
+ constexpr Duration(const Duration& d) = default;
177
+ #endif
178
+ Duration& operator=(const Duration& d) = default;
179
+
180
+ // Compound assignment operators.
181
+ Duration& operator+=(Duration d);
182
+ Duration& operator-=(Duration d);
183
+ Duration& operator*=(int64_t r);
184
+ Duration& operator*=(double r);
185
+ Duration& operator/=(int64_t r);
186
+ Duration& operator/=(double r);
187
+ Duration& operator%=(Duration rhs);
188
+
189
+ // Overloads that forward to either the int64_t or double overloads above.
190
+ // Integer operands must be representable as int64_t.
191
+ template <typename T, time_internal::EnableIfIntegral<T> = 0>
192
+ Duration& operator*=(T r) {
193
+ int64_t x = r;
194
+ return *this *= x;
195
+ }
196
+
197
+ template <typename T, time_internal::EnableIfIntegral<T> = 0>
198
+ Duration& operator/=(T r) {
199
+ int64_t x = r;
200
+ return *this /= x;
201
+ }
202
+
203
+ template <typename T, time_internal::EnableIfFloat<T> = 0>
204
+ Duration& operator*=(T r) {
205
+ double x = r;
206
+ return *this *= x;
207
+ }
208
+
209
+ template <typename T, time_internal::EnableIfFloat<T> = 0>
210
+ Duration& operator/=(T r) {
211
+ double x = r;
212
+ return *this /= x;
213
+ }
214
+
215
+ template <typename H>
216
+ friend H AbslHashValue(H h, Duration d) {
217
+ return H::combine(std::move(h), d.rep_hi_, d.rep_lo_);
218
+ }
219
+
220
+ private:
221
+ friend constexpr int64_t time_internal::GetRepHi(Duration d);
222
+ friend constexpr uint32_t time_internal::GetRepLo(Duration d);
223
+ friend constexpr Duration time_internal::MakeDuration(int64_t hi,
224
+ uint32_t lo);
225
+ constexpr Duration(int64_t hi, uint32_t lo) : rep_hi_(hi), rep_lo_(lo) {}
226
+ int64_t rep_hi_;
227
+ uint32_t rep_lo_;
228
+ };
229
+
230
+ // Relational Operators
231
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr bool operator<(Duration lhs,
232
+ Duration rhs);
233
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr bool operator>(Duration lhs,
234
+ Duration rhs) {
235
+ return rhs < lhs;
236
+ }
237
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr bool operator>=(Duration lhs,
238
+ Duration rhs) {
239
+ return !(lhs < rhs);
240
+ }
241
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr bool operator<=(Duration lhs,
242
+ Duration rhs) {
243
+ return !(rhs < lhs);
244
+ }
245
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr bool operator==(Duration lhs,
246
+ Duration rhs);
247
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr bool operator!=(Duration lhs,
248
+ Duration rhs) {
249
+ return !(lhs == rhs);
250
+ }
251
+
252
+ // Additive Operators
253
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Duration operator-(Duration d);
254
+ ABSL_ATTRIBUTE_CONST_FUNCTION inline Duration operator+(Duration lhs,
255
+ Duration rhs) {
256
+ return lhs += rhs;
257
+ }
258
+ ABSL_ATTRIBUTE_CONST_FUNCTION inline Duration operator-(Duration lhs,
259
+ Duration rhs) {
260
+ return lhs -= rhs;
261
+ }
262
+
263
+ // Multiplicative Operators
264
+ // Integer operands must be representable as int64_t.
265
+ template <typename T>
266
+ ABSL_ATTRIBUTE_CONST_FUNCTION Duration operator*(Duration lhs, T rhs) {
267
+ return lhs *= rhs;
268
+ }
269
+ template <typename T>
270
+ ABSL_ATTRIBUTE_CONST_FUNCTION Duration operator*(T lhs, Duration rhs) {
271
+ return rhs *= lhs;
272
+ }
273
+ template <typename T>
274
+ ABSL_ATTRIBUTE_CONST_FUNCTION Duration operator/(Duration lhs, T rhs) {
275
+ return lhs /= rhs;
276
+ }
277
+ ABSL_ATTRIBUTE_CONST_FUNCTION inline int64_t operator/(Duration lhs,
278
+ Duration rhs) {
279
+ return time_internal::IDivDuration(true, lhs, rhs,
280
+ &lhs); // trunc towards zero
281
+ }
282
+ ABSL_ATTRIBUTE_CONST_FUNCTION inline Duration operator%(Duration lhs,
283
+ Duration rhs) {
284
+ return lhs %= rhs;
285
+ }
286
+
287
+ // IDivDuration()
288
+ //
289
+ // Divides a numerator `Duration` by a denominator `Duration`, returning the
290
+ // quotient and remainder. The remainder always has the same sign as the
291
+ // numerator. The returned quotient and remainder respect the identity:
292
+ //
293
+ // numerator = denominator * quotient + remainder
294
+ //
295
+ // Returned quotients are capped to the range of `int64_t`, with the difference
296
+ // spilling into the remainder to uphold the above identity. This means that the
297
+ // remainder returned could differ from the remainder returned by
298
+ // `Duration::operator%` for huge quotients.
299
+ //
300
+ // See also the notes on `InfiniteDuration()` below regarding the behavior of
301
+ // division involving zero and infinite durations.
302
+ //
303
+ // Example:
304
+ //
305
+ // constexpr absl::Duration a =
306
+ // absl::Seconds(std::numeric_limits<int64_t>::max()); // big
307
+ // constexpr absl::Duration b = absl::Nanoseconds(1); // small
308
+ //
309
+ // absl::Duration rem = a % b;
310
+ // // rem == absl::ZeroDuration()
311
+ //
312
+ // // Here, q would overflow int64_t, so rem accounts for the difference.
313
+ // int64_t q = absl::IDivDuration(a, b, &rem);
314
+ // // q == std::numeric_limits<int64_t>::max(), rem == a - b * q
315
+ inline int64_t IDivDuration(Duration num, Duration den, Duration* rem) {
316
+ return time_internal::IDivDuration(true, num, den,
317
+ rem); // trunc towards zero
318
+ }
319
+
320
+ // FDivDuration()
321
+ //
322
+ // Divides a `Duration` numerator into a fractional number of units of a
323
+ // `Duration` denominator.
324
+ //
325
+ // See also the notes on `InfiniteDuration()` below regarding the behavior of
326
+ // division involving zero and infinite durations.
327
+ //
328
+ // Example:
329
+ //
330
+ // double d = absl::FDivDuration(absl::Milliseconds(1500), absl::Seconds(1));
331
+ // // d == 1.5
332
+ ABSL_ATTRIBUTE_CONST_FUNCTION double FDivDuration(Duration num, Duration den);
333
+
334
+ // ZeroDuration()
335
+ //
336
+ // Returns a zero-length duration. This function behaves just like the default
337
+ // constructor, but the name helps make the semantics clear at call sites.
338
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Duration ZeroDuration() {
339
+ return Duration();
340
+ }
341
+
342
+ // AbsDuration()
343
+ //
344
+ // Returns the absolute value of a duration.
345
+ ABSL_ATTRIBUTE_CONST_FUNCTION inline Duration AbsDuration(Duration d) {
346
+ return (d < ZeroDuration()) ? -d : d;
347
+ }
348
+
349
+ // Trunc()
350
+ //
351
+ // Truncates a duration (toward zero) to a multiple of a non-zero unit.
352
+ //
353
+ // Example:
354
+ //
355
+ // absl::Duration d = absl::Nanoseconds(123456789);
356
+ // absl::Duration a = absl::Trunc(d, absl::Microseconds(1)); // 123456us
357
+ ABSL_ATTRIBUTE_CONST_FUNCTION Duration Trunc(Duration d, Duration unit);
358
+
359
+ // Floor()
360
+ //
361
+ // Floors a duration using the passed duration unit to its largest value not
362
+ // greater than the duration.
363
+ //
364
+ // Example:
365
+ //
366
+ // absl::Duration d = absl::Nanoseconds(123456789);
367
+ // absl::Duration b = absl::Floor(d, absl::Microseconds(1)); // 123456us
368
+ ABSL_ATTRIBUTE_CONST_FUNCTION Duration Floor(Duration d, Duration unit);
369
+
370
+ // Ceil()
371
+ //
372
+ // Returns the ceiling of a duration using the passed duration unit to its
373
+ // smallest value not less than the duration.
374
+ //
375
+ // Example:
376
+ //
377
+ // absl::Duration d = absl::Nanoseconds(123456789);
378
+ // absl::Duration c = absl::Ceil(d, absl::Microseconds(1)); // 123457us
379
+ ABSL_ATTRIBUTE_CONST_FUNCTION Duration Ceil(Duration d, Duration unit);
380
+
381
+ // InfiniteDuration()
382
+ //
383
+ // Returns an infinite `Duration`. To get a `Duration` representing negative
384
+ // infinity, use `-InfiniteDuration()`.
385
+ //
386
+ // Duration arithmetic overflows to +/- infinity and saturates. In general,
387
+ // arithmetic with `Duration` infinities is similar to IEEE 754 infinities
388
+ // except where IEEE 754 NaN would be involved, in which case +/-
389
+ // `InfiniteDuration()` is used in place of a "nan" Duration.
390
+ //
391
+ // Examples:
392
+ //
393
+ // constexpr absl::Duration inf = absl::InfiniteDuration();
394
+ // const absl::Duration d = ... any finite duration ...
395
+ //
396
+ // inf == inf + inf
397
+ // inf == inf + d
398
+ // inf == inf - inf
399
+ // -inf == d - inf
400
+ //
401
+ // inf == d * 1e100
402
+ // inf == inf / 2
403
+ // 0 == d / inf
404
+ // INT64_MAX == inf / d
405
+ //
406
+ // d < inf
407
+ // -inf < d
408
+ //
409
+ // // Division by zero returns infinity, or INT64_MIN/MAX where appropriate.
410
+ // inf == d / 0
411
+ // INT64_MAX == d / absl::ZeroDuration()
412
+ //
413
+ // The examples involving the `/` operator above also apply to `IDivDuration()`
414
+ // and `FDivDuration()`.
415
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Duration InfiniteDuration();
416
+
417
+ // Nanoseconds()
418
+ // Microseconds()
419
+ // Milliseconds()
420
+ // Seconds()
421
+ // Minutes()
422
+ // Hours()
423
+ //
424
+ // Factory functions for constructing `Duration` values from an integral number
425
+ // of the unit indicated by the factory function's name. The number must be
426
+ // representable as int64_t.
427
+ //
428
+ // NOTE: no "Days()" factory function exists because "a day" is ambiguous.
429
+ // Civil days are not always 24 hours long, and a 24-hour duration often does
430
+ // not correspond with a civil day. If a 24-hour duration is needed, use
431
+ // `absl::Hours(24)`. If you actually want a civil day, use absl::CivilDay
432
+ // from civil_time.h.
433
+ //
434
+ // Example:
435
+ //
436
+ // absl::Duration a = absl::Seconds(60);
437
+ // absl::Duration b = absl::Minutes(1); // b == a
438
+ template <typename T, time_internal::EnableIfIntegral<T> = 0>
439
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Duration Nanoseconds(T n) {
440
+ return time_internal::FromInt64(n, std::nano{});
441
+ }
442
+ template <typename T, time_internal::EnableIfIntegral<T> = 0>
443
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Duration Microseconds(T n) {
444
+ return time_internal::FromInt64(n, std::micro{});
445
+ }
446
+ template <typename T, time_internal::EnableIfIntegral<T> = 0>
447
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Duration Milliseconds(T n) {
448
+ return time_internal::FromInt64(n, std::milli{});
449
+ }
450
+ template <typename T, time_internal::EnableIfIntegral<T> = 0>
451
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Duration Seconds(T n) {
452
+ return time_internal::FromInt64(n, std::ratio<1>{});
453
+ }
454
+ template <typename T, time_internal::EnableIfIntegral<T> = 0>
455
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Duration Minutes(T n) {
456
+ return time_internal::FromInt64(n, std::ratio<60>{});
457
+ }
458
+ template <typename T, time_internal::EnableIfIntegral<T> = 0>
459
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Duration Hours(T n) {
460
+ return time_internal::FromInt64(n, std::ratio<3600>{});
461
+ }
462
+
463
+ // Factory overloads for constructing `Duration` values from a floating-point
464
+ // number of the unit indicated by the factory function's name. These functions
465
+ // exist for convenience, but they are not as efficient as the integral
466
+ // factories, which should be preferred.
467
+ //
468
+ // Example:
469
+ //
470
+ // auto a = absl::Seconds(1.5); // OK
471
+ // auto b = absl::Milliseconds(1500); // BETTER
472
+ template <typename T, time_internal::EnableIfFloat<T> = 0>
473
+ ABSL_ATTRIBUTE_CONST_FUNCTION Duration Nanoseconds(T n) {
474
+ return n * Nanoseconds(1);
475
+ }
476
+ template <typename T, time_internal::EnableIfFloat<T> = 0>
477
+ ABSL_ATTRIBUTE_CONST_FUNCTION Duration Microseconds(T n) {
478
+ return n * Microseconds(1);
479
+ }
480
+ template <typename T, time_internal::EnableIfFloat<T> = 0>
481
+ ABSL_ATTRIBUTE_CONST_FUNCTION Duration Milliseconds(T n) {
482
+ return n * Milliseconds(1);
483
+ }
484
+ template <typename T, time_internal::EnableIfFloat<T> = 0>
485
+ ABSL_ATTRIBUTE_CONST_FUNCTION Duration Seconds(T n) {
486
+ if (n >= 0) { // Note: `NaN >= 0` is false.
487
+ if (n >= static_cast<T>((std::numeric_limits<int64_t>::max)())) {
488
+ return InfiniteDuration();
489
+ }
490
+ return time_internal::MakePosDoubleDuration(n);
491
+ } else {
492
+ if (std::isnan(n))
493
+ return std::signbit(n) ? -InfiniteDuration() : InfiniteDuration();
494
+ if (n <= (std::numeric_limits<int64_t>::min)()) return -InfiniteDuration();
495
+ return -time_internal::MakePosDoubleDuration(-n);
496
+ }
497
+ }
498
+ template <typename T, time_internal::EnableIfFloat<T> = 0>
499
+ ABSL_ATTRIBUTE_CONST_FUNCTION Duration Minutes(T n) {
500
+ return n * Minutes(1);
501
+ }
502
+ template <typename T, time_internal::EnableIfFloat<T> = 0>
503
+ ABSL_ATTRIBUTE_CONST_FUNCTION Duration Hours(T n) {
504
+ return n * Hours(1);
505
+ }
506
+
507
+ // ToInt64Nanoseconds()
508
+ // ToInt64Microseconds()
509
+ // ToInt64Milliseconds()
510
+ // ToInt64Seconds()
511
+ // ToInt64Minutes()
512
+ // ToInt64Hours()
513
+ //
514
+ // Helper functions that convert a Duration to an integral count of the
515
+ // indicated unit. These return the same results as the `IDivDuration()`
516
+ // function, though they usually do so more efficiently; see the
517
+ // documentation of `IDivDuration()` for details about overflow, etc.
518
+ //
519
+ // Example:
520
+ //
521
+ // absl::Duration d = absl::Milliseconds(1500);
522
+ // int64_t isec = absl::ToInt64Seconds(d); // isec == 1
523
+ ABSL_ATTRIBUTE_CONST_FUNCTION int64_t ToInt64Nanoseconds(Duration d);
524
+ ABSL_ATTRIBUTE_CONST_FUNCTION int64_t ToInt64Microseconds(Duration d);
525
+ ABSL_ATTRIBUTE_CONST_FUNCTION int64_t ToInt64Milliseconds(Duration d);
526
+ ABSL_ATTRIBUTE_CONST_FUNCTION int64_t ToInt64Seconds(Duration d);
527
+ ABSL_ATTRIBUTE_CONST_FUNCTION int64_t ToInt64Minutes(Duration d);
528
+ ABSL_ATTRIBUTE_CONST_FUNCTION int64_t ToInt64Hours(Duration d);
529
+
530
+ // ToDoubleNanoseconds()
531
+ // ToDoubleMicroseconds()
532
+ // ToDoubleMilliseconds()
533
+ // ToDoubleSeconds()
534
+ // ToDoubleMinutes()
535
+ // ToDoubleHours()
536
+ //
537
+ // Helper functions that convert a Duration to a floating point count of the
538
+ // indicated unit. These functions are shorthand for the `FDivDuration()`
539
+ // function above; see its documentation for details about overflow, etc.
540
+ //
541
+ // Example:
542
+ //
543
+ // absl::Duration d = absl::Milliseconds(1500);
544
+ // double dsec = absl::ToDoubleSeconds(d); // dsec == 1.5
545
+ ABSL_ATTRIBUTE_CONST_FUNCTION double ToDoubleNanoseconds(Duration d);
546
+ ABSL_ATTRIBUTE_CONST_FUNCTION double ToDoubleMicroseconds(Duration d);
547
+ ABSL_ATTRIBUTE_CONST_FUNCTION double ToDoubleMilliseconds(Duration d);
548
+ ABSL_ATTRIBUTE_CONST_FUNCTION double ToDoubleSeconds(Duration d);
549
+ ABSL_ATTRIBUTE_CONST_FUNCTION double ToDoubleMinutes(Duration d);
550
+ ABSL_ATTRIBUTE_CONST_FUNCTION double ToDoubleHours(Duration d);
551
+
552
+ // FromChrono()
553
+ //
554
+ // Converts any of the pre-defined std::chrono durations to an absl::Duration.
555
+ //
556
+ // Example:
557
+ //
558
+ // std::chrono::milliseconds ms(123);
559
+ // absl::Duration d = absl::FromChrono(ms);
560
+ ABSL_ATTRIBUTE_PURE_FUNCTION constexpr Duration FromChrono(
561
+ const std::chrono::nanoseconds& d);
562
+ ABSL_ATTRIBUTE_PURE_FUNCTION constexpr Duration FromChrono(
563
+ const std::chrono::microseconds& d);
564
+ ABSL_ATTRIBUTE_PURE_FUNCTION constexpr Duration FromChrono(
565
+ const std::chrono::milliseconds& d);
566
+ ABSL_ATTRIBUTE_PURE_FUNCTION constexpr Duration FromChrono(
567
+ const std::chrono::seconds& d);
568
+ ABSL_ATTRIBUTE_PURE_FUNCTION constexpr Duration FromChrono(
569
+ const std::chrono::minutes& d);
570
+ ABSL_ATTRIBUTE_PURE_FUNCTION constexpr Duration FromChrono(
571
+ const std::chrono::hours& d);
572
+
573
+ // ToChronoNanoseconds()
574
+ // ToChronoMicroseconds()
575
+ // ToChronoMilliseconds()
576
+ // ToChronoSeconds()
577
+ // ToChronoMinutes()
578
+ // ToChronoHours()
579
+ //
580
+ // Converts an absl::Duration to any of the pre-defined std::chrono durations.
581
+ // If overflow would occur, the returned value will saturate at the min/max
582
+ // chrono duration value instead.
583
+ //
584
+ // Example:
585
+ //
586
+ // absl::Duration d = absl::Microseconds(123);
587
+ // auto x = absl::ToChronoMicroseconds(d);
588
+ // auto y = absl::ToChronoNanoseconds(d); // x == y
589
+ // auto z = absl::ToChronoSeconds(absl::InfiniteDuration());
590
+ // // z == std::chrono::seconds::max()
591
+ ABSL_ATTRIBUTE_CONST_FUNCTION std::chrono::nanoseconds ToChronoNanoseconds(
592
+ Duration d);
593
+ ABSL_ATTRIBUTE_CONST_FUNCTION std::chrono::microseconds ToChronoMicroseconds(
594
+ Duration d);
595
+ ABSL_ATTRIBUTE_CONST_FUNCTION std::chrono::milliseconds ToChronoMilliseconds(
596
+ Duration d);
597
+ ABSL_ATTRIBUTE_CONST_FUNCTION std::chrono::seconds ToChronoSeconds(Duration d);
598
+ ABSL_ATTRIBUTE_CONST_FUNCTION std::chrono::minutes ToChronoMinutes(Duration d);
599
+ ABSL_ATTRIBUTE_CONST_FUNCTION std::chrono::hours ToChronoHours(Duration d);
600
+
601
+ // FormatDuration()
602
+ //
603
+ // Returns a string representing the duration in the form "72h3m0.5s".
604
+ // Returns "inf" or "-inf" for +/- `InfiniteDuration()`.
605
+ ABSL_ATTRIBUTE_CONST_FUNCTION std::string FormatDuration(Duration d);
606
+
607
+ // Output stream operator.
608
+ inline std::ostream& operator<<(std::ostream& os, Duration d) {
609
+ return os << FormatDuration(d);
610
+ }
611
+
612
+ // ParseDuration()
613
+ //
614
+ // Parses a duration string consisting of a possibly signed sequence of
615
+ // decimal numbers, each with an optional fractional part and a unit
616
+ // suffix. The valid suffixes are "ns", "us" "ms", "s", "m", and "h".
617
+ // Simple examples include "300ms", "-1.5h", and "2h45m". Parses "0" as
618
+ // `ZeroDuration()`. Parses "inf" and "-inf" as +/- `InfiniteDuration()`.
619
+ bool ParseDuration(absl::string_view dur_string, Duration* d);
620
+
621
+ // AbslParseFlag()
622
+ //
623
+ // Parses a command-line flag string representation `text` into a Duration
624
+ // value. Duration flags must be specified in a format that is valid input for
625
+ // `absl::ParseDuration()`.
626
+ bool AbslParseFlag(absl::string_view text, Duration* dst, std::string* error);
627
+
628
+
629
+ // AbslUnparseFlag()
630
+ //
631
+ // Unparses a Duration value into a command-line string representation using
632
+ // the format specified by `absl::ParseDuration()`.
633
+ std::string AbslUnparseFlag(Duration d);
634
+
635
+ ABSL_DEPRECATED("Use AbslParseFlag() instead.")
636
+ bool ParseFlag(const std::string& text, Duration* dst, std::string* error);
637
+ ABSL_DEPRECATED("Use AbslUnparseFlag() instead.")
638
+ std::string UnparseFlag(Duration d);
639
+
640
+ // Time
641
+ //
642
+ // An `absl::Time` represents a specific instant in time. Arithmetic operators
643
+ // are provided for naturally expressing time calculations. Instances are
644
+ // created using `absl::Now()` and the `absl::From*()` factory functions that
645
+ // accept the gamut of other time representations. Formatting and parsing
646
+ // functions are provided for conversion to and from strings. `absl::Time`
647
+ // should be passed by value rather than const reference.
648
+ //
649
+ // `absl::Time` assumes there are 60 seconds in a minute, which means the
650
+ // underlying time scales must be "smeared" to eliminate leap seconds.
651
+ // See https://developers.google.com/time/smear.
652
+ //
653
+ // Even though `absl::Time` supports a wide range of timestamps, exercise
654
+ // caution when using values in the distant past. `absl::Time` uses the
655
+ // Proleptic Gregorian calendar, which extends the Gregorian calendar backward
656
+ // to dates before its introduction in 1582.
657
+ // See https://en.wikipedia.org/wiki/Proleptic_Gregorian_calendar
658
+ // for more information. Use the ICU calendar classes to convert a date in
659
+ // some other calendar (http://userguide.icu-project.org/datetime/calendar).
660
+ //
661
+ // Similarly, standardized time zones are a reasonably recent innovation, with
662
+ // the Greenwich prime meridian being established in 1884. The TZ database
663
+ // itself does not profess accurate offsets for timestamps prior to 1970. The
664
+ // breakdown of future timestamps is subject to the whim of regional
665
+ // governments.
666
+ //
667
+ // The `absl::Time` class represents an instant in time as a count of clock
668
+ // ticks of some granularity (resolution) from some starting point (epoch).
669
+ //
670
+ // `absl::Time` uses a resolution that is high enough to avoid loss in
671
+ // precision, and a range that is wide enough to avoid overflow, when
672
+ // converting between tick counts in most Google time scales (i.e., resolution
673
+ // of at least one nanosecond, and range +/-100 billion years). Conversions
674
+ // between the time scales are performed by truncating (towards negative
675
+ // infinity) to the nearest representable point.
676
+ //
677
+ // Examples:
678
+ //
679
+ // absl::Time t1 = ...;
680
+ // absl::Time t2 = t1 + absl::Minutes(2);
681
+ // absl::Duration d = t2 - t1; // == absl::Minutes(2)
682
+ //
683
+ class Time {
684
+ public:
685
+ // Value semantics.
686
+
687
+ // Returns the Unix epoch. However, those reading your code may not know
688
+ // or expect the Unix epoch as the default value, so make your code more
689
+ // readable by explicitly initializing all instances before use.
690
+ //
691
+ // Example:
692
+ // absl::Time t = absl::UnixEpoch();
693
+ // absl::Time t = absl::Now();
694
+ // absl::Time t = absl::TimeFromTimeval(tv);
695
+ // absl::Time t = absl::InfinitePast();
696
+ constexpr Time() = default;
697
+
698
+ // Copyable.
699
+ constexpr Time(const Time& t) = default;
700
+ Time& operator=(const Time& t) = default;
701
+
702
+ // Assignment operators.
703
+ Time& operator+=(Duration d) {
704
+ rep_ += d;
705
+ return *this;
706
+ }
707
+ Time& operator-=(Duration d) {
708
+ rep_ -= d;
709
+ return *this;
710
+ }
711
+
712
+ // Time::Breakdown
713
+ //
714
+ // The calendar and wall-clock (aka "civil time") components of an
715
+ // `absl::Time` in a certain `absl::TimeZone`. This struct is not
716
+ // intended to represent an instant in time. So, rather than passing
717
+ // a `Time::Breakdown` to a function, pass an `absl::Time` and an
718
+ // `absl::TimeZone`.
719
+ //
720
+ // Deprecated. Use `absl::TimeZone::CivilInfo`.
721
+ struct
722
+ Breakdown {
723
+ int64_t year; // year (e.g., 2013)
724
+ int month; // month of year [1:12]
725
+ int day; // day of month [1:31]
726
+ int hour; // hour of day [0:23]
727
+ int minute; // minute of hour [0:59]
728
+ int second; // second of minute [0:59]
729
+ Duration subsecond; // [Seconds(0):Seconds(1)) if finite
730
+ int weekday; // 1==Mon, ..., 7=Sun
731
+ int yearday; // day of year [1:366]
732
+
733
+ // Note: The following fields exist for backward compatibility
734
+ // with older APIs. Accessing these fields directly is a sign of
735
+ // imprudent logic in the calling code. Modern time-related code
736
+ // should only access this data indirectly by way of FormatTime().
737
+ // These fields are undefined for InfiniteFuture() and InfinitePast().
738
+ int offset; // seconds east of UTC
739
+ bool is_dst; // is offset non-standard?
740
+ const char* zone_abbr; // time-zone abbreviation (e.g., "PST")
741
+ };
742
+
743
+ // Time::In()
744
+ //
745
+ // Returns the breakdown of this instant in the given TimeZone.
746
+ //
747
+ // Deprecated. Use `absl::TimeZone::At(Time)`.
748
+ Breakdown In(TimeZone tz) const;
749
+
750
+ template <typename H>
751
+ friend H AbslHashValue(H h, Time t) {
752
+ return H::combine(std::move(h), t.rep_);
753
+ }
754
+
755
+ private:
756
+ friend constexpr Time time_internal::FromUnixDuration(Duration d);
757
+ friend constexpr Duration time_internal::ToUnixDuration(Time t);
758
+ friend constexpr bool operator<(Time lhs, Time rhs);
759
+ friend constexpr bool operator==(Time lhs, Time rhs);
760
+ friend Duration operator-(Time lhs, Time rhs);
761
+ friend constexpr Time UniversalEpoch();
762
+ friend constexpr Time InfiniteFuture();
763
+ friend constexpr Time InfinitePast();
764
+ constexpr explicit Time(Duration rep) : rep_(rep) {}
765
+ Duration rep_;
766
+ };
767
+
768
+ // Relational Operators
769
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr bool operator<(Time lhs, Time rhs) {
770
+ return lhs.rep_ < rhs.rep_;
771
+ }
772
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr bool operator>(Time lhs, Time rhs) {
773
+ return rhs < lhs;
774
+ }
775
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr bool operator>=(Time lhs, Time rhs) {
776
+ return !(lhs < rhs);
777
+ }
778
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr bool operator<=(Time lhs, Time rhs) {
779
+ return !(rhs < lhs);
780
+ }
781
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr bool operator==(Time lhs, Time rhs) {
782
+ return lhs.rep_ == rhs.rep_;
783
+ }
784
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr bool operator!=(Time lhs, Time rhs) {
785
+ return !(lhs == rhs);
786
+ }
787
+
788
+ // Additive Operators
789
+ ABSL_ATTRIBUTE_CONST_FUNCTION inline Time operator+(Time lhs, Duration rhs) {
790
+ return lhs += rhs;
791
+ }
792
+ ABSL_ATTRIBUTE_CONST_FUNCTION inline Time operator+(Duration lhs, Time rhs) {
793
+ return rhs += lhs;
794
+ }
795
+ ABSL_ATTRIBUTE_CONST_FUNCTION inline Time operator-(Time lhs, Duration rhs) {
796
+ return lhs -= rhs;
797
+ }
798
+ ABSL_ATTRIBUTE_CONST_FUNCTION inline Duration operator-(Time lhs, Time rhs) {
799
+ return lhs.rep_ - rhs.rep_;
800
+ }
801
+
802
+ // UnixEpoch()
803
+ //
804
+ // Returns the `absl::Time` representing "1970-01-01 00:00:00.0 +0000".
805
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Time UnixEpoch() { return Time(); }
806
+
807
+ // UniversalEpoch()
808
+ //
809
+ // Returns the `absl::Time` representing "0001-01-01 00:00:00.0 +0000", the
810
+ // epoch of the ICU Universal Time Scale.
811
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Time UniversalEpoch() {
812
+ // 719162 is the number of days from 0001-01-01 to 1970-01-01,
813
+ // assuming the Gregorian calendar.
814
+ return Time(
815
+ time_internal::MakeDuration(-24 * 719162 * int64_t{3600}, uint32_t{0}));
816
+ }
817
+
818
+ // InfiniteFuture()
819
+ //
820
+ // Returns an `absl::Time` that is infinitely far in the future.
821
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Time InfiniteFuture() {
822
+ return Time(time_internal::MakeDuration((std::numeric_limits<int64_t>::max)(),
823
+ ~uint32_t{0}));
824
+ }
825
+
826
+ // InfinitePast()
827
+ //
828
+ // Returns an `absl::Time` that is infinitely far in the past.
829
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Time InfinitePast() {
830
+ return Time(time_internal::MakeDuration((std::numeric_limits<int64_t>::min)(),
831
+ ~uint32_t{0}));
832
+ }
833
+
834
+ // FromUnixNanos()
835
+ // FromUnixMicros()
836
+ // FromUnixMillis()
837
+ // FromUnixSeconds()
838
+ // FromTimeT()
839
+ // FromUDate()
840
+ // FromUniversal()
841
+ //
842
+ // Creates an `absl::Time` from a variety of other representations.
843
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Time FromUnixNanos(int64_t ns);
844
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Time FromUnixMicros(int64_t us);
845
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Time FromUnixMillis(int64_t ms);
846
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Time FromUnixSeconds(int64_t s);
847
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Time FromTimeT(time_t t);
848
+ ABSL_ATTRIBUTE_CONST_FUNCTION Time FromUDate(double udate);
849
+ ABSL_ATTRIBUTE_CONST_FUNCTION Time FromUniversal(int64_t universal);
850
+
851
+ // ToUnixNanos()
852
+ // ToUnixMicros()
853
+ // ToUnixMillis()
854
+ // ToUnixSeconds()
855
+ // ToTimeT()
856
+ // ToUDate()
857
+ // ToUniversal()
858
+ //
859
+ // Converts an `absl::Time` to a variety of other representations. Note that
860
+ // these operations round down toward negative infinity where necessary to
861
+ // adjust to the resolution of the result type. Beware of possible time_t
862
+ // over/underflow in ToTime{T,val,spec}() on 32-bit platforms.
863
+ ABSL_ATTRIBUTE_CONST_FUNCTION int64_t ToUnixNanos(Time t);
864
+ ABSL_ATTRIBUTE_CONST_FUNCTION int64_t ToUnixMicros(Time t);
865
+ ABSL_ATTRIBUTE_CONST_FUNCTION int64_t ToUnixMillis(Time t);
866
+ ABSL_ATTRIBUTE_CONST_FUNCTION int64_t ToUnixSeconds(Time t);
867
+ ABSL_ATTRIBUTE_CONST_FUNCTION time_t ToTimeT(Time t);
868
+ ABSL_ATTRIBUTE_CONST_FUNCTION double ToUDate(Time t);
869
+ ABSL_ATTRIBUTE_CONST_FUNCTION int64_t ToUniversal(Time t);
870
+
871
+ // DurationFromTimespec()
872
+ // DurationFromTimeval()
873
+ // ToTimespec()
874
+ // ToTimeval()
875
+ // TimeFromTimespec()
876
+ // TimeFromTimeval()
877
+ // ToTimespec()
878
+ // ToTimeval()
879
+ //
880
+ // Some APIs use a timespec or a timeval as a Duration (e.g., nanosleep(2)
881
+ // and select(2)), while others use them as a Time (e.g. clock_gettime(2)
882
+ // and gettimeofday(2)), so conversion functions are provided for both cases.
883
+ // The "to timespec/val" direction is easily handled via overloading, but
884
+ // for "from timespec/val" the desired type is part of the function name.
885
+ ABSL_ATTRIBUTE_CONST_FUNCTION Duration DurationFromTimespec(timespec ts);
886
+ ABSL_ATTRIBUTE_CONST_FUNCTION Duration DurationFromTimeval(timeval tv);
887
+ ABSL_ATTRIBUTE_CONST_FUNCTION timespec ToTimespec(Duration d);
888
+ ABSL_ATTRIBUTE_CONST_FUNCTION timeval ToTimeval(Duration d);
889
+ ABSL_ATTRIBUTE_CONST_FUNCTION Time TimeFromTimespec(timespec ts);
890
+ ABSL_ATTRIBUTE_CONST_FUNCTION Time TimeFromTimeval(timeval tv);
891
+ ABSL_ATTRIBUTE_CONST_FUNCTION timespec ToTimespec(Time t);
892
+ ABSL_ATTRIBUTE_CONST_FUNCTION timeval ToTimeval(Time t);
893
+
894
+ // FromChrono()
895
+ //
896
+ // Converts a std::chrono::system_clock::time_point to an absl::Time.
897
+ //
898
+ // Example:
899
+ //
900
+ // auto tp = std::chrono::system_clock::from_time_t(123);
901
+ // absl::Time t = absl::FromChrono(tp);
902
+ // // t == absl::FromTimeT(123)
903
+ ABSL_ATTRIBUTE_PURE_FUNCTION Time
904
+ FromChrono(const std::chrono::system_clock::time_point& tp);
905
+
906
+ // ToChronoTime()
907
+ //
908
+ // Converts an absl::Time to a std::chrono::system_clock::time_point. If
909
+ // overflow would occur, the returned value will saturate at the min/max time
910
+ // point value instead.
911
+ //
912
+ // Example:
913
+ //
914
+ // absl::Time t = absl::FromTimeT(123);
915
+ // auto tp = absl::ToChronoTime(t);
916
+ // // tp == std::chrono::system_clock::from_time_t(123);
917
+ ABSL_ATTRIBUTE_CONST_FUNCTION std::chrono::system_clock::time_point
918
+ ToChronoTime(Time);
919
+
920
+ // AbslParseFlag()
921
+ //
922
+ // Parses the command-line flag string representation `text` into a Time value.
923
+ // Time flags must be specified in a format that matches absl::RFC3339_full.
924
+ //
925
+ // For example:
926
+ //
927
+ // --start_time=2016-01-02T03:04:05.678+08:00
928
+ //
929
+ // Note: A UTC offset (or 'Z' indicating a zero-offset from UTC) is required.
930
+ //
931
+ // Additionally, if you'd like to specify a time as a count of
932
+ // seconds/milliseconds/etc from the Unix epoch, use an absl::Duration flag
933
+ // and add that duration to absl::UnixEpoch() to get an absl::Time.
934
+ bool AbslParseFlag(absl::string_view text, Time* t, std::string* error);
935
+
936
+ // AbslUnparseFlag()
937
+ //
938
+ // Unparses a Time value into a command-line string representation using
939
+ // the format specified by `absl::ParseTime()`.
940
+ std::string AbslUnparseFlag(Time t);
941
+
942
+ ABSL_DEPRECATED("Use AbslParseFlag() instead.")
943
+ bool ParseFlag(const std::string& text, Time* t, std::string* error);
944
+ ABSL_DEPRECATED("Use AbslUnparseFlag() instead.")
945
+ std::string UnparseFlag(Time t);
946
+
947
+ // TimeZone
948
+ //
949
+ // The `absl::TimeZone` is an opaque, small, value-type class representing a
950
+ // geo-political region within which particular rules are used for converting
951
+ // between absolute and civil times (see https://git.io/v59Ly). `absl::TimeZone`
952
+ // values are named using the TZ identifiers from the IANA Time Zone Database,
953
+ // such as "America/Los_Angeles" or "Australia/Sydney". `absl::TimeZone` values
954
+ // are created from factory functions such as `absl::LoadTimeZone()`. Note:
955
+ // strings like "PST" and "EDT" are not valid TZ identifiers. Prefer to pass by
956
+ // value rather than const reference.
957
+ //
958
+ // For more on the fundamental concepts of time zones, absolute times, and civil
959
+ // times, see https://github.com/google/cctz#fundamental-concepts
960
+ //
961
+ // Examples:
962
+ //
963
+ // absl::TimeZone utc = absl::UTCTimeZone();
964
+ // absl::TimeZone pst = absl::FixedTimeZone(-8 * 60 * 60);
965
+ // absl::TimeZone loc = absl::LocalTimeZone();
966
+ // absl::TimeZone lax;
967
+ // if (!absl::LoadTimeZone("America/Los_Angeles", &lax)) {
968
+ // // handle error case
969
+ // }
970
+ //
971
+ // See also:
972
+ // - https://github.com/google/cctz
973
+ // - https://www.iana.org/time-zones
974
+ // - https://en.wikipedia.org/wiki/Zoneinfo
975
+ class TimeZone {
976
+ public:
977
+ explicit TimeZone(time_internal::cctz::time_zone tz) : cz_(tz) {}
978
+ TimeZone() = default; // UTC, but prefer UTCTimeZone() to be explicit.
979
+
980
+ // Copyable.
981
+ TimeZone(const TimeZone&) = default;
982
+ TimeZone& operator=(const TimeZone&) = default;
983
+
984
+ explicit operator time_internal::cctz::time_zone() const { return cz_; }
985
+
986
+ std::string name() const { return cz_.name(); }
987
+
988
+ // TimeZone::CivilInfo
989
+ //
990
+ // Information about the civil time corresponding to an absolute time.
991
+ // This struct is not intended to represent an instant in time. So, rather
992
+ // than passing a `TimeZone::CivilInfo` to a function, pass an `absl::Time`
993
+ // and an `absl::TimeZone`.
994
+ struct CivilInfo {
995
+ CivilSecond cs;
996
+ Duration subsecond;
997
+
998
+ // Note: The following fields exist for backward compatibility
999
+ // with older APIs. Accessing these fields directly is a sign of
1000
+ // imprudent logic in the calling code. Modern time-related code
1001
+ // should only access this data indirectly by way of FormatTime().
1002
+ // These fields are undefined for InfiniteFuture() and InfinitePast().
1003
+ int offset; // seconds east of UTC
1004
+ bool is_dst; // is offset non-standard?
1005
+ const char* zone_abbr; // time-zone abbreviation (e.g., "PST")
1006
+ };
1007
+
1008
+ // TimeZone::At(Time)
1009
+ //
1010
+ // Returns the civil time for this TimeZone at a certain `absl::Time`.
1011
+ // If the input time is infinite, the output civil second will be set to
1012
+ // CivilSecond::max() or min(), and the subsecond will be infinite.
1013
+ //
1014
+ // Example:
1015
+ //
1016
+ // const auto epoch = lax.At(absl::UnixEpoch());
1017
+ // // epoch.cs == 1969-12-31 16:00:00
1018
+ // // epoch.subsecond == absl::ZeroDuration()
1019
+ // // epoch.offset == -28800
1020
+ // // epoch.is_dst == false
1021
+ // // epoch.abbr == "PST"
1022
+ CivilInfo At(Time t) const;
1023
+
1024
+ // TimeZone::TimeInfo
1025
+ //
1026
+ // Information about the absolute times corresponding to a civil time.
1027
+ // (Subseconds must be handled separately.)
1028
+ //
1029
+ // It is possible for a caller to pass a civil-time value that does
1030
+ // not represent an actual or unique instant in time (due to a shift
1031
+ // in UTC offset in the TimeZone, which results in a discontinuity in
1032
+ // the civil-time components). For example, a daylight-saving-time
1033
+ // transition skips or repeats civil times---in the United States,
1034
+ // March 13, 2011 02:15 never occurred, while November 6, 2011 01:15
1035
+ // occurred twice---so requests for such times are not well-defined.
1036
+ // To account for these possibilities, `absl::TimeZone::TimeInfo` is
1037
+ // richer than just a single `absl::Time`.
1038
+ struct TimeInfo {
1039
+ enum CivilKind {
1040
+ UNIQUE, // the civil time was singular (pre == trans == post)
1041
+ SKIPPED, // the civil time did not exist (pre >= trans > post)
1042
+ REPEATED, // the civil time was ambiguous (pre < trans <= post)
1043
+ } kind;
1044
+ Time pre; // time calculated using the pre-transition offset
1045
+ Time trans; // when the civil-time discontinuity occurred
1046
+ Time post; // time calculated using the post-transition offset
1047
+ };
1048
+
1049
+ // TimeZone::At(CivilSecond)
1050
+ //
1051
+ // Returns an `absl::TimeInfo` containing the absolute time(s) for this
1052
+ // TimeZone at an `absl::CivilSecond`. When the civil time is skipped or
1053
+ // repeated, returns times calculated using the pre-transition and post-
1054
+ // transition UTC offsets, plus the transition time itself.
1055
+ //
1056
+ // Examples:
1057
+ //
1058
+ // // A unique civil time
1059
+ // const auto jan01 = lax.At(absl::CivilSecond(2011, 1, 1, 0, 0, 0));
1060
+ // // jan01.kind == TimeZone::TimeInfo::UNIQUE
1061
+ // // jan01.pre is 2011-01-01 00:00:00 -0800
1062
+ // // jan01.trans is 2011-01-01 00:00:00 -0800
1063
+ // // jan01.post is 2011-01-01 00:00:00 -0800
1064
+ //
1065
+ // // A Spring DST transition, when there is a gap in civil time
1066
+ // const auto mar13 = lax.At(absl::CivilSecond(2011, 3, 13, 2, 15, 0));
1067
+ // // mar13.kind == TimeZone::TimeInfo::SKIPPED
1068
+ // // mar13.pre is 2011-03-13 03:15:00 -0700
1069
+ // // mar13.trans is 2011-03-13 03:00:00 -0700
1070
+ // // mar13.post is 2011-03-13 01:15:00 -0800
1071
+ //
1072
+ // // A Fall DST transition, when civil times are repeated
1073
+ // const auto nov06 = lax.At(absl::CivilSecond(2011, 11, 6, 1, 15, 0));
1074
+ // // nov06.kind == TimeZone::TimeInfo::REPEATED
1075
+ // // nov06.pre is 2011-11-06 01:15:00 -0700
1076
+ // // nov06.trans is 2011-11-06 01:00:00 -0800
1077
+ // // nov06.post is 2011-11-06 01:15:00 -0800
1078
+ TimeInfo At(CivilSecond ct) const;
1079
+
1080
+ // TimeZone::NextTransition()
1081
+ // TimeZone::PrevTransition()
1082
+ //
1083
+ // Finds the time of the next/previous offset change in this time zone.
1084
+ //
1085
+ // By definition, `NextTransition(t, &trans)` returns false when `t` is
1086
+ // `InfiniteFuture()`, and `PrevTransition(t, &trans)` returns false
1087
+ // when `t` is `InfinitePast()`. If the zone has no transitions, the
1088
+ // result will also be false no matter what the argument.
1089
+ //
1090
+ // Otherwise, when `t` is `InfinitePast()`, `NextTransition(t, &trans)`
1091
+ // returns true and sets `trans` to the first recorded transition. Chains
1092
+ // of calls to `NextTransition()/PrevTransition()` will eventually return
1093
+ // false, but it is unspecified exactly when `NextTransition(t, &trans)`
1094
+ // jumps to false, or what time is set by `PrevTransition(t, &trans)` for
1095
+ // a very distant `t`.
1096
+ //
1097
+ // Note: Enumeration of time-zone transitions is for informational purposes
1098
+ // only. Modern time-related code should not care about when offset changes
1099
+ // occur.
1100
+ //
1101
+ // Example:
1102
+ // absl::TimeZone nyc;
1103
+ // if (!absl::LoadTimeZone("America/New_York", &nyc)) { ... }
1104
+ // const auto now = absl::Now();
1105
+ // auto t = absl::InfinitePast();
1106
+ // absl::TimeZone::CivilTransition trans;
1107
+ // while (t <= now && nyc.NextTransition(t, &trans)) {
1108
+ // // transition: trans.from -> trans.to
1109
+ // t = nyc.At(trans.to).trans;
1110
+ // }
1111
+ struct CivilTransition {
1112
+ CivilSecond from; // the civil time we jump from
1113
+ CivilSecond to; // the civil time we jump to
1114
+ };
1115
+ bool NextTransition(Time t, CivilTransition* trans) const;
1116
+ bool PrevTransition(Time t, CivilTransition* trans) const;
1117
+
1118
+ template <typename H>
1119
+ friend H AbslHashValue(H h, TimeZone tz) {
1120
+ return H::combine(std::move(h), tz.cz_);
1121
+ }
1122
+
1123
+ private:
1124
+ friend bool operator==(TimeZone a, TimeZone b) { return a.cz_ == b.cz_; }
1125
+ friend bool operator!=(TimeZone a, TimeZone b) { return a.cz_ != b.cz_; }
1126
+ friend std::ostream& operator<<(std::ostream& os, TimeZone tz) {
1127
+ return os << tz.name();
1128
+ }
1129
+
1130
+ time_internal::cctz::time_zone cz_;
1131
+ };
1132
+
1133
+ // LoadTimeZone()
1134
+ //
1135
+ // Loads the named zone. May perform I/O on the initial load of the named
1136
+ // zone. If the name is invalid, or some other kind of error occurs, returns
1137
+ // `false` and `*tz` is set to the UTC time zone.
1138
+ inline bool LoadTimeZone(absl::string_view name, TimeZone* tz) {
1139
+ if (name == "localtime") {
1140
+ *tz = TimeZone(time_internal::cctz::local_time_zone());
1141
+ return true;
1142
+ }
1143
+ time_internal::cctz::time_zone cz;
1144
+ const bool b = time_internal::cctz::load_time_zone(std::string(name), &cz);
1145
+ *tz = TimeZone(cz);
1146
+ return b;
1147
+ }
1148
+
1149
+ // FixedTimeZone()
1150
+ //
1151
+ // Returns a TimeZone that is a fixed offset (seconds east) from UTC.
1152
+ // Note: If the absolute value of the offset is greater than 24 hours
1153
+ // you'll get UTC (i.e., no offset) instead.
1154
+ inline TimeZone FixedTimeZone(int seconds) {
1155
+ return TimeZone(
1156
+ time_internal::cctz::fixed_time_zone(std::chrono::seconds(seconds)));
1157
+ }
1158
+
1159
+ // UTCTimeZone()
1160
+ //
1161
+ // Convenience method returning the UTC time zone.
1162
+ inline TimeZone UTCTimeZone() {
1163
+ return TimeZone(time_internal::cctz::utc_time_zone());
1164
+ }
1165
+
1166
+ // LocalTimeZone()
1167
+ //
1168
+ // Convenience method returning the local time zone, or UTC if there is
1169
+ // no configured local zone. Warning: Be wary of using LocalTimeZone(),
1170
+ // and particularly so in a server process, as the zone configured for the
1171
+ // local machine should be irrelevant. Prefer an explicit zone name.
1172
+ inline TimeZone LocalTimeZone() {
1173
+ return TimeZone(time_internal::cctz::local_time_zone());
1174
+ }
1175
+
1176
+ // ToCivilSecond()
1177
+ // ToCivilMinute()
1178
+ // ToCivilHour()
1179
+ // ToCivilDay()
1180
+ // ToCivilMonth()
1181
+ // ToCivilYear()
1182
+ //
1183
+ // Helpers for TimeZone::At(Time) to return particularly aligned civil times.
1184
+ //
1185
+ // Example:
1186
+ //
1187
+ // absl::Time t = ...;
1188
+ // absl::TimeZone tz = ...;
1189
+ // const auto cd = absl::ToCivilDay(t, tz);
1190
+ ABSL_ATTRIBUTE_PURE_FUNCTION inline CivilSecond ToCivilSecond(Time t,
1191
+ TimeZone tz) {
1192
+ return tz.At(t).cs; // already a CivilSecond
1193
+ }
1194
+ ABSL_ATTRIBUTE_PURE_FUNCTION inline CivilMinute ToCivilMinute(Time t,
1195
+ TimeZone tz) {
1196
+ return CivilMinute(tz.At(t).cs);
1197
+ }
1198
+ ABSL_ATTRIBUTE_PURE_FUNCTION inline CivilHour ToCivilHour(Time t, TimeZone tz) {
1199
+ return CivilHour(tz.At(t).cs);
1200
+ }
1201
+ ABSL_ATTRIBUTE_PURE_FUNCTION inline CivilDay ToCivilDay(Time t, TimeZone tz) {
1202
+ return CivilDay(tz.At(t).cs);
1203
+ }
1204
+ ABSL_ATTRIBUTE_PURE_FUNCTION inline CivilMonth ToCivilMonth(Time t,
1205
+ TimeZone tz) {
1206
+ return CivilMonth(tz.At(t).cs);
1207
+ }
1208
+ ABSL_ATTRIBUTE_PURE_FUNCTION inline CivilYear ToCivilYear(Time t, TimeZone tz) {
1209
+ return CivilYear(tz.At(t).cs);
1210
+ }
1211
+
1212
+ // FromCivil()
1213
+ //
1214
+ // Helper for TimeZone::At(CivilSecond) that provides "order-preserving
1215
+ // semantics." If the civil time maps to a unique time, that time is
1216
+ // returned. If the civil time is repeated in the given time zone, the
1217
+ // time using the pre-transition offset is returned. Otherwise, the
1218
+ // civil time is skipped in the given time zone, and the transition time
1219
+ // is returned. This means that for any two civil times, ct1 and ct2,
1220
+ // (ct1 < ct2) => (FromCivil(ct1) <= FromCivil(ct2)), the equal case
1221
+ // being when two non-existent civil times map to the same transition time.
1222
+ //
1223
+ // Note: Accepts civil times of any alignment.
1224
+ ABSL_ATTRIBUTE_PURE_FUNCTION inline Time FromCivil(CivilSecond ct,
1225
+ TimeZone tz) {
1226
+ const auto ti = tz.At(ct);
1227
+ if (ti.kind == TimeZone::TimeInfo::SKIPPED) return ti.trans;
1228
+ return ti.pre;
1229
+ }
1230
+
1231
+ // TimeConversion
1232
+ //
1233
+ // An `absl::TimeConversion` represents the conversion of year, month, day,
1234
+ // hour, minute, and second values (i.e., a civil time), in a particular
1235
+ // `absl::TimeZone`, to a time instant (an absolute time), as returned by
1236
+ // `absl::ConvertDateTime()`. Legacy version of `absl::TimeZone::TimeInfo`.
1237
+ //
1238
+ // Deprecated. Use `absl::TimeZone::TimeInfo`.
1239
+ struct
1240
+ TimeConversion {
1241
+ Time pre; // time calculated using the pre-transition offset
1242
+ Time trans; // when the civil-time discontinuity occurred
1243
+ Time post; // time calculated using the post-transition offset
1244
+
1245
+ enum Kind {
1246
+ UNIQUE, // the civil time was singular (pre == trans == post)
1247
+ SKIPPED, // the civil time did not exist
1248
+ REPEATED, // the civil time was ambiguous
1249
+ };
1250
+ Kind kind;
1251
+
1252
+ bool normalized; // input values were outside their valid ranges
1253
+ };
1254
+
1255
+ // ConvertDateTime()
1256
+ //
1257
+ // Legacy version of `absl::TimeZone::At(absl::CivilSecond)` that takes
1258
+ // the civil time as six, separate values (YMDHMS).
1259
+ //
1260
+ // The input month, day, hour, minute, and second values can be outside
1261
+ // of their valid ranges, in which case they will be "normalized" during
1262
+ // the conversion.
1263
+ //
1264
+ // Example:
1265
+ //
1266
+ // // "October 32" normalizes to "November 1".
1267
+ // absl::TimeConversion tc =
1268
+ // absl::ConvertDateTime(2013, 10, 32, 8, 30, 0, lax);
1269
+ // // tc.kind == TimeConversion::UNIQUE && tc.normalized == true
1270
+ // // absl::ToCivilDay(tc.pre, tz).month() == 11
1271
+ // // absl::ToCivilDay(tc.pre, tz).day() == 1
1272
+ //
1273
+ // Deprecated. Use `absl::TimeZone::At(CivilSecond)`.
1274
+ TimeConversion ConvertDateTime(int64_t year, int mon, int day, int hour,
1275
+ int min, int sec, TimeZone tz);
1276
+
1277
+ // FromDateTime()
1278
+ //
1279
+ // A convenience wrapper for `absl::ConvertDateTime()` that simply returns
1280
+ // the "pre" `absl::Time`. That is, the unique result, or the instant that
1281
+ // is correct using the pre-transition offset (as if the transition never
1282
+ // happened).
1283
+ //
1284
+ // Example:
1285
+ //
1286
+ // absl::Time t = absl::FromDateTime(2017, 9, 26, 9, 30, 0, lax);
1287
+ // // t = 2017-09-26 09:30:00 -0700
1288
+ //
1289
+ // Deprecated. Use `absl::FromCivil(CivilSecond, TimeZone)`. Note that the
1290
+ // behavior of `FromCivil()` differs from `FromDateTime()` for skipped civil
1291
+ // times. If you care about that see `absl::TimeZone::At(absl::CivilSecond)`.
1292
+ inline Time FromDateTime(int64_t year, int mon, int day, int hour,
1293
+ int min, int sec, TimeZone tz) {
1294
+ return ConvertDateTime(year, mon, day, hour, min, sec, tz).pre;
1295
+ }
1296
+
1297
+ // FromTM()
1298
+ //
1299
+ // Converts the `tm_year`, `tm_mon`, `tm_mday`, `tm_hour`, `tm_min`, and
1300
+ // `tm_sec` fields to an `absl::Time` using the given time zone. See ctime(3)
1301
+ // for a description of the expected values of the tm fields. If the civil time
1302
+ // is unique (see `absl::TimeZone::At(absl::CivilSecond)` above), the matching
1303
+ // time instant is returned. Otherwise, the `tm_isdst` field is consulted to
1304
+ // choose between the possible results. For a repeated civil time, `tm_isdst !=
1305
+ // 0` returns the matching DST instant, while `tm_isdst == 0` returns the
1306
+ // matching non-DST instant. For a skipped civil time there is no matching
1307
+ // instant, so `tm_isdst != 0` returns the DST instant, and `tm_isdst == 0`
1308
+ // returns the non-DST instant, that would have matched if the transition never
1309
+ // happened.
1310
+ ABSL_ATTRIBUTE_PURE_FUNCTION Time FromTM(const struct tm& tm, TimeZone tz);
1311
+
1312
+ // ToTM()
1313
+ //
1314
+ // Converts the given `absl::Time` to a struct tm using the given time zone.
1315
+ // See ctime(3) for a description of the values of the tm fields.
1316
+ ABSL_ATTRIBUTE_PURE_FUNCTION struct tm ToTM(Time t, TimeZone tz);
1317
+
1318
+ // RFC3339_full
1319
+ // RFC3339_sec
1320
+ //
1321
+ // FormatTime()/ParseTime() format specifiers for RFC3339 date/time strings,
1322
+ // with trailing zeros trimmed or with fractional seconds omitted altogether.
1323
+ //
1324
+ // Note that RFC3339_sec[] matches an ISO 8601 extended format for date and
1325
+ // time with UTC offset. Also note the use of "%Y": RFC3339 mandates that
1326
+ // years have exactly four digits, but we allow them to take their natural
1327
+ // width.
1328
+ ABSL_DLL extern const char RFC3339_full[]; // %Y-%m-%d%ET%H:%M:%E*S%Ez
1329
+ ABSL_DLL extern const char RFC3339_sec[]; // %Y-%m-%d%ET%H:%M:%S%Ez
1330
+
1331
+ // RFC1123_full
1332
+ // RFC1123_no_wday
1333
+ //
1334
+ // FormatTime()/ParseTime() format specifiers for RFC1123 date/time strings.
1335
+ ABSL_DLL extern const char RFC1123_full[]; // %a, %d %b %E4Y %H:%M:%S %z
1336
+ ABSL_DLL extern const char RFC1123_no_wday[]; // %d %b %E4Y %H:%M:%S %z
1337
+
1338
+ // FormatTime()
1339
+ //
1340
+ // Formats the given `absl::Time` in the `absl::TimeZone` according to the
1341
+ // provided format string. Uses strftime()-like formatting options, with
1342
+ // the following extensions:
1343
+ //
1344
+ // - %Ez - RFC3339-compatible numeric UTC offset (+hh:mm or -hh:mm)
1345
+ // - %E*z - Full-resolution numeric UTC offset (+hh:mm:ss or -hh:mm:ss)
1346
+ // - %E#S - Seconds with # digits of fractional precision
1347
+ // - %E*S - Seconds with full fractional precision (a literal '*')
1348
+ // - %E#f - Fractional seconds with # digits of precision
1349
+ // - %E*f - Fractional seconds with full precision (a literal '*')
1350
+ // - %E4Y - Four-character years (-999 ... -001, 0000, 0001 ... 9999)
1351
+ // - %ET - The RFC3339 "date-time" separator "T"
1352
+ //
1353
+ // Note that %E0S behaves like %S, and %E0f produces no characters. In
1354
+ // contrast %E*f always produces at least one digit, which may be '0'.
1355
+ //
1356
+ // Note that %Y produces as many characters as it takes to fully render the
1357
+ // year. A year outside of [-999:9999] when formatted with %E4Y will produce
1358
+ // more than four characters, just like %Y.
1359
+ //
1360
+ // We recommend that format strings include the UTC offset (%z, %Ez, or %E*z)
1361
+ // so that the result uniquely identifies a time instant.
1362
+ //
1363
+ // Example:
1364
+ //
1365
+ // absl::CivilSecond cs(2013, 1, 2, 3, 4, 5);
1366
+ // absl::Time t = absl::FromCivil(cs, lax);
1367
+ // std::string f = absl::FormatTime("%H:%M:%S", t, lax); // "03:04:05"
1368
+ // f = absl::FormatTime("%H:%M:%E3S", t, lax); // "03:04:05.000"
1369
+ //
1370
+ // Note: If the given `absl::Time` is `absl::InfiniteFuture()`, the returned
1371
+ // string will be exactly "infinite-future". If the given `absl::Time` is
1372
+ // `absl::InfinitePast()`, the returned string will be exactly "infinite-past".
1373
+ // In both cases the given format string and `absl::TimeZone` are ignored.
1374
+ //
1375
+ ABSL_ATTRIBUTE_PURE_FUNCTION std::string FormatTime(absl::string_view format,
1376
+ Time t, TimeZone tz);
1377
+
1378
+ // Convenience functions that format the given time using the RFC3339_full
1379
+ // format. The first overload uses the provided TimeZone, while the second
1380
+ // uses LocalTimeZone().
1381
+ ABSL_ATTRIBUTE_PURE_FUNCTION std::string FormatTime(Time t, TimeZone tz);
1382
+ ABSL_ATTRIBUTE_PURE_FUNCTION std::string FormatTime(Time t);
1383
+
1384
+ // Output stream operator.
1385
+ inline std::ostream& operator<<(std::ostream& os, Time t) {
1386
+ return os << FormatTime(t);
1387
+ }
1388
+
1389
+ // ParseTime()
1390
+ //
1391
+ // Parses an input string according to the provided format string and
1392
+ // returns the corresponding `absl::Time`. Uses strftime()-like formatting
1393
+ // options, with the same extensions as FormatTime(), but with the
1394
+ // exceptions that %E#S is interpreted as %E*S, and %E#f as %E*f. %Ez
1395
+ // and %E*z also accept the same inputs, which (along with %z) includes
1396
+ // 'z' and 'Z' as synonyms for +00:00. %ET accepts either 'T' or 't'.
1397
+ //
1398
+ // %Y consumes as many numeric characters as it can, so the matching data
1399
+ // should always be terminated with a non-numeric. %E4Y always consumes
1400
+ // exactly four characters, including any sign.
1401
+ //
1402
+ // Unspecified fields are taken from the default date and time of ...
1403
+ //
1404
+ // "1970-01-01 00:00:00.0 +0000"
1405
+ //
1406
+ // For example, parsing a string of "15:45" (%H:%M) will return an absl::Time
1407
+ // that represents "1970-01-01 15:45:00.0 +0000".
1408
+ //
1409
+ // Note that since ParseTime() returns time instants, it makes the most sense
1410
+ // to parse fully-specified date/time strings that include a UTC offset (%z,
1411
+ // %Ez, or %E*z).
1412
+ //
1413
+ // Note also that `absl::ParseTime()` only heeds the fields year, month, day,
1414
+ // hour, minute, (fractional) second, and UTC offset. Other fields, like
1415
+ // weekday (%a or %A), while parsed for syntactic validity, are ignored
1416
+ // in the conversion.
1417
+ //
1418
+ // Date and time fields that are out-of-range will be treated as errors
1419
+ // rather than normalizing them like `absl::CivilSecond` does. For example,
1420
+ // it is an error to parse the date "Oct 32, 2013" because 32 is out of range.
1421
+ //
1422
+ // A leap second of ":60" is normalized to ":00" of the following minute
1423
+ // with fractional seconds discarded. The following table shows how the
1424
+ // given seconds and subseconds will be parsed:
1425
+ //
1426
+ // "59.x" -> 59.x // exact
1427
+ // "60.x" -> 00.0 // normalized
1428
+ // "00.x" -> 00.x // exact
1429
+ //
1430
+ // Errors are indicated by returning false and assigning an error message
1431
+ // to the "err" out param if it is non-null.
1432
+ //
1433
+ // Note: If the input string is exactly "infinite-future", the returned
1434
+ // `absl::Time` will be `absl::InfiniteFuture()` and `true` will be returned.
1435
+ // If the input string is "infinite-past", the returned `absl::Time` will be
1436
+ // `absl::InfinitePast()` and `true` will be returned.
1437
+ //
1438
+ bool ParseTime(absl::string_view format, absl::string_view input, Time* time,
1439
+ std::string* err);
1440
+
1441
+ // Like ParseTime() above, but if the format string does not contain a UTC
1442
+ // offset specification (%z/%Ez/%E*z) then the input is interpreted in the
1443
+ // given TimeZone. This means that the input, by itself, does not identify a
1444
+ // unique instant. Being time-zone dependent, it also admits the possibility
1445
+ // of ambiguity or non-existence, in which case the "pre" time (as defined
1446
+ // by TimeZone::TimeInfo) is returned. For these reasons we recommend that
1447
+ // all date/time strings include a UTC offset so they're context independent.
1448
+ bool ParseTime(absl::string_view format, absl::string_view input, TimeZone tz,
1449
+ Time* time, std::string* err);
1450
+
1451
+ // ============================================================================
1452
+ // Implementation Details Follow
1453
+ // ============================================================================
1454
+
1455
+ namespace time_internal {
1456
+
1457
+ // Creates a Duration with a given representation.
1458
+ // REQUIRES: hi,lo is a valid representation of a Duration as specified
1459
+ // in time/duration.cc.
1460
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Duration MakeDuration(int64_t hi,
1461
+ uint32_t lo = 0) {
1462
+ return Duration(hi, lo);
1463
+ }
1464
+
1465
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Duration MakeDuration(int64_t hi,
1466
+ int64_t lo) {
1467
+ return MakeDuration(hi, static_cast<uint32_t>(lo));
1468
+ }
1469
+
1470
+ // Make a Duration value from a floating-point number, as long as that number
1471
+ // is in the range [ 0 .. numeric_limits<int64_t>::max ), that is, as long as
1472
+ // it's positive and can be converted to int64_t without risk of UB.
1473
+ ABSL_ATTRIBUTE_CONST_FUNCTION inline Duration MakePosDoubleDuration(double n) {
1474
+ const int64_t int_secs = static_cast<int64_t>(n);
1475
+ const uint32_t ticks = static_cast<uint32_t>(
1476
+ std::round((n - static_cast<double>(int_secs)) * kTicksPerSecond));
1477
+ return ticks < kTicksPerSecond
1478
+ ? MakeDuration(int_secs, ticks)
1479
+ : MakeDuration(int_secs + 1, ticks - kTicksPerSecond);
1480
+ }
1481
+
1482
+ // Creates a normalized Duration from an almost-normalized (sec,ticks)
1483
+ // pair. sec may be positive or negative. ticks must be in the range
1484
+ // -kTicksPerSecond < *ticks < kTicksPerSecond. If ticks is negative it
1485
+ // will be normalized to a positive value in the resulting Duration.
1486
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Duration MakeNormalizedDuration(
1487
+ int64_t sec, int64_t ticks) {
1488
+ return (ticks < 0) ? MakeDuration(sec - 1, ticks + kTicksPerSecond)
1489
+ : MakeDuration(sec, ticks);
1490
+ }
1491
+
1492
+ // Provide access to the Duration representation.
1493
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr int64_t GetRepHi(Duration d) {
1494
+ return d.rep_hi_;
1495
+ }
1496
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr uint32_t GetRepLo(Duration d) {
1497
+ return d.rep_lo_;
1498
+ }
1499
+
1500
+ // Returns true iff d is positive or negative infinity.
1501
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr bool IsInfiniteDuration(Duration d) {
1502
+ return GetRepLo(d) == ~uint32_t{0};
1503
+ }
1504
+
1505
+ // Returns an infinite Duration with the opposite sign.
1506
+ // REQUIRES: IsInfiniteDuration(d)
1507
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Duration OppositeInfinity(Duration d) {
1508
+ return GetRepHi(d) < 0
1509
+ ? MakeDuration((std::numeric_limits<int64_t>::max)(), ~uint32_t{0})
1510
+ : MakeDuration((std::numeric_limits<int64_t>::min)(),
1511
+ ~uint32_t{0});
1512
+ }
1513
+
1514
+ // Returns (-n)-1 (equivalently -(n+1)) without avoidable overflow.
1515
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr int64_t NegateAndSubtractOne(
1516
+ int64_t n) {
1517
+ // Note: Good compilers will optimize this expression to ~n when using
1518
+ // a two's-complement representation (which is required for int64_t).
1519
+ return (n < 0) ? -(n + 1) : (-n) - 1;
1520
+ }
1521
+
1522
+ // Map between a Time and a Duration since the Unix epoch. Note that these
1523
+ // functions depend on the above mentioned choice of the Unix epoch for the
1524
+ // Time representation (and both need to be Time friends). Without this
1525
+ // knowledge, we would need to add-in/subtract-out UnixEpoch() respectively.
1526
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Time FromUnixDuration(Duration d) {
1527
+ return Time(d);
1528
+ }
1529
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Duration ToUnixDuration(Time t) {
1530
+ return t.rep_;
1531
+ }
1532
+
1533
+ template <std::intmax_t N>
1534
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Duration FromInt64(int64_t v,
1535
+ std::ratio<1, N>) {
1536
+ static_assert(0 < N && N <= 1000 * 1000 * 1000, "Unsupported ratio");
1537
+ // Subsecond ratios cannot overflow.
1538
+ return MakeNormalizedDuration(
1539
+ v / N, v % N * kTicksPerNanosecond * 1000 * 1000 * 1000 / N);
1540
+ }
1541
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Duration FromInt64(int64_t v,
1542
+ std::ratio<60>) {
1543
+ return (v <= (std::numeric_limits<int64_t>::max)() / 60 &&
1544
+ v >= (std::numeric_limits<int64_t>::min)() / 60)
1545
+ ? MakeDuration(v * 60)
1546
+ : v > 0 ? InfiniteDuration() : -InfiniteDuration();
1547
+ }
1548
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Duration FromInt64(int64_t v,
1549
+ std::ratio<3600>) {
1550
+ return (v <= (std::numeric_limits<int64_t>::max)() / 3600 &&
1551
+ v >= (std::numeric_limits<int64_t>::min)() / 3600)
1552
+ ? MakeDuration(v * 3600)
1553
+ : v > 0 ? InfiniteDuration() : -InfiniteDuration();
1554
+ }
1555
+
1556
+ // IsValidRep64<T>(0) is true if the expression `int64_t{std::declval<T>()}` is
1557
+ // valid. That is, if a T can be assigned to an int64_t without narrowing.
1558
+ template <typename T>
1559
+ constexpr auto IsValidRep64(int) -> decltype(int64_t{std::declval<T>()} == 0) {
1560
+ return true;
1561
+ }
1562
+ template <typename T>
1563
+ constexpr auto IsValidRep64(char) -> bool {
1564
+ return false;
1565
+ }
1566
+
1567
+ // Converts a std::chrono::duration to an absl::Duration.
1568
+ template <typename Rep, typename Period>
1569
+ ABSL_ATTRIBUTE_PURE_FUNCTION constexpr Duration FromChrono(
1570
+ const std::chrono::duration<Rep, Period>& d) {
1571
+ static_assert(IsValidRep64<Rep>(0), "duration::rep is invalid");
1572
+ return FromInt64(int64_t{d.count()}, Period{});
1573
+ }
1574
+
1575
+ template <typename Ratio>
1576
+ ABSL_ATTRIBUTE_CONST_FUNCTION int64_t ToInt64(Duration d, Ratio) {
1577
+ // Note: This may be used on MSVC, which may have a system_clock period of
1578
+ // std::ratio<1, 10 * 1000 * 1000>
1579
+ return ToInt64Seconds(d * Ratio::den / Ratio::num);
1580
+ }
1581
+ // Fastpath implementations for the 6 common duration units.
1582
+ ABSL_ATTRIBUTE_CONST_FUNCTION inline int64_t ToInt64(Duration d, std::nano) {
1583
+ return ToInt64Nanoseconds(d);
1584
+ }
1585
+ ABSL_ATTRIBUTE_CONST_FUNCTION inline int64_t ToInt64(Duration d, std::micro) {
1586
+ return ToInt64Microseconds(d);
1587
+ }
1588
+ ABSL_ATTRIBUTE_CONST_FUNCTION inline int64_t ToInt64(Duration d, std::milli) {
1589
+ return ToInt64Milliseconds(d);
1590
+ }
1591
+ ABSL_ATTRIBUTE_CONST_FUNCTION inline int64_t ToInt64(Duration d,
1592
+ std::ratio<1>) {
1593
+ return ToInt64Seconds(d);
1594
+ }
1595
+ ABSL_ATTRIBUTE_CONST_FUNCTION inline int64_t ToInt64(Duration d,
1596
+ std::ratio<60>) {
1597
+ return ToInt64Minutes(d);
1598
+ }
1599
+ ABSL_ATTRIBUTE_CONST_FUNCTION inline int64_t ToInt64(Duration d,
1600
+ std::ratio<3600>) {
1601
+ return ToInt64Hours(d);
1602
+ }
1603
+
1604
+ // Converts an absl::Duration to a chrono duration of type T.
1605
+ template <typename T>
1606
+ ABSL_ATTRIBUTE_CONST_FUNCTION T ToChronoDuration(Duration d) {
1607
+ using Rep = typename T::rep;
1608
+ using Period = typename T::period;
1609
+ static_assert(IsValidRep64<Rep>(0), "duration::rep is invalid");
1610
+ if (time_internal::IsInfiniteDuration(d))
1611
+ return d < ZeroDuration() ? (T::min)() : (T::max)();
1612
+ const auto v = ToInt64(d, Period{});
1613
+ if (v > (std::numeric_limits<Rep>::max)()) return (T::max)();
1614
+ if (v < (std::numeric_limits<Rep>::min)()) return (T::min)();
1615
+ return T{v};
1616
+ }
1617
+
1618
+ } // namespace time_internal
1619
+
1620
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr bool operator<(Duration lhs,
1621
+ Duration rhs) {
1622
+ return time_internal::GetRepHi(lhs) != time_internal::GetRepHi(rhs)
1623
+ ? time_internal::GetRepHi(lhs) < time_internal::GetRepHi(rhs)
1624
+ : time_internal::GetRepHi(lhs) == (std::numeric_limits<int64_t>::min)()
1625
+ ? time_internal::GetRepLo(lhs) + 1 <
1626
+ time_internal::GetRepLo(rhs) + 1
1627
+ : time_internal::GetRepLo(lhs) < time_internal::GetRepLo(rhs);
1628
+ }
1629
+
1630
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr bool operator==(Duration lhs,
1631
+ Duration rhs) {
1632
+ return time_internal::GetRepHi(lhs) == time_internal::GetRepHi(rhs) &&
1633
+ time_internal::GetRepLo(lhs) == time_internal::GetRepLo(rhs);
1634
+ }
1635
+
1636
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Duration operator-(Duration d) {
1637
+ // This is a little interesting because of the special cases.
1638
+ //
1639
+ // If rep_lo_ is zero, we have it easy; it's safe to negate rep_hi_, we're
1640
+ // dealing with an integral number of seconds, and the only special case is
1641
+ // the maximum negative finite duration, which can't be negated.
1642
+ //
1643
+ // Infinities stay infinite, and just change direction.
1644
+ //
1645
+ // Finally we're in the case where rep_lo_ is non-zero, and we can borrow
1646
+ // a second's worth of ticks and avoid overflow (as negating int64_t-min + 1
1647
+ // is safe).
1648
+ return time_internal::GetRepLo(d) == 0
1649
+ ? time_internal::GetRepHi(d) ==
1650
+ (std::numeric_limits<int64_t>::min)()
1651
+ ? InfiniteDuration()
1652
+ : time_internal::MakeDuration(-time_internal::GetRepHi(d))
1653
+ : time_internal::IsInfiniteDuration(d)
1654
+ ? time_internal::OppositeInfinity(d)
1655
+ : time_internal::MakeDuration(
1656
+ time_internal::NegateAndSubtractOne(
1657
+ time_internal::GetRepHi(d)),
1658
+ time_internal::kTicksPerSecond -
1659
+ time_internal::GetRepLo(d));
1660
+ }
1661
+
1662
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Duration InfiniteDuration() {
1663
+ return time_internal::MakeDuration((std::numeric_limits<int64_t>::max)(),
1664
+ ~uint32_t{0});
1665
+ }
1666
+
1667
+ ABSL_ATTRIBUTE_PURE_FUNCTION constexpr Duration FromChrono(
1668
+ const std::chrono::nanoseconds& d) {
1669
+ return time_internal::FromChrono(d);
1670
+ }
1671
+ ABSL_ATTRIBUTE_PURE_FUNCTION constexpr Duration FromChrono(
1672
+ const std::chrono::microseconds& d) {
1673
+ return time_internal::FromChrono(d);
1674
+ }
1675
+ ABSL_ATTRIBUTE_PURE_FUNCTION constexpr Duration FromChrono(
1676
+ const std::chrono::milliseconds& d) {
1677
+ return time_internal::FromChrono(d);
1678
+ }
1679
+ ABSL_ATTRIBUTE_PURE_FUNCTION constexpr Duration FromChrono(
1680
+ const std::chrono::seconds& d) {
1681
+ return time_internal::FromChrono(d);
1682
+ }
1683
+ ABSL_ATTRIBUTE_PURE_FUNCTION constexpr Duration FromChrono(
1684
+ const std::chrono::minutes& d) {
1685
+ return time_internal::FromChrono(d);
1686
+ }
1687
+ ABSL_ATTRIBUTE_PURE_FUNCTION constexpr Duration FromChrono(
1688
+ const std::chrono::hours& d) {
1689
+ return time_internal::FromChrono(d);
1690
+ }
1691
+
1692
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Time FromUnixNanos(int64_t ns) {
1693
+ return time_internal::FromUnixDuration(Nanoseconds(ns));
1694
+ }
1695
+
1696
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Time FromUnixMicros(int64_t us) {
1697
+ return time_internal::FromUnixDuration(Microseconds(us));
1698
+ }
1699
+
1700
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Time FromUnixMillis(int64_t ms) {
1701
+ return time_internal::FromUnixDuration(Milliseconds(ms));
1702
+ }
1703
+
1704
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Time FromUnixSeconds(int64_t s) {
1705
+ return time_internal::FromUnixDuration(Seconds(s));
1706
+ }
1707
+
1708
+ ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Time FromTimeT(time_t t) {
1709
+ return time_internal::FromUnixDuration(Seconds(t));
1710
+ }
1711
+
1712
+ ABSL_NAMESPACE_END
1713
+ } // namespace absl
1714
+
1715
+ #endif // ABSL_TIME_TIME_H_