libmongocrypt-helper 1.7.4.0.1002 → 1.8.0.0.1001

Sign up to get free protection for your applications and to get access to all the features.
Files changed (396) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data/ext/libmongocrypt/libmongocrypt/CHANGELOG.md +9 -7
  4. data/ext/libmongocrypt/libmongocrypt/CMakeLists.txt +17 -23
  5. data/ext/libmongocrypt/libmongocrypt/Earthfile +374 -0
  6. data/ext/libmongocrypt/libmongocrypt/README.md +7 -7
  7. data/ext/libmongocrypt/libmongocrypt/VERSION_CURRENT +1 -1
  8. data/ext/libmongocrypt/libmongocrypt/bindings/cs/MongoDB.Libmongocrypt/CryptClient.cs +25 -6
  9. data/ext/libmongocrypt/libmongocrypt/bindings/cs/MongoDB.Libmongocrypt/Library.cs +25 -3
  10. data/ext/libmongocrypt/libmongocrypt/bindings/cs/MongoDB.Libmongocrypt.Example/MongoDB.Libmongocrypt.Example.csproj +1 -1
  11. data/ext/libmongocrypt/libmongocrypt/bindings/cs/MongoDB.Libmongocrypt.Test/BasicTests.cs +1 -1
  12. data/ext/libmongocrypt/libmongocrypt/bindings/cs/Scripts/build.cake +3 -2
  13. data/ext/libmongocrypt/libmongocrypt/bindings/cs/cs.sln +79 -0
  14. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/build.gradle.kts +2 -2
  15. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/test/java/com/mongodb/crypt/capi/MongoCryptTest.java +6 -4
  16. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/test/resources/fle2-find-range-explicit-v2/int32/encrypted-payload.json +26 -0
  17. data/ext/libmongocrypt/libmongocrypt/bindings/node/CHANGELOG.md +24 -0
  18. data/ext/libmongocrypt/libmongocrypt/bindings/node/README.md +134 -5
  19. data/ext/libmongocrypt/libmongocrypt/bindings/node/etc/build-static.sh +3 -6
  20. data/ext/libmongocrypt/libmongocrypt/bindings/node/index.d.ts +203 -77
  21. data/ext/libmongocrypt/libmongocrypt/bindings/node/lib/autoEncrypter.js +1 -1
  22. data/ext/libmongocrypt/libmongocrypt/bindings/node/lib/clientEncryption.js +165 -43
  23. data/ext/libmongocrypt/libmongocrypt/bindings/node/lib/common.js +12 -14
  24. data/ext/libmongocrypt/libmongocrypt/bindings/node/lib/errors.js +75 -0
  25. data/ext/libmongocrypt/libmongocrypt/bindings/node/lib/index.js +34 -3
  26. data/ext/libmongocrypt/libmongocrypt/bindings/node/lib/providers/aws.js +26 -0
  27. data/ext/libmongocrypt/libmongocrypt/bindings/node/lib/providers/azure.js +178 -0
  28. data/ext/libmongocrypt/libmongocrypt/bindings/node/lib/providers/gcp.js +24 -0
  29. data/ext/libmongocrypt/libmongocrypt/bindings/node/lib/providers/index.js +54 -0
  30. data/ext/libmongocrypt/libmongocrypt/bindings/node/lib/providers/utils.js +39 -0
  31. data/ext/libmongocrypt/libmongocrypt/bindings/node/lib/stateMachine.js +9 -4
  32. data/ext/libmongocrypt/libmongocrypt/bindings/node/package-lock.json +4440 -5189
  33. data/ext/libmongocrypt/libmongocrypt/bindings/node/package.json +27 -8
  34. data/ext/libmongocrypt/libmongocrypt/bindings/node/src/mongocrypt.cc +65 -38
  35. data/ext/libmongocrypt/libmongocrypt/bindings/node/test/autoEncrypter.test.js +4 -7
  36. data/ext/libmongocrypt/libmongocrypt/bindings/node/test/clientEncryption.test.js +434 -42
  37. data/ext/libmongocrypt/libmongocrypt/bindings/node/test/common.test.js +94 -0
  38. data/ext/libmongocrypt/libmongocrypt/bindings/node/test/cryptoCallbacks.test.js +1 -45
  39. data/ext/libmongocrypt/libmongocrypt/bindings/node/test/index.test.js +45 -0
  40. data/ext/libmongocrypt/libmongocrypt/bindings/node/test/mongocryptdManager.test.js +1 -1
  41. data/ext/libmongocrypt/libmongocrypt/bindings/node/test/providers/credentialsProvider.test.js +551 -0
  42. data/ext/libmongocrypt/libmongocrypt/bindings/node/test/release.test.js +10 -3
  43. data/ext/libmongocrypt/libmongocrypt/bindings/node/test/requirements.helper.js +23 -1
  44. data/ext/libmongocrypt/libmongocrypt/bindings/node/test/stateMachine.test.js +1 -1
  45. data/ext/libmongocrypt/libmongocrypt/bindings/node/test/tools/chai-addons.js +8 -0
  46. data/ext/libmongocrypt/libmongocrypt/bindings/node/test/types/index.test-d.ts +63 -0
  47. data/ext/libmongocrypt/libmongocrypt/bindings/python/CHANGELOG.rst +26 -0
  48. data/ext/libmongocrypt/libmongocrypt/bindings/python/README.rst +2 -2
  49. data/ext/libmongocrypt/libmongocrypt/bindings/python/build-manylinux-wheel.sh +1 -1
  50. data/ext/libmongocrypt/libmongocrypt/bindings/python/pymongocrypt/binding.py +128 -238
  51. data/ext/libmongocrypt/libmongocrypt/bindings/python/pymongocrypt/compat.py +0 -27
  52. data/ext/libmongocrypt/libmongocrypt/bindings/python/pymongocrypt/explicit_encrypter.py +1 -1
  53. data/ext/libmongocrypt/libmongocrypt/bindings/python/pymongocrypt/mongocrypt.py +5 -21
  54. data/ext/libmongocrypt/libmongocrypt/bindings/python/pymongocrypt/version.py +2 -2
  55. data/ext/libmongocrypt/libmongocrypt/bindings/python/release.sh +5 -5
  56. data/ext/libmongocrypt/libmongocrypt/bindings/python/setup.py +14 -9
  57. data/ext/libmongocrypt/libmongocrypt/bindings/python/test/__init__.py +1 -10
  58. data/ext/libmongocrypt/libmongocrypt/bindings/python/test/data/fle2-find-range-explicit-v2/int32/encrypted-payload.json +26 -0
  59. data/ext/libmongocrypt/libmongocrypt/bindings/python/test/test_mongocrypt.py +5 -5
  60. data/ext/libmongocrypt/libmongocrypt/bindings/python/test-requirements.txt +4 -12
  61. data/ext/libmongocrypt/libmongocrypt/cmake/ImportBSON.cmake +8 -6
  62. data/ext/libmongocrypt/libmongocrypt/cmake/IntelDFP.cmake +2 -1
  63. data/ext/libmongocrypt/libmongocrypt/cmake/Platform.cmake +50 -0
  64. data/ext/libmongocrypt/libmongocrypt/cmake/mongocrypt-config.cmake +21 -0
  65. data/ext/libmongocrypt/libmongocrypt/debian/gbp.conf +2 -2
  66. data/ext/libmongocrypt/libmongocrypt/etc/c6-vault.repo +39 -0
  67. data/ext/libmongocrypt/libmongocrypt/etc/fle2_aead_generate_tests.py +15 -24
  68. data/ext/libmongocrypt/libmongocrypt/etc/fle2_crypto.py +66 -54
  69. data/ext/libmongocrypt/libmongocrypt/etc/fle2_generate_tests.py +14 -23
  70. data/ext/libmongocrypt/libmongocrypt/etc/fle2v2_aead_generate_tests.py +32 -0
  71. data/ext/libmongocrypt/libmongocrypt/etc/format-all.sh +12 -0
  72. data/ext/libmongocrypt/libmongocrypt/etc/format.sh +16 -0
  73. data/ext/libmongocrypt/libmongocrypt/etc/install-package.sh +48 -0
  74. data/ext/libmongocrypt/libmongocrypt/etc/mongo-inteldfp-libmongocrypt-pr-625.patch +13 -0
  75. data/ext/libmongocrypt/libmongocrypt/src/crypto/cng.c +381 -436
  76. data/ext/libmongocrypt/libmongocrypt/src/crypto/commoncrypto.c +162 -227
  77. data/ext/libmongocrypt/libmongocrypt/src/crypto/libcrypto.c +180 -248
  78. data/ext/libmongocrypt/libmongocrypt/src/crypto/none.c +33 -55
  79. data/ext/libmongocrypt/libmongocrypt/src/csfle-markup.cpp +175 -205
  80. data/ext/libmongocrypt/libmongocrypt/src/mc-array-private.h +10 -21
  81. data/ext/libmongocrypt/libmongocrypt/src/mc-array.c +44 -56
  82. data/ext/libmongocrypt/libmongocrypt/src/mc-check-conversions-private.h +4 -8
  83. data/ext/libmongocrypt/libmongocrypt/src/mc-dec128.h +351 -463
  84. data/ext/libmongocrypt/libmongocrypt/src/mc-dec128.test.cpp +59 -66
  85. data/ext/libmongocrypt/libmongocrypt/src/mc-efc-private.h +7 -11
  86. data/ext/libmongocrypt/libmongocrypt/src/mc-efc.c +80 -92
  87. data/ext/libmongocrypt/libmongocrypt/src/mc-fle-blob-subtype-private.h +18 -10
  88. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-encryption-placeholder-private.h +59 -70
  89. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-encryption-placeholder.c +384 -439
  90. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-find-equality-payload-private-v2.h +41 -0
  91. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-find-equality-payload-private.h +11 -18
  92. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-find-equality-payload-v2.c +135 -0
  93. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-find-equality-payload.c +109 -126
  94. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-find-range-payload-private-v2.h +88 -0
  95. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-find-range-payload-private.h +24 -27
  96. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-find-range-payload-v2.c +137 -0
  97. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-find-range-payload.c +106 -125
  98. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-insert-update-payload-private-v2.h +117 -0
  99. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-insert-update-payload-private.h +28 -36
  100. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-insert-update-payload-v2.c +294 -0
  101. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-insert-update-payload.c +237 -278
  102. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-payload-iev-private-v2.h +133 -0
  103. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-payload-iev-private.h +67 -56
  104. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-payload-iev-v2.c +437 -0
  105. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-payload-iev.c +476 -325
  106. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-payload-uev-common-private.h +69 -0
  107. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-payload-uev-common.c +182 -0
  108. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-payload-uev-private.h +23 -31
  109. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-payload-uev-v2-private.h +85 -0
  110. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-payload-uev-v2.c +142 -0
  111. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-payload-uev.c +104 -231
  112. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-range-operator-private.h +8 -7
  113. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-rfds-private.h +55 -56
  114. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-rfds.c +517 -580
  115. data/ext/libmongocrypt/libmongocrypt/src/mc-optional-private.h +36 -66
  116. data/ext/libmongocrypt/libmongocrypt/src/mc-range-edge-generation-private.h +57 -76
  117. data/ext/libmongocrypt/libmongocrypt/src/mc-range-edge-generation.c +158 -189
  118. data/ext/libmongocrypt/libmongocrypt/src/mc-range-encoding-private.h +36 -42
  119. data/ext/libmongocrypt/libmongocrypt/src/mc-range-encoding.c +515 -558
  120. data/ext/libmongocrypt/libmongocrypt/src/mc-range-mincover-generator.template.h +155 -191
  121. data/ext/libmongocrypt/libmongocrypt/src/mc-range-mincover-private.h +43 -53
  122. data/ext/libmongocrypt/libmongocrypt/src/mc-range-mincover.c +170 -240
  123. data/ext/libmongocrypt/libmongocrypt/src/mc-rangeopts-private.h +29 -34
  124. data/ext/libmongocrypt/libmongocrypt/src/mc-rangeopts.c +289 -338
  125. data/ext/libmongocrypt/libmongocrypt/src/mc-reader-private.h +36 -71
  126. data/ext/libmongocrypt/libmongocrypt/src/mc-reader.c +111 -164
  127. data/ext/libmongocrypt/libmongocrypt/src/mc-tokens-private.h +55 -49
  128. data/ext/libmongocrypt/libmongocrypt/src/mc-tokens.c +109 -125
  129. data/ext/libmongocrypt/libmongocrypt/src/mc-writer-private.h +66 -0
  130. data/ext/libmongocrypt/libmongocrypt/src/mc-writer.c +141 -0
  131. data/ext/libmongocrypt/libmongocrypt/src/mlib/check.hpp +37 -55
  132. data/ext/libmongocrypt/libmongocrypt/src/mlib/endian.h +11 -11
  133. data/ext/libmongocrypt/libmongocrypt/src/mlib/error.h +27 -32
  134. data/ext/libmongocrypt/libmongocrypt/src/mlib/int128.h +444 -499
  135. data/ext/libmongocrypt/libmongocrypt/src/mlib/int128.test.cpp +251 -334
  136. data/ext/libmongocrypt/libmongocrypt/src/mlib/macros.h +4 -5
  137. data/ext/libmongocrypt/libmongocrypt/src/mlib/path.h +196 -231
  138. data/ext/libmongocrypt/libmongocrypt/src/mlib/path.test.c +56 -79
  139. data/ext/libmongocrypt/libmongocrypt/src/mlib/str.h +411 -530
  140. data/ext/libmongocrypt/libmongocrypt/src/mlib/str.test.c +116 -131
  141. data/ext/libmongocrypt/libmongocrypt/src/mlib/thread.h +17 -26
  142. data/ext/libmongocrypt/libmongocrypt/src/mlib/user-check.h +2 -2
  143. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-binary-private.h +3 -6
  144. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-binary.c +31 -48
  145. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-buffer-private.h +55 -131
  146. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-buffer.c +444 -565
  147. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-cache-collinfo-private.h +1 -2
  148. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-cache-collinfo.c +28 -45
  149. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-cache-key-private.h +11 -17
  150. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-cache-key.c +103 -132
  151. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-cache-oauth-private.h +8 -14
  152. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-cache-oauth.c +78 -90
  153. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-cache-private.h +26 -45
  154. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-cache.c +220 -273
  155. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-ciphertext-private.h +13 -25
  156. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-ciphertext.c +147 -166
  157. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-compat.h +2 -2
  158. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-crypto-private.h +110 -204
  159. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-crypto.c +1137 -1565
  160. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-ctx-datakey.c +425 -472
  161. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-ctx-decrypt.c +817 -694
  162. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-ctx-encrypt.c +2394 -2697
  163. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-ctx-private.h +166 -186
  164. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-ctx-rewrap-many-datakey.c +308 -351
  165. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-ctx.c +921 -1138
  166. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-dll-private.h +16 -24
  167. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-endian-private.h +44 -58
  168. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-endpoint-private.h +21 -25
  169. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-endpoint.c +167 -181
  170. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-kek-private.h +37 -43
  171. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-kek.c +215 -253
  172. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-key-broker-private.h +73 -108
  173. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-key-broker.c +889 -1034
  174. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-key-private.h +27 -44
  175. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-key.c +349 -402
  176. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-kms-ctx-private.h +92 -120
  177. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-kms-ctx.c +1397 -1612
  178. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-log-private.h +35 -67
  179. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-log.c +49 -83
  180. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-marking-private.h +30 -36
  181. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-marking.c +1821 -1470
  182. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-mutex-private.h +7 -12
  183. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-opts-private.h +80 -108
  184. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-opts.c +354 -424
  185. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-private.h +101 -117
  186. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-status-private.h +3 -8
  187. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-status.c +92 -119
  188. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-traverse-util-private.h +19 -29
  189. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-traverse-util.c +136 -176
  190. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-util-private.h +11 -21
  191. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-util.c +96 -135
  192. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt.c +1092 -1320
  193. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt.h +130 -295
  194. data/ext/libmongocrypt/libmongocrypt/src/os_posix/os_dll.c +66 -78
  195. data/ext/libmongocrypt/libmongocrypt/src/os_posix/os_mutex.c +20 -28
  196. data/ext/libmongocrypt/libmongocrypt/src/os_win/os_dll.c +60 -73
  197. data/ext/libmongocrypt/libmongocrypt/src/os_win/os_mutex.c +8 -16
  198. data/ext/libmongocrypt/libmongocrypt/test/crypt_shared-stub.cpp +57 -87
  199. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-delete/empty/encrypted-payload-v2.json +60 -0
  200. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-delete/success/encrypted-payload-v2.json +67 -0
  201. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-explain/with-csfle/encrypted-payload.json +2 -2
  202. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-explicit/find-indexed-contentionFactor1-v2.json +8 -0
  203. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-explicit/find-indexed-v2.json +8 -0
  204. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-explicit/insert-indexed-contentionFactor1-v2.json +8 -0
  205. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-explicit/insert-indexed-same-user-and-index-key-v2.json +8 -0
  206. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-explicit/insert-indexed-v2.json +8 -0
  207. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-equality-v2/cmd.json +6 -0
  208. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-equality-v2/encrypted-field-map.json +22 -0
  209. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-equality-v2/encrypted-payload.json +40 -0
  210. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-equality-v2/mongocryptd-reply.json +19 -0
  211. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/date-v2/cmd.json +10 -0
  212. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/date-v2/encrypted-field-map.json +27 -0
  213. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/date-v2/encrypted-payload.json +41 -0
  214. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/date-v2/mongocryptd-reply.json +49 -0
  215. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/decimal128-precision-v2/cmd.json +6 -0
  216. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/decimal128-precision-v2/encrypted-field-map.json +30 -0
  217. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/decimal128-precision-v2/encrypted-payload.json +50 -0
  218. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/decimal128-precision-v2/mongocryptd-reply.json +58 -0
  219. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/decimal128-v2/cmd.json +6 -0
  220. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/decimal128-v2/encrypted-field-map.json +27 -0
  221. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/decimal128-v2/encrypted-payload.json +41 -0
  222. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/decimal128-v2/mongocryptd-reply.json +49 -0
  223. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/double-precision-v2/cmd.json +8 -0
  224. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/double-precision-v2/encrypted-field-map.json +30 -0
  225. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/double-precision-v2/encrypted-payload.json +44 -0
  226. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/double-precision-v2/mongocryptd-reply.json +52 -0
  227. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/double-v2/cmd.json +8 -0
  228. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/double-v2/encrypted-field-map.json +27 -0
  229. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/double-v2/encrypted-payload.json +41 -0
  230. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/double-v2/mongocryptd-reply.json +49 -0
  231. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/int32-v2/cmd.json +8 -0
  232. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/int32-v2/encrypted-field-map.json +27 -0
  233. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/int32-v2/encrypted-payload.json +41 -0
  234. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/int32-v2/mongocryptd-reply.json +49 -0
  235. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/int64-v2/cmd.json +8 -0
  236. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/int64-v2/encrypted-field-map.json +27 -0
  237. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/int64-v2/encrypted-payload.json +41 -0
  238. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/int64-v2/mongocryptd-reply.json +49 -0
  239. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range-explicit/double/encrypted-payload-v2.json +26 -0
  240. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range-explicit/double-precision/encrypted-payload-v2.json +26 -0
  241. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range-explicit/int32/encrypted-payload-v2.json +26 -0
  242. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range-explicit/int32-nominmax/encrypted-payload-v2.json +26 -0
  243. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range-explicit/int32-openinterval/encrypted-payload-v2.json +16 -0
  244. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert/cmd.json +1 -1
  245. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/date/RNG_DATA.h +65 -65
  246. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/date-v2/cmd.json +13 -0
  247. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/date-v2/encrypted-field-map.json +27 -0
  248. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/date-v2/encrypted-payload.json +44 -0
  249. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/date-v2/mongocryptd-reply.json +52 -0
  250. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/decimal128/RNG_DATA.h +132 -132
  251. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/decimal128-precision/RNG_DATA.h +71 -71
  252. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/decimal128-precision-v2/cmd.json +9 -0
  253. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/decimal128-precision-v2/encrypted-field-map.json +30 -0
  254. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/decimal128-precision-v2/encrypted-payload.json +53 -0
  255. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/decimal128-precision-v2/mongocryptd-reply.json +61 -0
  256. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/decimal128-v2/cmd.json +9 -0
  257. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/decimal128-v2/encrypted-field-map.json +27 -0
  258. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/decimal128-v2/encrypted-payload.json +44 -0
  259. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/decimal128-v2/mongocryptd-reply.json +52 -0
  260. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/double/RNG_DATA.h +68 -68
  261. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/double-precision/RNG_DATA.h +19 -19
  262. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/double-precision-v2/cmd.json +11 -0
  263. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/double-precision-v2/encrypted-field-map.json +30 -0
  264. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/double-precision-v2/encrypted-payload.json +47 -0
  265. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/double-precision-v2/mongocryptd-reply.json +55 -0
  266. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/double-v2/cmd.json +11 -0
  267. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/double-v2/encrypted-field-map.json +27 -0
  268. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/double-v2/encrypted-payload.json +44 -0
  269. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/double-v2/mongocryptd-reply.json +52 -0
  270. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/int32/RNG_DATA.h +25 -25
  271. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/int32-v2/cmd.json +11 -0
  272. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/int32-v2/encrypted-field-map.json +27 -0
  273. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/int32-v2/encrypted-payload.json +44 -0
  274. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/int32-v2/mongocryptd-reply.json +52 -0
  275. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/int64/RNG_DATA.h +65 -65
  276. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/int64-v2/cmd.json +11 -0
  277. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/int64-v2/encrypted-field-map.json +27 -0
  278. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/int64-v2/encrypted-payload.json +44 -0
  279. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/int64-v2/mongocryptd-reply.json +52 -0
  280. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range-explicit/double/RNG_DATA.h +68 -68
  281. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range-explicit/double/encrypted-payload-v2.json +8 -0
  282. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range-explicit/double-precision/RNG_DATA.h +19 -19
  283. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range-explicit/double-precision/encrypted-payload-v2.json +8 -0
  284. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range-explicit/int32/RNG_DATA.h +25 -25
  285. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range-explicit/int32/encrypted-payload-v2.json +8 -0
  286. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range-explicit/int32-nominmax/encrypted-payload-v2.json +8 -0
  287. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range-explicit/sparsity-2/RNG_DATA.h +15 -15
  288. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range-explicit/sparsity-2/encrypted-payload-v2.json +8 -0
  289. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-unindexed-v2/cmd.json +9 -0
  290. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-unindexed-v2/encrypted-field-map.json +18 -0
  291. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-unindexed-v2/encrypted-payload.json +14 -0
  292. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-unindexed-v2/mongocryptd-reply.json +41 -0
  293. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-v2/cmd.json +9 -0
  294. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-v2/encrypted-field-map.json +22 -0
  295. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-v2/encrypted-payload.json +39 -0
  296. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-v2/mongocryptd-reply.json +49 -0
  297. data/ext/libmongocrypt/libmongocrypt/test/data/iev-v2/FLECrudTest-insertOneRangeV2.json +10 -0
  298. data/ext/libmongocrypt/libmongocrypt/test/data/iev-v2/FLECrudTest-insertOneV2.json +10 -0
  299. data/ext/libmongocrypt/libmongocrypt/test/data/roundtrip/README.md +17 -0
  300. data/ext/libmongocrypt/libmongocrypt/test/data/roundtrip/aes-ctr.json +29 -0
  301. data/ext/libmongocrypt/libmongocrypt/test/data/roundtrip/fle2-fixed.json +10 -0
  302. data/ext/libmongocrypt/libmongocrypt/test/data/roundtrip/fle2-generated.json +38 -0
  303. data/ext/libmongocrypt/libmongocrypt/test/data/roundtrip/fle2aead-decrypt.json +35 -0
  304. data/ext/libmongocrypt/libmongocrypt/test/data/roundtrip/fle2aead-fixed.json +29 -0
  305. data/ext/libmongocrypt/libmongocrypt/test/data/roundtrip/fle2aead-generated.json +122 -0
  306. data/ext/libmongocrypt/libmongocrypt/test/data/roundtrip/fle2v2-aead-fixed.json +29 -0
  307. data/ext/libmongocrypt/libmongocrypt/test/data/roundtrip/fle2v2-aead-generated.json +122 -0
  308. data/ext/libmongocrypt/libmongocrypt/test/data/roundtrip/mcgrew.json +12 -0
  309. data/ext/libmongocrypt/libmongocrypt/test/data/roundtrip/nist.json +20 -0
  310. data/ext/libmongocrypt/libmongocrypt/test/data/tokens/README.md +27 -0
  311. data/ext/libmongocrypt/libmongocrypt/test/data/tokens/mc.json +21 -0
  312. data/ext/libmongocrypt/libmongocrypt/test/data/tokens/server.json +21 -0
  313. data/ext/libmongocrypt/libmongocrypt/test/example-no-bson.c +4 -4
  314. data/ext/libmongocrypt/libmongocrypt/test/example-state-machine.c +278 -323
  315. data/ext/libmongocrypt/libmongocrypt/test/fuzz_kms.c +8 -7
  316. data/ext/libmongocrypt/libmongocrypt/test/test-dll.cpp +6 -7
  317. data/ext/libmongocrypt/libmongocrypt/test/test-gcp-auth.c +221 -283
  318. data/ext/libmongocrypt/libmongocrypt/test/test-mc-efc.c +58 -73
  319. data/ext/libmongocrypt/libmongocrypt/test/test-mc-fle2-find-equality-payload-v2.c +78 -0
  320. data/ext/libmongocrypt/libmongocrypt/test/test-mc-fle2-find-range-payload-v2.c +89 -0
  321. data/ext/libmongocrypt/libmongocrypt/test/test-mc-fle2-payload-iev-v2.c +248 -0
  322. data/ext/libmongocrypt/libmongocrypt/test/test-mc-fle2-payload-iev.c +467 -414
  323. data/ext/libmongocrypt/libmongocrypt/test/test-mc-fle2-payload-iup-v2.c +172 -0
  324. data/ext/libmongocrypt/libmongocrypt/test/test-mc-fle2-payload-iup.c +141 -159
  325. data/ext/libmongocrypt/libmongocrypt/test/test-mc-fle2-payload-uev-v2.c +338 -0
  326. data/ext/libmongocrypt/libmongocrypt/test/test-mc-fle2-payload-uev.c +238 -176
  327. data/ext/libmongocrypt/libmongocrypt/test/test-mc-fle2-rfds.c +373 -474
  328. data/ext/libmongocrypt/libmongocrypt/test/test-mc-range-edge-generation.c +346 -388
  329. data/ext/libmongocrypt/libmongocrypt/test/test-mc-range-encoding.c +708 -825
  330. data/ext/libmongocrypt/libmongocrypt/test/test-mc-range-mincover.c +417 -481
  331. data/ext/libmongocrypt/libmongocrypt/test/test-mc-rangeopts.c +110 -144
  332. data/ext/libmongocrypt/libmongocrypt/test/test-mc-reader.c +124 -207
  333. data/ext/libmongocrypt/libmongocrypt/test/test-mc-tokens.c +223 -213
  334. data/ext/libmongocrypt/libmongocrypt/test/test-mc-writer.c +176 -0
  335. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-assert-match-bson.c +634 -807
  336. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-assert-match-bson.h +1 -2
  337. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-assert.h +168 -189
  338. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-buffer.c +187 -211
  339. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-cache-oauth.c +34 -36
  340. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-cache.c +210 -233
  341. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-ciphertext.c +185 -220
  342. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-compact.c +331 -445
  343. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-crypto-hooks.c +670 -814
  344. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-crypto-std-hooks.c +102 -135
  345. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-crypto-std-hooks.h +54 -71
  346. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-crypto.c +394 -846
  347. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-csfle-lib.c +159 -183
  348. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-ctx-decrypt.c +867 -1045
  349. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-ctx-encrypt.c +4349 -4713
  350. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-ctx-rewrap-many-datakey.c +750 -964
  351. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-ctx-setopt.c +991 -1178
  352. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-datakey.c +342 -419
  353. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-dll.c +23 -30
  354. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-endpoint.c +98 -111
  355. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-kek.c +49 -52
  356. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-key-broker.c +770 -920
  357. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-key-cache.c +354 -407
  358. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-key.c +197 -245
  359. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-kms-ctx.c +286 -370
  360. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-kms-responses.c +147 -166
  361. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-local-kms.c +50 -61
  362. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-log.c +85 -100
  363. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-marking.c +656 -692
  364. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-status.c +46 -58
  365. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-traverse-util.c +377 -451
  366. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-util.c +48 -67
  367. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-util.h +4 -10
  368. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt.c +827 -918
  369. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt.h +111 -172
  370. data/ext/libmongocrypt/libmongocrypt/test/util/csfle.c +508 -559
  371. data/ext/libmongocrypt/libmongocrypt/test/util/util.c +735 -881
  372. data/ext/libmongocrypt/libmongocrypt/test/util/util.h +33 -55
  373. data/lib/libmongocrypt_helper/version.rb +2 -2
  374. data.tar.gz.sig +0 -0
  375. metadata +154 -26
  376. metadata.gz.sig +0 -0
  377. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/test/resources/fle2-find-range-explicit/int32/encrypted-payload.json +0 -26
  378. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/test/resources/fle2-find-range-explicit/int32/key-document.json +0 -0
  379. data/ext/libmongocrypt/libmongocrypt/bindings/node/lib/credentialsProvider.js +0 -33
  380. data/ext/libmongocrypt/libmongocrypt/bindings/node/test/credentialsProvider.test.js +0 -163
  381. data/ext/libmongocrypt/libmongocrypt/bindings/python/test/data/fle2-find-range-explicit/int32/encrypted-payload.json +0 -26
  382. data/ext/libmongocrypt/libmongocrypt/test/data/aes-ctr.cstructs +0 -359
  383. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-aead.cstructs +0 -109
  384. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range-explicit/int32-nominmax/encrypted-payload.json +0 -26
  385. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range-explicit/int32-nominmax/rangeopts.json +0 -5
  386. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range-explicit/int32-nominmax/value-to-encrypt.json +0 -20
  387. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range-explicit/int32-nominmax/RNG_DATA.h +0 -70
  388. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range-explicit/int32-nominmax/encrypted-payload.json +0 -8
  389. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range-explicit/int32-nominmax/rangeopts.json +0 -5
  390. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range-explicit/int32-nominmax/value-to-encrypt.json +0 -5
  391. data/ext/libmongocrypt/libmongocrypt/test/data/fle2.cstructs +0 -33
  392. /data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/test/resources/{fle2-find-range-explicit → fle2-find-range-explicit-v2}/int32/key-filter.json +0 -0
  393. /data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/test/resources/{fle2-find-range-explicit → fle2-find-range-explicit-v2}/int32/rangeopts.json +0 -0
  394. /data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/test/resources/{fle2-find-range-explicit → fle2-find-range-explicit-v2}/int32/value-to-encrypt.json +0 -0
  395. /data/ext/libmongocrypt/libmongocrypt/bindings/python/test/data/{fle2-find-range-explicit → fle2-find-range-explicit-v2}/int32/rangeopts.json +0 -0
  396. /data/ext/libmongocrypt/libmongocrypt/bindings/python/test/data/{fle2-find-range-explicit → fle2-find-range-explicit-v2}/int32/value-to-encrypt.json +0 -0
@@ -1,134 +1,134 @@
1
1
  // Defines the random data for IVs to obtain a deterministic
2
2
  // FLE2InsertUpdatePayload.
3
- #define RNG_DATA \
4
- "\xfc\xbf\xbe\xdc\xfe\xc2\xaf\x03\xe0\x35\x6c\xed\xb2\x78\x3d\x74" \
5
- "\x29\x97\xb6\x5d\xf2\x56\x70\x07\x2c\x73\x80\xce\x1e\x7b\x43\x36" \
6
- "\x7b\xb5\x9a\xaf\xa9\xad\xa6\x44\xfb\x66\x60\x69\x0c\x9e\x4e\x17" \
7
- "\x93\x3d\xdd\x2a\xdf\x76\x54\xc6\xf6\x1a\xf3\xfa\xd4\xd3\x14\xf7" \
8
- "\xb9\x33\xbb\xdb\x8a\x1e\x07\xc8\x5c\x0b\xa5\x4a\xe2\xfb\x27\x8d" \
9
- "\xaa\xf2\x36\x03\xd5\xe2\x5a\xbc\x11\x76\xb7\xb6\x86\x6b\x35\x4c" \
10
- "\xa9\x77\x16\xbd\x05\x15\x19\x31\x38\x8a\xba\xea\xdc\xd2\x2c\x9a" \
11
- "\x8b\x0c\xea\x66\xd5\x3d\x21\x01\x03\xee\x74\xd2\xf4\x8d\x8d\xf7" \
12
- "\x13\xf9\x35\xe4\x43\x42\xba\x2d\x8c\x00\x3a\x64\x65\xf7\x3b\x07" \
13
- "\x03\xda\x33\x2e\x8e\x87\x04\x97\xfd\xc7\x1f\x00\x92\x7c\x1c\x40" \
14
- "\xe2\xaa\x81\x47\x56\x9b\x39\x4b\x13\xc9\x71\xf2\xda\x2a\x36\x87" \
15
- "\x2a\x86\x87\xdc\x86\x4d\x35\x66\xf1\x4a\xc7\x8b\x9c\x88\xcd\xb3" \
16
- "\x94\xf8\x52\x5c\xd9\x73\xed\xbd\xd6\x96\xad\x9c\xb5\x94\xb3\xa1" \
17
- "\x96\x26\xe5\x59\xd3\xa3\x32\x4e\xa8\x5e\x5e\xec\x9f\x04\xb5\x9d" \
18
- "\x35\x0c\xc1\x2e\x69\x79\x2b\xf1\x3f\x2c\x99\x31\xf9\x42\xa3\x88" \
19
- "\x2c\x83\x57\x56\x41\xc9\x6a\x4d\xa5\x16\x92\x75\x99\xca\x58\xf2" \
20
- "\xc6\x67\x74\x7c\xb6\x2e\xe7\x71\x49\xc0\xdd\xe8\x71\xa7\x53\xbd" \
21
- "\xf7\x6c\x36\x0d\x9c\xa2\xfa\xee\xd7\x30\x09\x68\xd2\x47\xc6\xb6" \
22
- "\x54\xbc\x37\x12\x97\xab\x12\x97\xfc\x44\x0b\x82\xfb\x5d\x7c\x14" \
23
- "\x08\x64\x1f\x4b\x6b\x5e\x2a\x3c\x9f\xc6\xeb\x92\x79\xa8\xe6\xaf" \
24
- "\x0c\x32\xb2\x85\xb0\x13\x9b\xcd\x71\x31\x3d\xd8\x09\x48\x4b\x79" \
25
- "\x76\x22\x66\x6d\x70\xe5\x9f\xc4\x6a\xc8\x00\x6e\x59\xb4\x14\x81" \
26
- "\x34\xe5\xa2\xab\x4b\x72\x94\xd9\x25\x81\x85\x74\xdb\x7f\x4a\x1e" \
27
- "\xe7\x1b\x5e\x42\x40\x79\x56\xd2\x64\x16\xc7\x44\xb8\x3f\x3e\x53" \
28
- "\x6f\x9e\x19\xd4\x78\x16\xf4\xbb\x16\xca\x10\x36\x9c\x02\x69\x88" \
29
- "\x15\xd2\xf7\xed\x3d\x92\x8e\xca\x29\x01\xb7\xc1\x0a\x7c\x74\x86" \
30
- "\x69\xb3\xa4\x95\x32\xb0\xee\x2e\xb1\x79\x7c\xd8\xa1\x0c\x21\x36" \
31
- "\x77\x55\x76\x7b\xb4\xdf\x00\xab\x36\xae\x67\x65\x33\x99\xad\xb3" \
32
- "\x84\x5f\x77\x10\x43\xbc\xb2\x10\x86\xe9\x32\xc0\xb9\x7e\x59\x16" \
33
- "\x3d\xd9\x1c\xe3\x94\xae\xd0\x4f\x34\x81\xbb\x54\xa5\x40\x7c\xcf" \
34
- "\x0d\x31\xac\x64\xc1\x7a\x34\x36\xc4\xde\xee\xfd\xd9\x34\x2d\x2e" \
35
- "\x43\xb4\xca\x36\x7e\xc5\x13\xef\x43\x7f\x96\x42\x32\x78\x1e\x0b" \
36
- "\xae\xe6\x49\x0b\x6f\xdb\xb8\x52\x5b\xc0\x89\xdc\xe9\xfd\xb5\x2e" \
37
- "\xbb\x47\x0f\x84\x85\x44\x87\xc7\x84\xdd\x08\xd0\x08\x97\x94\x9b" \
38
- "\x25\x3f\x36\xab\x4e\xc0\x51\x1a\xf6\xe9\x3d\x27\x93\xe0\xf2\xb9" \
39
- "\x05\x03\x0d\x38\x92\x33\x3e\xa3\x0e\x46\xfe\xf7\x55\x10\x5d\xd9" \
40
- "\x14\x54\x8e\x6e\xba\x0c\x95\x90\x89\x00\x0f\xb2\x32\x22\x42\x0b" \
41
- "\x7a\x01\x9a\xdb\x6c\xf7\x98\x9f\xff\x09\x83\xce\x7f\x89\xad\xd1" \
42
- "\x7b\xc3\xf5\xbf\x5f\x35\x40\xb5\x89\x77\xf8\xea\x3e\x83\x03\xcd" \
43
- "\x31\xf8\x74\xc9\x5a\xf0\x89\xdc\x63\x08\xb7\x7a\x01\xb7\x91\x84" \
44
- "\xdf\x7b\x0f\x3a\xc0\x89\xff\x78\x97\x55\x3c\x33\x0f\x31\xc0\xcc" \
45
- "\x82\x4f\xfa\x3d\xa9\x43\xfb\xe2\x4b\x8b\x77\xc1\x45\x77\x7c\xaf" \
46
- "\x5b\x0b\x73\xd2\x9a\xc1\x54\x36\x35\x17\x18\xdc\xd3\xd5\xe7\xa0" \
47
- "\x1c\x05\x6a\x49\xff\x89\x1c\x71\x75\xc8\xa6\x5a\xf6\xb3\x13\x11" \
48
- "\x50\xda\x7b\xb9\xf9\x23\x58\xfa\xba\x45\x0d\xcd\xe1\x58\x44\x98" \
49
- "\x5d\x73\x28\x26\xe9\xcd\x5e\xb9\x14\xa7\xab\x4e\x06\xe7\x18\x3e" \
50
- "\xae\xe9\x8d\x34\xba\xd7\xb9\x52\x89\x8e\xfc\x05\xad\x90\xc1\x00" \
51
- "\xa4\x21\xbb\x57\x45\x7d\x7e\xfa\xd1\x13\xb5\x38\x51\xd1\xd9\xef" \
52
- "\xa1\xec\x2a\x6a\xa4\x3d\xda\xb5\xd3\x61\x48\xc4\x74\xff\x95\xd0" \
53
- "\x8f\xe6\x19\xc6\x51\xc2\x18\x44\xfe\x35\x74\xe4\x76\xb9\xed\x69" \
54
- "\xf2\x76\x89\x57\xa0\x8c\x94\x61\xcd\xcf\x66\x5c\xca\x15\xe5\x5c" \
55
- "\x80\xfb\xb5\x92\xd2\xe4\x73\x32\xc4\x0d\x85\x97\xf4\x3d\x40\x83" \
56
- "\x8e\x7c\x3e\x17\x04\xed\x8f\xc4\x27\xc5\x0f\x78\xd1\x6c\x09\x5e" \
57
- "\x0e\xf3\x57\x81\x99\xe4\x7f\xef\x9e\xa5\xac\x3c\xd7\x43\x54\xf7" \
58
- "\x44\xb6\xa7\x94\xc3\xc8\x43\xae\x40\x50\xe8\x34\x16\x57\xf5\xfa" \
59
- "\xa8\xb1\xd5\x90\xbb\x5b\xa8\x3b\x68\x0d\x83\x56\xdc\xed\x2b\xbb" \
60
- "\x37\x7f\xd5\xfe\xc6\x47\x3c\xab\x89\x7a\x3c\x72\xe3\x52\x55\x07" \
61
- "\xea\xb1\x8a\xa8\xed\x39\x9a\x33\x81\x39\x5c\x42\xd7\xbe\x92\x39" \
62
- "\x5d\x5d\xd2\x67\x43\xd4\x42\x19\x69\x9f\x97\x1f\x2c\x0b\xf4\xfd" \
63
- "\x9d\xa6\x93\x7d\x56\xcd\x64\x22\x08\x97\x13\xd0\x4b\x9d\xf9\x5d" \
64
- "\xed\xc5\xca\xbd\x0c\xc4\x66\x64\x31\x9d\x85\xd6\xf4\x94\x2a\x7f" \
65
- "\xf4\x52\x77\x74\xb8\xdd\xf1\xea\x77\xc9\x23\x18\x6f\x02\xbd\xc5" \
66
- "\xe1\xda\xe0\x84\x40\x37\x6a\x3f\x32\x30\xac\xee\xaa\xbd\xcc\xf0" \
67
- "\xb8\x4d\x81\xb4\xc2\x6b\x40\xc0\xe3\xd1\x06\x1b\x1c\xcc\x4d\x0f" \
68
- "\x0a\xd0\x7e\x25\x41\x07\x71\x94\x3e\xeb\xc1\xd4\xc9\x94\xf6\x25" \
69
- "\x00\x3d\xc0\x2e\xee\x2e\xfa\x36\x63\x64\x08\xde\x3c\x21\xcc\x58" \
70
- "\x03\x48\x9f\x14\xc3\x01\x1e\x46\x8f\x28\x50\x84\x3d\xfb\x93\x8b" \
71
- "\xca\xf2\x4b\x56\xe6\xd8\xf0\xcb\x03\x6a\x42\x01\xf5\xc0\x98\x23" \
72
- "\x77\x9f\x6e\x7c\xe9\x54\xe2\x04\x6e\xa4\xe2\x4e\x91\x46\xed\xaa" \
73
- "\xd7\x31\x76\xa1\x7e\x93\x1c\x3b\x88\x2f\xfc\xc3\x3c\x2e\x5c\x62" \
74
- "\x87\x5f\xc7\x29\x24\x59\xc2\x08\xd3\x76\xa1\x9e\x67\xd3\xf3\x68" \
75
- "\x37\xd8\x71\xfd\xab\xee\xab\xae\xcd\x4b\x50\x42\x58\xd4\x42\xc2" \
76
- "\xfe\xae\x7e\x9e\x7b\x87\x22\x65\xfb\x8b\x90\x7a\xb1\x7e\x96\x51" \
77
- "\xaa\xf3\xa8\x89\xdf\xd5\x7e\xa5\xb2\x88\x19\xca\x49\xfd\x19\xb2" \
78
- "\xc0\x7c\x89\x61\xa9\x09\xd6\x76\xb2\x95\x7a\x1d\xe7\x3d\x27\x63" \
79
- "\x15\xde\x09\xeb\xce\x6a\x6a\xdb\x2f\xca\x42\x34\x73\x41\x01\x34" \
80
- "\xfa\x74\xa5\xeb\xee\x69\x8e\x1d\x55\x15\xf1\x94\x84\xac\xd2\x16" \
81
- "\xdb\xc9\xea\xa9\x14\xf4\x96\x1e\x1a\x8a\xdd\x14\xbd\x8b\x7c\x31" \
82
- "\xb5\xa2\xd4\x39\x48\x08\x98\x3a\x79\x41\x61\x33\xc9\x5b\x0a\x19" \
83
- "\x86\xd3\x90\x43\xf3\x79\xef\xde\x34\x05\x02\x42\xa1\xe9\x30\x4d" \
84
- "\x0e\xf9\x79\x4b\xb0\xa5\x0e\x2d\xc9\x11\xc6\x69\xbe\x8d\xb8\x09" \
85
- "\x1d\xc5\xae\x0b\xdd\x79\x77\xf8\x2f\x68\x9a\xd5\x85\x3e\x62\xe3" \
86
- "\xfd\x2b\x28\x0f\x99\xec\x83\x2d\x7d\x01\x0c\x15\xe9\xa8\xc5\xaa" \
87
- "\x29\xea\xa0\x3c\x62\x9e\x42\xf3\x77\xed\x09\x37\x05\xa2\x46\x5c" \
88
- "\xcf\x48\x40\x1b\x16\xcf\xe7\x0f\xc2\x59\x1f\xd3\xdc\xae\x99\x76" \
89
- "\xfc\xfb\xf0\x08\xe7\xfc\x83\xe8\xa1\x4c\x94\x58\xae\xf6\x59\x01" \
90
- "\x06\xd9\xb6\xd1\xd8\x70\x64\xff\xd0\xb1\x8e\xd5\xdd\x5a\xa1\xb6" \
91
- "\x79\xb5\x32\xa8\xf8\xd7\xe0\x95\x2a\x78\x53\x64\x20\x54\xfd\xcd" \
92
- "\x81\x73\xf4\x89\x00\x99\x39\x7b\x7e\x97\x39\xe1\x07\x77\x0e\xc8" \
93
- "\x95\x91\xc6\x24\x9e\x62\x5b\x7b\x7f\xf5\x29\xcc\xd2\x92\x46\x8a" \
94
- "\xce\x4c\x33\xd0\x20\xa7\x69\x15\xff\x4b\x6c\x7b\x09\xb8\xd9\x5c" \
95
- "\xa9\x1d\x8e\x0f\xd2\x8d\x5d\x2d\x31\x07\x7a\xaf\x0c\x6e\x3e\x15" \
96
- "\xf6\xa9\xf1\x3b\x20\xc3\xb9\x16\xbd\x04\x99\xeb\xcd\x5a\x08\x9f" \
97
- "\x02\x4b\x77\xc6\xbf\xc2\x8b\x00\x0e\xd8\xc0\xe0\x41\x4c\xcf\xda" \
98
- "\xa2\x77\xbb\x6b\x25\xfe\xf0\xa0\x13\x4e\x88\x87\x14\xc7\xe5\x22" \
99
- "\xa0\x18\x6b\x55\xee\xdf\x7f\x14\x73\xee\x4c\x04\x0b\xb3\xe6\xe4" \
100
- "\xf3\x00\x2e\x31\x46\x40\x5c\x69\xa2\xd4\x82\xac\xe1\x0a\xc3\x77" \
101
- "\x0a\x3a\x17\x72\xdd\xae\x43\x0f\xf7\x86\x1d\xb2\x38\x65\xa2\x64" \
102
- "\x75\xaf\x0e\x3a\x28\xed\x60\x32\xe5\x91\x4f\x68\xb8\xbf\x82\xf3" \
103
- "\x26\x40\x58\xe3\x92\x9b\x10\xb0\x52\x23\x0f\x76\xb2\x95\x10\xb6" \
104
- "\x74\x6d\xbf\x1d\xbf\x4a\xda\xb5\xc9\x06\xa5\xe8\x63\x2a\x66\xec" \
105
- "\x14\xb9\xd3\xe6\x93\x3d\x21\x56\x60\xb7\x3a\x75\xf7\xd7\x1e\x2f" \
106
- "\x25\x2d\x90\xb4\xf1\x3d\x92\x96\x28\x5c\x5b\x12\x05\xc4\x39\x1b" \
107
- "\x0d\x85\x10\x7f\xc0\x5a\x27\x76\x4a\x6f\xf8\x2d\x01\x85\x87\xef" \
108
- "\x07\xe1\xb1\x60\x0f\x0e\x06\xee\x7d\xf7\x62\x5a\xca\xa4\x9b\x4a" \
109
- "\x1c\x54\xe3\x1c\xfd\x39\x8c\xa4\x0b\x9e\x88\xf6\x3d\xed\xaf\xc2" \
110
- "\x86\x11\x88\xdf\x66\x6f\xce\x3e\x5a\xb0\xc5\xd9\xda\x13\x67\x92" \
111
- "\xd4\xc6\xd5\x55\xcf\x49\xdd\xb0\xbb\xb8\x2f\xbe\x47\x02\xe7\x58" \
112
- "\x9d\xc8\xd1\xe8\x89\x6d\x19\x38\xd3\xf4\x3f\x29\x2d\x61\x3a\xd5" \
113
- "\xf4\x22\x01\xfe\x0e\x21\xb2\xf0\x7e\x74\xb2\x33\x60\x3a\xc7\x5c" \
114
- "\x91\xeb\x99\x23\xe5\xd8\x9e\xec\xe3\x86\x9d\x1a\x6a\xed\xfa\xfc" \
115
- "\x0c\xbb\x33\x7c\x7d\x82\x3c\xde\xe4\xca\x7a\xef\xdc\x11\x13\x66" \
116
- "\xc7\x4c\x02\x48\xda\x10\x12\x31\xcf\x03\xa6\xa7\x31\x24\x61\x19" \
117
- "\x62\xf7\x3a\xf2\x31\x33\x90\x4b\x27\x56\x2c\x57\xf9\x3a\xd4\x0e" \
118
- "\xef\xc2\x0e\x58\x57\xb0\x21\x4f\xb8\xf4\x9d\x97\xa2\x35\xf0\x66" \
119
- "\x5a\xb2\xc1\xee\x97\x9b\x4a\x76\xf4\x5a\xa9\x74\x22\xf6\xe3\x26" \
120
- "\x44\x2a\xbc\x83\xaa\x31\x3a\x9f\x78\x9c\xba\x06\xba\x30\xb2\xaf" \
121
- "\x4a\x39\xa5\x4c\x41\x58\xb0\x75\x47\x3f\x13\xfc\x37\xd8\xc2\x85" \
122
- "\x4d\x0c\x7e\x61\xc5\x94\xdd\x1d\x7e\x01\xf0\x6e\x90\xde\xc6\x8d" \
123
- "\xa0\x21\xc2\x54\xd3\x53\xa8\x04\x3f\x30\x0d\x24\x27\xfa\x75\x76" \
124
- "\x79\x3c\x20\xc1\xa0\x26\xbb\x29\x38\x82\x93\x1f\x91\x30\xff\x42" \
125
- "\x1b\xbf\x13\x37\xb1\x05\x08\xe2\x58\x09\xdd\xa6\x4b\xfc\xef\xbd" \
126
- "\xdd\x4b\x37\x20\xf0\x69\xf5\xb3\x84\x4f\x81\x90\xe6\x0d\x14\x04" \
127
- "\xf8\x5d\x43\x4a\xf2\x8f\x82\x2d\xa3\xd0\x39\xbb\x3c\xd5\x0a\xd0" \
128
- "\xd8\xb7\xeb\xd7\x3f\x2e\x9d\x0a\x47\xa5\x5e\x24\xad\xaa\x46\xba" \
129
- "\x53\x72\xd2\xa4\xda\xfd\x56\x19\xce\x84\x13\xf2\xe9\xc3\xf1\xe6" \
130
- "\x14\x7c\xbd\x17\x93\x30\x59\x86\x5c\x86\x29\x70\x27\xe5\xe1\x13" \
131
- "\x86\xa6\xd2\x1e\xa5\xb9\xee\xcc\xe8\x2a\x3c\xf2\xb4\x7c\xf4\xdf" \
132
- "\xee\xb8\x9f\xbf\x8d\x8c\x21\xeb\x9b\x57\x23\x2f\xc7\xce\xea\x0e" \
133
- "\x55\x35\x94\xae\xf8\x43\xe0\x54\xec\xb3\x88\x02\xd5\xaa\x8d\x37" \
134
- "\xad\x15\x52\x96\xc9\xaa\x25\xd6\x36\x55\x46\x37\x9a\xcc\xa8\xbd"
3
+ #define RNG_DATA \
4
+ "\xfc\xbf\xbe\xdc\xfe\xc2\xaf\x03\xe0\x35\x6c\xed\xb2\x78\x3d\x74" \
5
+ "\x29\x97\xb6\x5d\xf2\x56\x70\x07\x2c\x73\x80\xce\x1e\x7b\x43\x36" \
6
+ "\x7b\xb5\x9a\xaf\xa9\xad\xa6\x44\xfb\x66\x60\x69\x0c\x9e\x4e\x17" \
7
+ "\x93\x3d\xdd\x2a\xdf\x76\x54\xc6\xf6\x1a\xf3\xfa\xd4\xd3\x14\xf7" \
8
+ "\xb9\x33\xbb\xdb\x8a\x1e\x07\xc8\x5c\x0b\xa5\x4a\xe2\xfb\x27\x8d" \
9
+ "\xaa\xf2\x36\x03\xd5\xe2\x5a\xbc\x11\x76\xb7\xb6\x86\x6b\x35\x4c" \
10
+ "\xa9\x77\x16\xbd\x05\x15\x19\x31\x38\x8a\xba\xea\xdc\xd2\x2c\x9a" \
11
+ "\x8b\x0c\xea\x66\xd5\x3d\x21\x01\x03\xee\x74\xd2\xf4\x8d\x8d\xf7" \
12
+ "\x13\xf9\x35\xe4\x43\x42\xba\x2d\x8c\x00\x3a\x64\x65\xf7\x3b\x07" \
13
+ "\x03\xda\x33\x2e\x8e\x87\x04\x97\xfd\xc7\x1f\x00\x92\x7c\x1c\x40" \
14
+ "\xe2\xaa\x81\x47\x56\x9b\x39\x4b\x13\xc9\x71\xf2\xda\x2a\x36\x87" \
15
+ "\x2a\x86\x87\xdc\x86\x4d\x35\x66\xf1\x4a\xc7\x8b\x9c\x88\xcd\xb3" \
16
+ "\x94\xf8\x52\x5c\xd9\x73\xed\xbd\xd6\x96\xad\x9c\xb5\x94\xb3\xa1" \
17
+ "\x96\x26\xe5\x59\xd3\xa3\x32\x4e\xa8\x5e\x5e\xec\x9f\x04\xb5\x9d" \
18
+ "\x35\x0c\xc1\x2e\x69\x79\x2b\xf1\x3f\x2c\x99\x31\xf9\x42\xa3\x88" \
19
+ "\x2c\x83\x57\x56\x41\xc9\x6a\x4d\xa5\x16\x92\x75\x99\xca\x58\xf2" \
20
+ "\xc6\x67\x74\x7c\xb6\x2e\xe7\x71\x49\xc0\xdd\xe8\x71\xa7\x53\xbd" \
21
+ "\xf7\x6c\x36\x0d\x9c\xa2\xfa\xee\xd7\x30\x09\x68\xd2\x47\xc6\xb6" \
22
+ "\x54\xbc\x37\x12\x97\xab\x12\x97\xfc\x44\x0b\x82\xfb\x5d\x7c\x14" \
23
+ "\x08\x64\x1f\x4b\x6b\x5e\x2a\x3c\x9f\xc6\xeb\x92\x79\xa8\xe6\xaf" \
24
+ "\x0c\x32\xb2\x85\xb0\x13\x9b\xcd\x71\x31\x3d\xd8\x09\x48\x4b\x79" \
25
+ "\x76\x22\x66\x6d\x70\xe5\x9f\xc4\x6a\xc8\x00\x6e\x59\xb4\x14\x81" \
26
+ "\x34\xe5\xa2\xab\x4b\x72\x94\xd9\x25\x81\x85\x74\xdb\x7f\x4a\x1e" \
27
+ "\xe7\x1b\x5e\x42\x40\x79\x56\xd2\x64\x16\xc7\x44\xb8\x3f\x3e\x53" \
28
+ "\x6f\x9e\x19\xd4\x78\x16\xf4\xbb\x16\xca\x10\x36\x9c\x02\x69\x88" \
29
+ "\x15\xd2\xf7\xed\x3d\x92\x8e\xca\x29\x01\xb7\xc1\x0a\x7c\x74\x86" \
30
+ "\x69\xb3\xa4\x95\x32\xb0\xee\x2e\xb1\x79\x7c\xd8\xa1\x0c\x21\x36" \
31
+ "\x77\x55\x76\x7b\xb4\xdf\x00\xab\x36\xae\x67\x65\x33\x99\xad\xb3" \
32
+ "\x84\x5f\x77\x10\x43\xbc\xb2\x10\x86\xe9\x32\xc0\xb9\x7e\x59\x16" \
33
+ "\x3d\xd9\x1c\xe3\x94\xae\xd0\x4f\x34\x81\xbb\x54\xa5\x40\x7c\xcf" \
34
+ "\x0d\x31\xac\x64\xc1\x7a\x34\x36\xc4\xde\xee\xfd\xd9\x34\x2d\x2e" \
35
+ "\x43\xb4\xca\x36\x7e\xc5\x13\xef\x43\x7f\x96\x42\x32\x78\x1e\x0b" \
36
+ "\xae\xe6\x49\x0b\x6f\xdb\xb8\x52\x5b\xc0\x89\xdc\xe9\xfd\xb5\x2e" \
37
+ "\xbb\x47\x0f\x84\x85\x44\x87\xc7\x84\xdd\x08\xd0\x08\x97\x94\x9b" \
38
+ "\x25\x3f\x36\xab\x4e\xc0\x51\x1a\xf6\xe9\x3d\x27\x93\xe0\xf2\xb9" \
39
+ "\x05\x03\x0d\x38\x92\x33\x3e\xa3\x0e\x46\xfe\xf7\x55\x10\x5d\xd9" \
40
+ "\x14\x54\x8e\x6e\xba\x0c\x95\x90\x89\x00\x0f\xb2\x32\x22\x42\x0b" \
41
+ "\x7a\x01\x9a\xdb\x6c\xf7\x98\x9f\xff\x09\x83\xce\x7f\x89\xad\xd1" \
42
+ "\x7b\xc3\xf5\xbf\x5f\x35\x40\xb5\x89\x77\xf8\xea\x3e\x83\x03\xcd" \
43
+ "\x31\xf8\x74\xc9\x5a\xf0\x89\xdc\x63\x08\xb7\x7a\x01\xb7\x91\x84" \
44
+ "\xdf\x7b\x0f\x3a\xc0\x89\xff\x78\x97\x55\x3c\x33\x0f\x31\xc0\xcc" \
45
+ "\x82\x4f\xfa\x3d\xa9\x43\xfb\xe2\x4b\x8b\x77\xc1\x45\x77\x7c\xaf" \
46
+ "\x5b\x0b\x73\xd2\x9a\xc1\x54\x36\x35\x17\x18\xdc\xd3\xd5\xe7\xa0" \
47
+ "\x1c\x05\x6a\x49\xff\x89\x1c\x71\x75\xc8\xa6\x5a\xf6\xb3\x13\x11" \
48
+ "\x50\xda\x7b\xb9\xf9\x23\x58\xfa\xba\x45\x0d\xcd\xe1\x58\x44\x98" \
49
+ "\x5d\x73\x28\x26\xe9\xcd\x5e\xb9\x14\xa7\xab\x4e\x06\xe7\x18\x3e" \
50
+ "\xae\xe9\x8d\x34\xba\xd7\xb9\x52\x89\x8e\xfc\x05\xad\x90\xc1\x00" \
51
+ "\xa4\x21\xbb\x57\x45\x7d\x7e\xfa\xd1\x13\xb5\x38\x51\xd1\xd9\xef" \
52
+ "\xa1\xec\x2a\x6a\xa4\x3d\xda\xb5\xd3\x61\x48\xc4\x74\xff\x95\xd0" \
53
+ "\x8f\xe6\x19\xc6\x51\xc2\x18\x44\xfe\x35\x74\xe4\x76\xb9\xed\x69" \
54
+ "\xf2\x76\x89\x57\xa0\x8c\x94\x61\xcd\xcf\x66\x5c\xca\x15\xe5\x5c" \
55
+ "\x80\xfb\xb5\x92\xd2\xe4\x73\x32\xc4\x0d\x85\x97\xf4\x3d\x40\x83" \
56
+ "\x8e\x7c\x3e\x17\x04\xed\x8f\xc4\x27\xc5\x0f\x78\xd1\x6c\x09\x5e" \
57
+ "\x0e\xf3\x57\x81\x99\xe4\x7f\xef\x9e\xa5\xac\x3c\xd7\x43\x54\xf7" \
58
+ "\x44\xb6\xa7\x94\xc3\xc8\x43\xae\x40\x50\xe8\x34\x16\x57\xf5\xfa" \
59
+ "\xa8\xb1\xd5\x90\xbb\x5b\xa8\x3b\x68\x0d\x83\x56\xdc\xed\x2b\xbb" \
60
+ "\x37\x7f\xd5\xfe\xc6\x47\x3c\xab\x89\x7a\x3c\x72\xe3\x52\x55\x07" \
61
+ "\xea\xb1\x8a\xa8\xed\x39\x9a\x33\x81\x39\x5c\x42\xd7\xbe\x92\x39" \
62
+ "\x5d\x5d\xd2\x67\x43\xd4\x42\x19\x69\x9f\x97\x1f\x2c\x0b\xf4\xfd" \
63
+ "\x9d\xa6\x93\x7d\x56\xcd\x64\x22\x08\x97\x13\xd0\x4b\x9d\xf9\x5d" \
64
+ "\xed\xc5\xca\xbd\x0c\xc4\x66\x64\x31\x9d\x85\xd6\xf4\x94\x2a\x7f" \
65
+ "\xf4\x52\x77\x74\xb8\xdd\xf1\xea\x77\xc9\x23\x18\x6f\x02\xbd\xc5" \
66
+ "\xe1\xda\xe0\x84\x40\x37\x6a\x3f\x32\x30\xac\xee\xaa\xbd\xcc\xf0" \
67
+ "\xb8\x4d\x81\xb4\xc2\x6b\x40\xc0\xe3\xd1\x06\x1b\x1c\xcc\x4d\x0f" \
68
+ "\x0a\xd0\x7e\x25\x41\x07\x71\x94\x3e\xeb\xc1\xd4\xc9\x94\xf6\x25" \
69
+ "\x00\x3d\xc0\x2e\xee\x2e\xfa\x36\x63\x64\x08\xde\x3c\x21\xcc\x58" \
70
+ "\x03\x48\x9f\x14\xc3\x01\x1e\x46\x8f\x28\x50\x84\x3d\xfb\x93\x8b" \
71
+ "\xca\xf2\x4b\x56\xe6\xd8\xf0\xcb\x03\x6a\x42\x01\xf5\xc0\x98\x23" \
72
+ "\x77\x9f\x6e\x7c\xe9\x54\xe2\x04\x6e\xa4\xe2\x4e\x91\x46\xed\xaa" \
73
+ "\xd7\x31\x76\xa1\x7e\x93\x1c\x3b\x88\x2f\xfc\xc3\x3c\x2e\x5c\x62" \
74
+ "\x87\x5f\xc7\x29\x24\x59\xc2\x08\xd3\x76\xa1\x9e\x67\xd3\xf3\x68" \
75
+ "\x37\xd8\x71\xfd\xab\xee\xab\xae\xcd\x4b\x50\x42\x58\xd4\x42\xc2" \
76
+ "\xfe\xae\x7e\x9e\x7b\x87\x22\x65\xfb\x8b\x90\x7a\xb1\x7e\x96\x51" \
77
+ "\xaa\xf3\xa8\x89\xdf\xd5\x7e\xa5\xb2\x88\x19\xca\x49\xfd\x19\xb2" \
78
+ "\xc0\x7c\x89\x61\xa9\x09\xd6\x76\xb2\x95\x7a\x1d\xe7\x3d\x27\x63" \
79
+ "\x15\xde\x09\xeb\xce\x6a\x6a\xdb\x2f\xca\x42\x34\x73\x41\x01\x34" \
80
+ "\xfa\x74\xa5\xeb\xee\x69\x8e\x1d\x55\x15\xf1\x94\x84\xac\xd2\x16" \
81
+ "\xdb\xc9\xea\xa9\x14\xf4\x96\x1e\x1a\x8a\xdd\x14\xbd\x8b\x7c\x31" \
82
+ "\xb5\xa2\xd4\x39\x48\x08\x98\x3a\x79\x41\x61\x33\xc9\x5b\x0a\x19" \
83
+ "\x86\xd3\x90\x43\xf3\x79\xef\xde\x34\x05\x02\x42\xa1\xe9\x30\x4d" \
84
+ "\x0e\xf9\x79\x4b\xb0\xa5\x0e\x2d\xc9\x11\xc6\x69\xbe\x8d\xb8\x09" \
85
+ "\x1d\xc5\xae\x0b\xdd\x79\x77\xf8\x2f\x68\x9a\xd5\x85\x3e\x62\xe3" \
86
+ "\xfd\x2b\x28\x0f\x99\xec\x83\x2d\x7d\x01\x0c\x15\xe9\xa8\xc5\xaa" \
87
+ "\x29\xea\xa0\x3c\x62\x9e\x42\xf3\x77\xed\x09\x37\x05\xa2\x46\x5c" \
88
+ "\xcf\x48\x40\x1b\x16\xcf\xe7\x0f\xc2\x59\x1f\xd3\xdc\xae\x99\x76" \
89
+ "\xfc\xfb\xf0\x08\xe7\xfc\x83\xe8\xa1\x4c\x94\x58\xae\xf6\x59\x01" \
90
+ "\x06\xd9\xb6\xd1\xd8\x70\x64\xff\xd0\xb1\x8e\xd5\xdd\x5a\xa1\xb6" \
91
+ "\x79\xb5\x32\xa8\xf8\xd7\xe0\x95\x2a\x78\x53\x64\x20\x54\xfd\xcd" \
92
+ "\x81\x73\xf4\x89\x00\x99\x39\x7b\x7e\x97\x39\xe1\x07\x77\x0e\xc8" \
93
+ "\x95\x91\xc6\x24\x9e\x62\x5b\x7b\x7f\xf5\x29\xcc\xd2\x92\x46\x8a" \
94
+ "\xce\x4c\x33\xd0\x20\xa7\x69\x15\xff\x4b\x6c\x7b\x09\xb8\xd9\x5c" \
95
+ "\xa9\x1d\x8e\x0f\xd2\x8d\x5d\x2d\x31\x07\x7a\xaf\x0c\x6e\x3e\x15" \
96
+ "\xf6\xa9\xf1\x3b\x20\xc3\xb9\x16\xbd\x04\x99\xeb\xcd\x5a\x08\x9f" \
97
+ "\x02\x4b\x77\xc6\xbf\xc2\x8b\x00\x0e\xd8\xc0\xe0\x41\x4c\xcf\xda" \
98
+ "\xa2\x77\xbb\x6b\x25\xfe\xf0\xa0\x13\x4e\x88\x87\x14\xc7\xe5\x22" \
99
+ "\xa0\x18\x6b\x55\xee\xdf\x7f\x14\x73\xee\x4c\x04\x0b\xb3\xe6\xe4" \
100
+ "\xf3\x00\x2e\x31\x46\x40\x5c\x69\xa2\xd4\x82\xac\xe1\x0a\xc3\x77" \
101
+ "\x0a\x3a\x17\x72\xdd\xae\x43\x0f\xf7\x86\x1d\xb2\x38\x65\xa2\x64" \
102
+ "\x75\xaf\x0e\x3a\x28\xed\x60\x32\xe5\x91\x4f\x68\xb8\xbf\x82\xf3" \
103
+ "\x26\x40\x58\xe3\x92\x9b\x10\xb0\x52\x23\x0f\x76\xb2\x95\x10\xb6" \
104
+ "\x74\x6d\xbf\x1d\xbf\x4a\xda\xb5\xc9\x06\xa5\xe8\x63\x2a\x66\xec" \
105
+ "\x14\xb9\xd3\xe6\x93\x3d\x21\x56\x60\xb7\x3a\x75\xf7\xd7\x1e\x2f" \
106
+ "\x25\x2d\x90\xb4\xf1\x3d\x92\x96\x28\x5c\x5b\x12\x05\xc4\x39\x1b" \
107
+ "\x0d\x85\x10\x7f\xc0\x5a\x27\x76\x4a\x6f\xf8\x2d\x01\x85\x87\xef" \
108
+ "\x07\xe1\xb1\x60\x0f\x0e\x06\xee\x7d\xf7\x62\x5a\xca\xa4\x9b\x4a" \
109
+ "\x1c\x54\xe3\x1c\xfd\x39\x8c\xa4\x0b\x9e\x88\xf6\x3d\xed\xaf\xc2" \
110
+ "\x86\x11\x88\xdf\x66\x6f\xce\x3e\x5a\xb0\xc5\xd9\xda\x13\x67\x92" \
111
+ "\xd4\xc6\xd5\x55\xcf\x49\xdd\xb0\xbb\xb8\x2f\xbe\x47\x02\xe7\x58" \
112
+ "\x9d\xc8\xd1\xe8\x89\x6d\x19\x38\xd3\xf4\x3f\x29\x2d\x61\x3a\xd5" \
113
+ "\xf4\x22\x01\xfe\x0e\x21\xb2\xf0\x7e\x74\xb2\x33\x60\x3a\xc7\x5c" \
114
+ "\x91\xeb\x99\x23\xe5\xd8\x9e\xec\xe3\x86\x9d\x1a\x6a\xed\xfa\xfc" \
115
+ "\x0c\xbb\x33\x7c\x7d\x82\x3c\xde\xe4\xca\x7a\xef\xdc\x11\x13\x66" \
116
+ "\xc7\x4c\x02\x48\xda\x10\x12\x31\xcf\x03\xa6\xa7\x31\x24\x61\x19" \
117
+ "\x62\xf7\x3a\xf2\x31\x33\x90\x4b\x27\x56\x2c\x57\xf9\x3a\xd4\x0e" \
118
+ "\xef\xc2\x0e\x58\x57\xb0\x21\x4f\xb8\xf4\x9d\x97\xa2\x35\xf0\x66" \
119
+ "\x5a\xb2\xc1\xee\x97\x9b\x4a\x76\xf4\x5a\xa9\x74\x22\xf6\xe3\x26" \
120
+ "\x44\x2a\xbc\x83\xaa\x31\x3a\x9f\x78\x9c\xba\x06\xba\x30\xb2\xaf" \
121
+ "\x4a\x39\xa5\x4c\x41\x58\xb0\x75\x47\x3f\x13\xfc\x37\xd8\xc2\x85" \
122
+ "\x4d\x0c\x7e\x61\xc5\x94\xdd\x1d\x7e\x01\xf0\x6e\x90\xde\xc6\x8d" \
123
+ "\xa0\x21\xc2\x54\xd3\x53\xa8\x04\x3f\x30\x0d\x24\x27\xfa\x75\x76" \
124
+ "\x79\x3c\x20\xc1\xa0\x26\xbb\x29\x38\x82\x93\x1f\x91\x30\xff\x42" \
125
+ "\x1b\xbf\x13\x37\xb1\x05\x08\xe2\x58\x09\xdd\xa6\x4b\xfc\xef\xbd" \
126
+ "\xdd\x4b\x37\x20\xf0\x69\xf5\xb3\x84\x4f\x81\x90\xe6\x0d\x14\x04" \
127
+ "\xf8\x5d\x43\x4a\xf2\x8f\x82\x2d\xa3\xd0\x39\xbb\x3c\xd5\x0a\xd0" \
128
+ "\xd8\xb7\xeb\xd7\x3f\x2e\x9d\x0a\x47\xa5\x5e\x24\xad\xaa\x46\xba" \
129
+ "\x53\x72\xd2\xa4\xda\xfd\x56\x19\xce\x84\x13\xf2\xe9\xc3\xf1\xe6" \
130
+ "\x14\x7c\xbd\x17\x93\x30\x59\x86\x5c\x86\x29\x70\x27\xe5\xe1\x13" \
131
+ "\x86\xa6\xd2\x1e\xa5\xb9\xee\xcc\xe8\x2a\x3c\xf2\xb4\x7c\xf4\xdf" \
132
+ "\xee\xb8\x9f\xbf\x8d\x8c\x21\xeb\x9b\x57\x23\x2f\xc7\xce\xea\x0e" \
133
+ "\x55\x35\x94\xae\xf8\x43\xe0\x54\xec\xb3\x88\x02\xd5\xaa\x8d\x37" \
134
+ "\xad\x15\x52\x96\xc9\xaa\x25\xd6\x36\x55\x46\x37\x9a\xcc\xa8\xbd"
@@ -1,73 +1,73 @@
1
1
  // Defines the random data for IVs to obtain a deterministic
2
2
  // FLE2InsertUpdatePayload.
3
- #define RNG_DATA \
4
- "\x51\xdb\xd6\x46\x8b\xcb\x43\x8d\xfe\xe7\x24\x9c\x99\x2e\x41\x39" \
5
- "\x18\x13\xcf\x9b\xa9\x94\xb8\x3b\x81\xc1\x25\xeb\xa7\xb0\xc0\x3b" \
6
- "\x17\x17\xe2\x9b\x73\xec\xd9\x7f\x76\xc4\x4f\x63\x28\x3c\x05\xf2" \
7
- "\x9c\x7d\x48\xaf\xae\x63\x8d\x62\x60\x31\x6e\x0c\xae\x48\x9f\x45" \
8
- "\xd2\xc3\x8a\x5b\xe1\xd8\xd9\x23\xe4\x37\xe7\x8a\x5a\x6a\x82\x0e" \
9
- "\xf0\x4b\x2e\x84\xf6\x02\xae\xfd\x45\x47\xcf\x3f\xb1\x2c\xb4\xfd" \
10
- "\xae\xd7\x28\xea\x44\xf9\xb0\x7e\xd8\xa5\x90\xae\x51\xf6\x00\xc0" \
11
- "\x62\x6b\x2a\x3f\xca\x2f\x2e\xa5\x78\xfe\xfa\xe3\x11\x99\xa0\x9b" \
12
- "\x77\x55\x0c\xaf\x36\xc4\x8a\xd9\x72\x00\x81\x58\x34\xd4\x30\xcc" \
13
- "\x19\x06\x93\xf9\x51\x7a\x14\x88\x1e\x44\x9e\xb0\xf6\x49\x2b\x3b" \
14
- "\xf4\xfd\xdc\xf1\x49\xd4\x87\x71\x37\xef\x6f\x4c\x4e\x08\x7b\x1c" \
15
- "\x57\x0d\x82\x7e\xa7\x03\xbb\x83\x70\x6c\xbf\x43\x99\xf6\x63\xae" \
16
- "\x2f\x96\x3c\x44\xf3\x49\x22\xf7\xe6\x6d\xa6\x33\x3e\x4b\x5b\xc3" \
17
- "\xf5\xd2\xa9\xfc\x9c\xef\x32\x04\x76\xbf\x48\xf4\xa4\xee\x63\xb7" \
18
- "\x87\xdb\x48\xb0\xdd\xce\x68\xb0\x9e\x69\x60\x20\x63\xe6\x0e\x86" \
19
- "\x12\xbd\x3f\x9d\x5c\x58\x01\x5a\x17\xe3\xa3\x87\x18\xbe\xb2\xbf" \
20
- "\xcd\x8c\x12\x74\x01\x7d\xe7\xae\xd4\x2d\x91\xe7\xa8\x84\x9a\xb0" \
21
- "\xc9\xde\x3e\x46\x6b\x66\x93\x54\xd7\x7b\xc4\xa4\x53\x10\x73\xa1" \
22
- "\xec\x10\xe9\xa8\x7e\xe7\xb4\x27\x4f\xbb\xba\x5e\x67\x58\x0a\x33" \
23
- "\x8e\x70\x27\x8a\x12\xf1\x9b\x60\xbb\x2d\x37\x03\x68\x67\x9c\x37" \
24
- "\x6a\xff\xde\xf2\x6a\x01\xfd\x95\xc4\x68\xdb\x06\x62\xda\xc0\x62" \
25
- "\x3f\x27\xcc\xa8\x90\x66\x66\x86\xa7\x4c\x12\xf9\x92\x1e\x68\xd3" \
26
- "\x94\x30\xf4\x43\x85\x35\xdf\x1f\x3a\xaf\xc8\x9a\x5e\x67\x35\xa1" \
27
- "\xfc\xad\x9a\xc2\x9b\x39\x3b\x79\x30\x3a\x0e\x16\x6a\x11\xd9\xad" \
28
- "\xee\x4a\x5e\x6c\x20\x9f\x4d\x95\x3b\xe2\xa9\xaf\xd0\x43\xea\x4b" \
29
- "\xbd\xd9\xf5\xe3\xeb\xb6\xfe\x5a\xc4\x02\x3d\x29\x9d\x39\x85\xf2" \
30
- "\x4e\xac\xa8\x49\xa2\x22\x91\xa0\x9f\x1b\x4d\xd7\x21\xb6\x75\x47" \
31
- "\x06\xe9\x4f\x01\x5f\xd2\x99\x1d\xf1\x0c\x6f\xef\xd1\xbf\xb2\x43" \
32
- "\xc5\x33\x74\xb3\xc3\x8c\xfd\x80\x25\xfd\x53\xac\xc8\xf7\x91\x80" \
33
- "\x9e\xa0\x55\x7e\xf7\x14\x67\x7a\x74\x84\xfb\x49\xb4\x55\x99\xc8" \
34
- "\x28\x4a\xde\x5f\xec\x09\x56\xdd\x34\x2c\x46\x76\x3e\x82\x97\xa5" \
35
- "\xc9\xc1\xcb\x96\xa8\x34\xac\x93\x08\xf8\x6a\x64\xfd\x72\xc9\xee" \
36
- "\x3a\x71\x94\x63\x78\xc4\x5d\x28\x79\xfd\xeb\x0a\xbb\x24\x95\x2d" \
37
- "\xc0\xc9\xa7\xd6\x76\x35\x51\xd5\x2b\x28\x5e\xde\x4f\xb5\xff\xd2" \
38
- "\xbe\x12\x06\x04\xc0\xab\x5f\x76\xcb\x0f\x25\x7f\x22\x4f\xdb\xd7" \
39
- "\x0f\x1f\x73\x98\xcc\x24\x02\x27\xb5\x92\x80\x68\x3f\x75\x50\x59" \
40
- "\xbc\xe4\x2f\x2b\xcf\xbe\xce\x06\x7f\x54\x34\x45\x29\xa4\xb9\x5a" \
41
- "\xa7\x76\xe2\x12\xdd\x33\xdf\xdf\x7d\x5d\xcd\xad\xf9\x5f\xa7\x8e" \
42
- "\x76\xb2\xc2\x59\x0b\x94\xf9\xef\x11\x4a\x24\xeb\xac\xe8\x08\xad" \
43
- "\xb9\x92\xf8\xc3\xf0\x21\xcd\x6e\x36\xa0\x36\xdc\x9b\xb7\x19\x73" \
44
- "\xfe\x42\x2e\x05\x6a\xc5\x0f\x7d\x3b\x04\xdb\x5b\x33\xf2\x02\xa3" \
45
- "\x86\xe8\xa8\x20\x4d\x56\x23\x9b\x23\x53\x90\xb9\x80\xe9\x04\x3b" \
46
- "\x77\x5c\x57\x01\xc3\xd8\x40\xbb\x5d\xb5\xfa\x91\xe4\xb4\x3d\x21" \
47
- "\xa4\xe5\x8e\x1c\x9d\x67\x11\x3e\x51\xda\x7d\x2b\xd8\xfe\xfe\x32" \
48
- "\x7c\x03\x9d\x8e\x69\x07\x46\xb1\x59\x3f\xa4\xda\x40\x6f\x56\x8c" \
49
- "\x02\x77\xa6\x27\x0b\x71\xdf\x2b\xa6\xa4\x35\xac\x88\xc0\xd8\xa3" \
50
- "\x42\x2a\x00\x8d\x19\x90\x86\x27\x74\x5e\x2e\xc6\xd9\xf3\xe5\x4b" \
51
- "\x00\xfe\xe0\xb9\xa6\x03\xbf\x7b\x17\x25\x5c\x14\x32\x1e\xea\xec" \
52
- "\x20\xa6\x48\x3e\x6a\xee\x85\xb7\x3d\xad\xdd\xdd\x1c\x11\xaa\x18" \
53
- "\x65\xb6\xb1\x1d\x38\xe9\x19\xc3\x92\xd3\xda\xa6\x57\xd0\xf5\xbc" \
54
- "\x44\xf5\x58\xdf\xe9\x54\x31\xad\xc0\xcb\x17\x7a\x9b\x38\xc2\x28" \
55
- "\x38\x9c\x04\x05\xfa\x7f\x36\xbc\x06\x6b\x44\x16\x9a\x84\x44\xd4" \
56
- "\xf3\x62\x95\xd3\xa9\x49\x6e\x6e\x07\x77\x3f\xbc\x31\x34\x10\xe4" \
57
- "\x0f\xed\x0f\x37\x0d\xdb\x3f\xdd\x75\xb0\x63\x1b\xbc\x95\xeb\xaf" \
58
- "\xda\x9c\x5c\xf9\x8a\x48\x1f\xaa\xb9\x19\x64\x5e\xcb\x39\x99\x60" \
59
- "\xec\xaa\x29\x5f\x0b\xc5\x7a\xff\xb9\xf6\x59\x77\x87\xe6\x08\x13" \
60
- "\xcc\xf1\x71\xf7\xc3\x46\xfb\x7d\xa8\xc8\x17\x0f\xec\xb1\x16\x49" \
61
- "\xb9\x60\x06\x59\x2b\x38\x75\x25\xdc\x3a\xcf\x8c\x69\x1c\x6e\x30" \
62
- "\xc4\x44\x25\x94\xac\xa9\x41\xee\x9c\xed\x37\xcf\xa9\x0e\x12\x82" \
63
- "\x15\xd8\x48\x12\x7c\x0f\x4b\x46\xad\xf6\xb9\x9b\x29\x58\x4c\xb9" \
64
- "\xb4\x11\xa8\xa5\xe3\x38\xb2\x9c\x84\x37\x64\xf6\xc5\x18\x1a\x91" \
65
- "\x96\x1d\x7e\x36\xbc\x5a\xc4\xfd\x08\xd9\x47\x54\xa6\x43\x8b\xf0" \
66
- "\xf9\xd3\x0b\xef\x09\x88\xde\xca\x6d\xdd\x4f\xa0\x91\x83\xff\xb9" \
67
- "\xcf\xf0\xa3\x39\x6e\x29\xe4\x1e\x2d\x45\xa9\xad\x63\xb8\x9d\x41" \
68
- "\xf8\x92\xe4\xd4\x8c\x65\xce\x30\x10\x37\xfd\x39\x53\x73\xab\x9e" \
69
- "\x30\x04\x62\x06\x68\x35\xbc\x30\x47\x71\x35\x83\xaa\x41\x69\x91" \
70
- "\x1d\xa5\x77\xb7\xd0\xb4\xd9\x27\x58\xc6\xc7\xba\x6c\xb7\x2f\x6b" \
71
- "\xe9\x8a\xd4\x35\x30\x42\xa4\xef\x20\xb1\x1d\x2b\x3f\x60\xf5\xa0" \
72
- "\x30\x2f\xf7\x38\x6e\x17\x84\x8b\x56\x14\x12\xc7\x58\x50\xa1\x33" \
73
- "\xdc\xb7\x56\xa8\xc3\xa6\x26\x3f\x25\xf2\xe9\x74\xe6\xf7\x3b\xb4"
3
+ #define RNG_DATA \
4
+ "\x51\xdb\xd6\x46\x8b\xcb\x43\x8d\xfe\xe7\x24\x9c\x99\x2e\x41\x39" \
5
+ "\x18\x13\xcf\x9b\xa9\x94\xb8\x3b\x81\xc1\x25\xeb\xa7\xb0\xc0\x3b" \
6
+ "\x17\x17\xe2\x9b\x73\xec\xd9\x7f\x76\xc4\x4f\x63\x28\x3c\x05\xf2" \
7
+ "\x9c\x7d\x48\xaf\xae\x63\x8d\x62\x60\x31\x6e\x0c\xae\x48\x9f\x45" \
8
+ "\xd2\xc3\x8a\x5b\xe1\xd8\xd9\x23\xe4\x37\xe7\x8a\x5a\x6a\x82\x0e" \
9
+ "\xf0\x4b\x2e\x84\xf6\x02\xae\xfd\x45\x47\xcf\x3f\xb1\x2c\xb4\xfd" \
10
+ "\xae\xd7\x28\xea\x44\xf9\xb0\x7e\xd8\xa5\x90\xae\x51\xf6\x00\xc0" \
11
+ "\x62\x6b\x2a\x3f\xca\x2f\x2e\xa5\x78\xfe\xfa\xe3\x11\x99\xa0\x9b" \
12
+ "\x77\x55\x0c\xaf\x36\xc4\x8a\xd9\x72\x00\x81\x58\x34\xd4\x30\xcc" \
13
+ "\x19\x06\x93\xf9\x51\x7a\x14\x88\x1e\x44\x9e\xb0\xf6\x49\x2b\x3b" \
14
+ "\xf4\xfd\xdc\xf1\x49\xd4\x87\x71\x37\xef\x6f\x4c\x4e\x08\x7b\x1c" \
15
+ "\x57\x0d\x82\x7e\xa7\x03\xbb\x83\x70\x6c\xbf\x43\x99\xf6\x63\xae" \
16
+ "\x2f\x96\x3c\x44\xf3\x49\x22\xf7\xe6\x6d\xa6\x33\x3e\x4b\x5b\xc3" \
17
+ "\xf5\xd2\xa9\xfc\x9c\xef\x32\x04\x76\xbf\x48\xf4\xa4\xee\x63\xb7" \
18
+ "\x87\xdb\x48\xb0\xdd\xce\x68\xb0\x9e\x69\x60\x20\x63\xe6\x0e\x86" \
19
+ "\x12\xbd\x3f\x9d\x5c\x58\x01\x5a\x17\xe3\xa3\x87\x18\xbe\xb2\xbf" \
20
+ "\xcd\x8c\x12\x74\x01\x7d\xe7\xae\xd4\x2d\x91\xe7\xa8\x84\x9a\xb0" \
21
+ "\xc9\xde\x3e\x46\x6b\x66\x93\x54\xd7\x7b\xc4\xa4\x53\x10\x73\xa1" \
22
+ "\xec\x10\xe9\xa8\x7e\xe7\xb4\x27\x4f\xbb\xba\x5e\x67\x58\x0a\x33" \
23
+ "\x8e\x70\x27\x8a\x12\xf1\x9b\x60\xbb\x2d\x37\x03\x68\x67\x9c\x37" \
24
+ "\x6a\xff\xde\xf2\x6a\x01\xfd\x95\xc4\x68\xdb\x06\x62\xda\xc0\x62" \
25
+ "\x3f\x27\xcc\xa8\x90\x66\x66\x86\xa7\x4c\x12\xf9\x92\x1e\x68\xd3" \
26
+ "\x94\x30\xf4\x43\x85\x35\xdf\x1f\x3a\xaf\xc8\x9a\x5e\x67\x35\xa1" \
27
+ "\xfc\xad\x9a\xc2\x9b\x39\x3b\x79\x30\x3a\x0e\x16\x6a\x11\xd9\xad" \
28
+ "\xee\x4a\x5e\x6c\x20\x9f\x4d\x95\x3b\xe2\xa9\xaf\xd0\x43\xea\x4b" \
29
+ "\xbd\xd9\xf5\xe3\xeb\xb6\xfe\x5a\xc4\x02\x3d\x29\x9d\x39\x85\xf2" \
30
+ "\x4e\xac\xa8\x49\xa2\x22\x91\xa0\x9f\x1b\x4d\xd7\x21\xb6\x75\x47" \
31
+ "\x06\xe9\x4f\x01\x5f\xd2\x99\x1d\xf1\x0c\x6f\xef\xd1\xbf\xb2\x43" \
32
+ "\xc5\x33\x74\xb3\xc3\x8c\xfd\x80\x25\xfd\x53\xac\xc8\xf7\x91\x80" \
33
+ "\x9e\xa0\x55\x7e\xf7\x14\x67\x7a\x74\x84\xfb\x49\xb4\x55\x99\xc8" \
34
+ "\x28\x4a\xde\x5f\xec\x09\x56\xdd\x34\x2c\x46\x76\x3e\x82\x97\xa5" \
35
+ "\xc9\xc1\xcb\x96\xa8\x34\xac\x93\x08\xf8\x6a\x64\xfd\x72\xc9\xee" \
36
+ "\x3a\x71\x94\x63\x78\xc4\x5d\x28\x79\xfd\xeb\x0a\xbb\x24\x95\x2d" \
37
+ "\xc0\xc9\xa7\xd6\x76\x35\x51\xd5\x2b\x28\x5e\xde\x4f\xb5\xff\xd2" \
38
+ "\xbe\x12\x06\x04\xc0\xab\x5f\x76\xcb\x0f\x25\x7f\x22\x4f\xdb\xd7" \
39
+ "\x0f\x1f\x73\x98\xcc\x24\x02\x27\xb5\x92\x80\x68\x3f\x75\x50\x59" \
40
+ "\xbc\xe4\x2f\x2b\xcf\xbe\xce\x06\x7f\x54\x34\x45\x29\xa4\xb9\x5a" \
41
+ "\xa7\x76\xe2\x12\xdd\x33\xdf\xdf\x7d\x5d\xcd\xad\xf9\x5f\xa7\x8e" \
42
+ "\x76\xb2\xc2\x59\x0b\x94\xf9\xef\x11\x4a\x24\xeb\xac\xe8\x08\xad" \
43
+ "\xb9\x92\xf8\xc3\xf0\x21\xcd\x6e\x36\xa0\x36\xdc\x9b\xb7\x19\x73" \
44
+ "\xfe\x42\x2e\x05\x6a\xc5\x0f\x7d\x3b\x04\xdb\x5b\x33\xf2\x02\xa3" \
45
+ "\x86\xe8\xa8\x20\x4d\x56\x23\x9b\x23\x53\x90\xb9\x80\xe9\x04\x3b" \
46
+ "\x77\x5c\x57\x01\xc3\xd8\x40\xbb\x5d\xb5\xfa\x91\xe4\xb4\x3d\x21" \
47
+ "\xa4\xe5\x8e\x1c\x9d\x67\x11\x3e\x51\xda\x7d\x2b\xd8\xfe\xfe\x32" \
48
+ "\x7c\x03\x9d\x8e\x69\x07\x46\xb1\x59\x3f\xa4\xda\x40\x6f\x56\x8c" \
49
+ "\x02\x77\xa6\x27\x0b\x71\xdf\x2b\xa6\xa4\x35\xac\x88\xc0\xd8\xa3" \
50
+ "\x42\x2a\x00\x8d\x19\x90\x86\x27\x74\x5e\x2e\xc6\xd9\xf3\xe5\x4b" \
51
+ "\x00\xfe\xe0\xb9\xa6\x03\xbf\x7b\x17\x25\x5c\x14\x32\x1e\xea\xec" \
52
+ "\x20\xa6\x48\x3e\x6a\xee\x85\xb7\x3d\xad\xdd\xdd\x1c\x11\xaa\x18" \
53
+ "\x65\xb6\xb1\x1d\x38\xe9\x19\xc3\x92\xd3\xda\xa6\x57\xd0\xf5\xbc" \
54
+ "\x44\xf5\x58\xdf\xe9\x54\x31\xad\xc0\xcb\x17\x7a\x9b\x38\xc2\x28" \
55
+ "\x38\x9c\x04\x05\xfa\x7f\x36\xbc\x06\x6b\x44\x16\x9a\x84\x44\xd4" \
56
+ "\xf3\x62\x95\xd3\xa9\x49\x6e\x6e\x07\x77\x3f\xbc\x31\x34\x10\xe4" \
57
+ "\x0f\xed\x0f\x37\x0d\xdb\x3f\xdd\x75\xb0\x63\x1b\xbc\x95\xeb\xaf" \
58
+ "\xda\x9c\x5c\xf9\x8a\x48\x1f\xaa\xb9\x19\x64\x5e\xcb\x39\x99\x60" \
59
+ "\xec\xaa\x29\x5f\x0b\xc5\x7a\xff\xb9\xf6\x59\x77\x87\xe6\x08\x13" \
60
+ "\xcc\xf1\x71\xf7\xc3\x46\xfb\x7d\xa8\xc8\x17\x0f\xec\xb1\x16\x49" \
61
+ "\xb9\x60\x06\x59\x2b\x38\x75\x25\xdc\x3a\xcf\x8c\x69\x1c\x6e\x30" \
62
+ "\xc4\x44\x25\x94\xac\xa9\x41\xee\x9c\xed\x37\xcf\xa9\x0e\x12\x82" \
63
+ "\x15\xd8\x48\x12\x7c\x0f\x4b\x46\xad\xf6\xb9\x9b\x29\x58\x4c\xb9" \
64
+ "\xb4\x11\xa8\xa5\xe3\x38\xb2\x9c\x84\x37\x64\xf6\xc5\x18\x1a\x91" \
65
+ "\x96\x1d\x7e\x36\xbc\x5a\xc4\xfd\x08\xd9\x47\x54\xa6\x43\x8b\xf0" \
66
+ "\xf9\xd3\x0b\xef\x09\x88\xde\xca\x6d\xdd\x4f\xa0\x91\x83\xff\xb9" \
67
+ "\xcf\xf0\xa3\x39\x6e\x29\xe4\x1e\x2d\x45\xa9\xad\x63\xb8\x9d\x41" \
68
+ "\xf8\x92\xe4\xd4\x8c\x65\xce\x30\x10\x37\xfd\x39\x53\x73\xab\x9e" \
69
+ "\x30\x04\x62\x06\x68\x35\xbc\x30\x47\x71\x35\x83\xaa\x41\x69\x91" \
70
+ "\x1d\xa5\x77\xb7\xd0\xb4\xd9\x27\x58\xc6\xc7\xba\x6c\xb7\x2f\x6b" \
71
+ "\xe9\x8a\xd4\x35\x30\x42\xa4\xef\x20\xb1\x1d\x2b\x3f\x60\xf5\xa0" \
72
+ "\x30\x2f\xf7\x38\x6e\x17\x84\x8b\x56\x14\x12\xc7\x58\x50\xa1\x33" \
73
+ "\xdc\xb7\x56\xa8\xc3\xa6\x26\x3f\x25\xf2\xe9\x74\xe6\xf7\x3b\xb4"
@@ -0,0 +1,9 @@
1
+ {
2
+ "insert": "test",
3
+ "documents": [
4
+ {
5
+ "plainText": "sample",
6
+ "encrypted": {"$numberDecimal":"4.56000000000000"}
7
+ }
8
+ ]
9
+ }
@@ -0,0 +1,30 @@
1
+ {
2
+ "db.test": {
3
+ "escCollection": "fle2.test.esc",
4
+ "ecocCollection": "fle2.test.ecoc",
5
+ "fields": [
6
+ {
7
+ "keyId": {
8
+ "$binary": {
9
+ "base64": "EjRWeBI0mHYSNBI0VniQEg==",
10
+ "subType": "04"
11
+ }
12
+ },
13
+ "path": "encrypted",
14
+ "bsonType": "decimal",
15
+ "queries": {
16
+ "queryType": "rangePreview",
17
+ "contention": {
18
+ "$numberInt": "0"
19
+ },
20
+ "sparsity": {
21
+ "$numberInt": "1"
22
+ },
23
+ "min": {"$numberDecimal":"0"},
24
+ "max":{"$numberDecimal":"1234567890123456789"},
25
+ "precision":{"$numberInt":"2"}
26
+ }
27
+ }
28
+ ]
29
+ }
30
+ }
@@ -0,0 +1,53 @@
1
+ {
2
+ "insert": "test",
3
+ "documents": [
4
+ {
5
+ "plainText": "sample",
6
+ "encrypted": {
7
+ "$binary": {
8
+ "base64": "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",
9
+ "subType": "6"
10
+ }
11
+ }
12
+ }
13
+ ],
14
+ "encryptionInformation": {
15
+ "type": 1,
16
+ "schema": {
17
+ "db.test": {
18
+ "escCollection": "fle2.test.esc",
19
+ "ecocCollection": "fle2.test.ecoc",
20
+ "fields": [
21
+ {
22
+ "keyId": {
23
+ "$binary": {
24
+ "base64": "EjRWeBI0mHYSNBI0VniQEg==",
25
+ "subType": "04"
26
+ }
27
+ },
28
+ "path": "encrypted",
29
+ "bsonType": "decimal",
30
+ "queries": {
31
+ "queryType": "rangePreview",
32
+ "contention": {
33
+ "$numberInt": "0"
34
+ },
35
+ "sparsity": {
36
+ "$numberInt": "1"
37
+ },
38
+ "min": {
39
+ "$numberDecimal": "0"
40
+ },
41
+ "max": {
42
+ "$numberDecimal": "1234567890123456789"
43
+ },
44
+ "precision": {
45
+ "$numberInt": "2"
46
+ }
47
+ }
48
+ }
49
+ ]
50
+ }
51
+ }
52
+ }
53
+ }